Clustering algorithms using stochastic analysis and ensemble techniques.
kl_div(probs)
Given an array of probability distributions, returns a matrix of Kullback-Liebler divergences between the distributions.
The input probs
has the form of a column-stochastic matrix: that is,
that is, np.sum(probs,axis=1) == 1
.
The output is a square matrix D
with length and width
probs.shape[0]
, so that D[i,j]
is the KL divergence of probs[i]
over probs[j]
.
Mathematically, if probs[i,j]
is given by the matrix \(T_{i,j}\), then
D[i,j]
is given by \(D_{i,j}\):