序
- 這部分內容自己寫也是搬運別人的,而且看完感覺不算難,這裏就放上資料了。
- 閱讀順序見下:
[ 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