Am 19.02.20 um 13:54 schrieb Davide Cittaro:
Hi all, I'm having issues in understanding functions to access level entropy in a NSBM, in particular
[state.level_entropy(x) for x in range(len(state.get_levels()))]
whose sum is equal to state.entropy(), is different from
[x.entropy() for x in state.get_levels()]
What is the difference between the two? How can I use both the informations?
The difference is that BlockState.entropy() will ignore the hierarchical structure, and will put a flat prior on the edge counts between groups. NestedBlockState.level_entropy() returns the _correct_ contribution of each level to the final description length, which accounts for the hierarchical structure. Best, Tiago -- Tiago de Paula Peixoto <tiago@skewed.de>