Mutual information between two clusterings $A$ and $B$ can be calculated as:
$$MI(A,B)=H(A)+H(B)-H(A,B)$$
In the 10th page of this paper it is stated that $MI(A,B)$ can vary in the range $[0,\min\{H(A),H(B)\}]$ (I'm not sure why, though). Therefore, to take the mutual information to the normalized range of $[0,1]$, it should be divided by one of the following upper bounds:
$$\min\{H(A),H(B)\}\leq \sqrt{H(A)H(B)} \leq \frac{H(A)+H(B)}{2} \leq\max\{H(A),H(B)\}$$
I've seen in sklearn
's implementation that the third one is used, while for example in R's package aricode
the default is the fourth one. I personally think that the only one that makes sense is the first one, as it is the actual maximum value $MI(A,B)$ can return.
Which one should be chosen? Why isn't the first bound used everytime if it is the actual maximum value of $MI(A,B)$ according to that paper?