
172
|
第
9
章
阵的决定因素。实际上它是可以从这个函数中获得的最大值。假如行向量远离平均值
向量,那么
p
ij
会由于之前的求幂和负分数而变得越来越小。
值得高兴的是,这与行向量在平均值中的高斯概率成比例。由于这是成比例的而不是
相等的,在最后一部分我们将其归一化到总和为
1
。
现在我们可以继续进入到最大化的步骤:
class EMClustering(object):
# __init__
# setup()
# expect
def maximize(self):
for cluster_num, cluster in enumerate(self._clusters):
weights = self._membership_weights[:, cluster_num]
weight = np.average(weights)
mean = np.average(self._data, axis=0, weights=weights)
covariance = np.cov(self._data, rowvar=False, ddof=0, aweights=weights)
self._clusters[cluster_num] = self.cluster(weight, mean, covariance)
Again here we are iterating over the clusters called @classes. We first make an array
called ...