mix_kde.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:poi 作者: jchluo 项目源码 文件源码
def _em(X, eps=0.001):
    """ EM algorithm, find weight.
    X : numpy two dim ndarray.
    return: weights
    usage:
     >>> X = np.array([[1, 2], [2, 4], [3, 1]])
     >>> print em(X)
     [ 0.33586597  0.66413403]
    """
    N, K = X.shape
    # init 
    W = X.sum(axis=0) / float(X.sum())
    # solve
    while True:
        W0 = W
        # E step
        Y = np.tile(W, (N, 1)) * X 
        Q = Y / np.tile(Y.sum(axis=1), (K, 1)).T
        # M step
        W = Q.sum(axis=0) / N
        # termination ?
        if np.fabs(W - W0).sum() < eps:
            break
    return W
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号