序
- 这部分内容自己写也是搬运别人的,而且看完感觉不算难,这里就放上资料了。
- 阅读顺序见下:
[ 1 ] 多维高斯分布
[ 2 ] EM及高斯混合模型
[ 3 ] 代码
-
代码基本和[2]推出的结论一样,理清出维度变换就好了。
-
补充资料:
-
自己本来是先看的下面的内容,但是不少细节没看懂,果然纯粹的理论我还是差火候,只能靠上面那三个捞了我一手。
-
PRML这本书
关键代码
def GMM_EM(Y, K, times):
# 对每一维度进行缩放
Y = scale_data(Y)
# 初始化参数
mu, cov, alpha = init_params(Y.shape, K)
# 开始迭代
for i in range(times):
# r(i,k)
gamma = getExpectation(Y, mu, cov, alpha)
mu, cov, alpha = maximize(Y, gamma)
debug("{sep} Result {sep}".format(sep="-" * 20))
debug("mu:", mu, "cov:", cov, "alpha:", alpha, sep="\n")
return mu, cov, alpha