用python求期望_Python——EM(期望极大算法)教学(附详细代码与注解)

今天,我们详细的讲一下EM算法。

前提准备

Jupyter notebook 或 Pycharm

火狐浏览器或谷歌浏览器

win7或win10电脑一台

网盘提取csv数据

需求分析

实现高斯混合模型的 EM 算法(GMM_EM)

高斯混合模型是多个高斯模型的线性叠加而成的,高斯混合模型的概率分布表示如下:

其中,k表示模型的个数,αkα_kαk​ 是第 k 个模型的系数,表示出现该模型的概率,ϕ(x;μk,Σk) 是第 k 个高斯模型的概率分布。

E步:样本 xix_ixi​来自于第 k 个模型的概率,我们把这个概率称为模型 k 对样本 xix_ixi​ 的“责任”,也叫“响应度”,记作 γ(ik)γ_(ik)γ(​ik),计算公式如下:

M步:根据样本和当前 γ 矩阵重新估计参数,注意这里 x 为列向量,计算公式如下:

【目标】给定一堆没有标签的样本和模型个数 K,以此求得混合模型的参数,然后就可以用这个模型来对样本进行聚类。

python代码如下:

import numpy as np

import matplotlib.pyplot as plt

from scipy.stats import multivariate_normal #本问题考虑的是高斯混合模型,所以导入多元高斯分布multivariate_normal

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值