-
大小: 2KB文件類型: .py金幣: 1下載: 0 次發(fā)布日期: 2021-06-16
- 語言: Python
- 標(biāo)簽:
資源簡介
對統(tǒng)計學(xué)習(xí)方法EM算法進(jìn)行了python實現(xiàn),并針對簡單數(shù)據(jù)的高斯混合模型進(jìn)行EM算法的參數(shù)估計,感興趣的同學(xué)可以一起交流。
代碼片段和文件信息
from?numpy?import*
‘‘‘
E步:依據(jù)當(dāng)前模型參數(shù),計算分模型k對觀測數(shù)據(jù)Yj的響應(yīng)度
alphamiusigma:?高斯混合模型參數(shù)
NK:觀測數(shù)據(jù)個數(shù)及分模型個數(shù)
yValue:?觀測數(shù)據(jù)
‘‘‘
def?eStep(yValueNKalphamiusigma):
????gama=zeros((NK))
????for?j?in?range(N):
????????Denom=0.0
????????Numer=mat(zeros((1K)))
????????for?k?in?range(K):
????????????Numer[:k]=(alpha[k]*exp((-(yValue[j]-miu[k])**2)
?????????????????????????????????????/(2*sigma[k]**2))/(2.506628*sigma[k]))#算分子
????????????Denom?+=?Numer[:k]#算分母
????????gama[j?:]?=?Numer[::]?/?Denom
????return?gama
‘‘‘
M步:計算新一輪迭代的模型參數(shù)
alphamiusigma:?高斯混合模型參數(shù)
NK:觀測數(shù)據(jù)個數(shù)及分模型個數(shù)
yValue:?觀測數(shù)據(jù)gama:E步計算結(jié)果
‘‘‘
def?mStep(yValuegamaNKalphamiusigma):
????for?k?in?range(K):
????????sum1?sum2?sum3=?0.0?0.0?0.0
????????Numer2=zeros((N1))
????????sum1?=?sum(multiply(gama[:k]yValue[:]))
????????sum2?=?sum(gama[:k])
????????miu[k][0]?=?sum1/sum2#更新miu
????????alpha
- 上一篇:簡單的python購物車程序
- 下一篇:knn 字符識別 python
評論
共有 條評論