19、数据分析--EM算法

概率密度函数

​ 对于一维实随机变量X,设它的累积分布函数是FX(x)。如果存在可测函数fX(x),满足:那么X是一个连续型随机变量,并且fX(x)是它的概率密度函数。
​ 密度函数f(x)具有下列性质:
​ f(x)≥ 0 任意一点(两点围成的面积才叫概率,这里的每一点都是指从图像上的点垂直到x轴上能作垂线的点)概率密度大于等于0(概率非负)
​ J f(x) d(x)= 1 函数线与坐标轴围成的总面积为1(必然条件)
​ 概率上的点不能代表概率的大小,只能选取一个区间,区间内的面积即概率

相关数学知识

方差(variance)

​ 是对随机变量或一组数据离散程度的度量,用来度量随机变量和其数学期望(理解成均值即可,数学期望是很求得的,期望叫方差,均值叫伪方差)之间的 偏离程度。即方差是衡量数据原数据和期望/均值相差的度量值。

协方差

​ 常用于衡量两个变量的总体误差;当两个变量相同的情况下,协方差其实就是方差。 • 如果X和Y是相互独立的,那么二者之间的协方差为零。但是如果协方差为零,只能推出X和Y是不 相关的。

​ 协方差是两个随机变量具有相同方向变化趋势的度量:

​ 若Cov(X,Y) > 0, 则X和Y的变化趋势相同;

​ 若Cov(X,Y) < 0, 则X和Y的变化趋势相反;

​ 若Cov(X,Y) = 0,则X和Y不相关,也就是变化没有什么相关性

​ 对于n个随机变量X1,X2,X3…Xn, 任意两个随机变量Xi 和Xj 都可以得到一个协方差,从而形成一个n*n 的矩阵,该矩阵就叫做协方差矩阵(核心是该矩阵对角线上得到的结果就是方差的数据值),协方差矩阵为对称矩阵。

​ 对角线位置即方差

高斯分布

​ 正态分布

​ 正态分布(Normal distribution),也称“常态分布”,又名高斯分布

​ 正态分布是生活中最常见的一种分布方式,人均身高,吃饭时间等

​ 特点

​ 中心极限定理:随着样本容量n的增加,样本平均数将接近于总体

​ 平均数(期望μ),所以在统计推断中,一般都会使用样本平均数估计

​ 总体平均数的值。

极大似然估计(梳理出概率)

​ 极大似然估计(Maximum Likelihood Estimation, MLE)也称最大似然估计,是一种具有理论性 的参数估计方法。基本思想是:当从模型总体随机抽取n组样本观测值后,最合理的参数估计量应 该使得从模型中抽取该n组样本观测值的概率最大(利用已知的样本结果,最大概率导致这样结果 的参数值);一般步骤如下:

​ 1.写出似然函数;

​ 所有样本误差概率相乘

​ 2.对似然函数取对数,并整理;

​ 将公式连乘变为连接

​ 3.求导数;

​ 针对值进行求导操作

​ 4.解似然方程

​ 求出的最优解

贝叶斯公式(又称逆概公式)

​ 通过贝叶斯公式,可以通过某件事情发生条件,来预测某些条件下,发生这件事情的概率

K-means算法原理

​ K-means算法,也称为K-平均或者K-均值,是一种使用广泛的最基础的聚类算法,一般作为掌握聚 类算法的第一个算法

​ 假设输入样本为T=X1,X2,…,Xm;则算法步骤为(使用欧几里得距离公式):

​ 选择初始化的k个类别中心(质心)a1,a2,…ak;

​ 对于每个样本Xi,将其标记位距离类别中心aj最近的类别j

​ 更新每个类别的中心点aj为隶属该类别的所有样本的均值

​ 重复上面两步操作,直到达到某个中止条件

​ 终止条件

​ 迭代次数、最小平方误差MSE、簇中心点变化率

Jensen不等式(琴生不等式)

​ f(θx +(1 -θ)y)(弧线的图像)≤θf()+(1 - θ)f(y)(两点之间的连线)

​ 函数的期望”小于等于“期望的函数值

E(期望)M(极大化)算法

​ EM算法实际上是一个不停迭代(与K-means算法相似)计算的过程,根据我们事先估计的 先验概率A,得出一个结果B,再根据结果B,再计算得到结果A,然后反复直到这个过程收敛。

​ EM算法(Expectation Maximization Algorithm, 最大期望算法)是一种迭代类型的算法,是一种在 概率模型中寻找参数最大似然估计(极大似然估计)或者最大后验估计(贝叶斯)的算法,其中概率模型依赖于无法观测的隐藏 变量。

​ EM算法流程(不断循环梳理达到最接近真值):

​ 初始化分布参数

​ 针对GMM模型而言,就是均值和方差

​ 重复下列两个操作直到收敛:

​ E步骤:估计隐藏变量的概率(要先知道均值和方差,也是E步骤的前提)分布期望函数;

​ 计算概率密度,分配样本类别

​ M步骤:根据期望函数重新估计分布参数。(算法有极大化似然估计和贝叶斯公式)

​ 更新均值和方差

​ 如果是Θj+1(均值和方差)已经收敛,则算法结束,输出最终的模型参数0,否则继续迭代处理

算法原理:

​ 给定的m个训练样本{x(1),x(2),…,x(m)},样本间独立,找出样本的模型参数θ,极大化模型分布的对 数似然函数如下:

​ 假定样本数据中存在隐含数据z(簇数,有多少类)={z(1),z(2),…,z(k)},此时极大化模型分布的对数似然函数如下:

​ Z是隐随机变量,不方便直接找到参数估计。策略:计算 下界,求该下界最大值,重复该过程, 直到收敛到局部最大值。

​ 令z的分布为Q(z;θ)(隐变量) ,并且Q(z;θ)≥0;那么有如下公式:

​ 取等号时,需要x1=x2,将线段变为一个点

​ 根据Jensen不等式的特性,当下列式子的值为常数的时候,l(θ)函数才能取等号(公式得到常数才能取等号)

高斯模型创建

​ 图像上的点离x轴越远就代表越接近于均值,当一条垂线过两个高斯模型,垂线处于哪个模型的点到x轴的距离占比高就属于哪个类别的模型

​ 数据分布大多数情况是多发布添加,即一个图像上所有样本不是只用一个高斯模型,而是某段用一个高斯模型的一部分图像,另一段用另一个高斯模型的一部分图像叠加而成

算法流程

​ 样本数据x={x,x,…,x},联合分布p(x,z;θ),条件分布p(z|x;θ),最大迭代次数J

​ 1) 随机初始化模型参数θ的初始值θ0

​ 2) 开始EM算法的迭代处理:

​ E步:计算联合分布的条件概率期望

​ M步:极大化L函数,得到θj+1

​ 如果θj+1(最大值的变化范围达到极小的值的时候迭代停止)已经收敛,则算法结束,输出最终的模型参数θ,否则继续迭代处理

EM算法运用:

​ 使用MLE(最大似然估计):

​ 随机初始一个概率值:p1=0.1和p2=0.9;然后使用最大似然估计计算每轮操作中从两个盒子中抽 取的最大概率。然后计算出来的z值,重新使用极大似然估计法则估计概率值。(通过确定两个盒子各种颜色的不同的个数出现几率来计算哪个盒子是1号还是2号)

​ 使用最大似然概率法则估计z和p的值,但是在这个过程中,只使用一个最有可能的值。如果考虑所 有的z值,然后对每一组z值都估计一个概率p,那么这个时候估计出来的概率可能会更好,可以用 期望的方式来简化这个操作

GMM(高斯混合模型,一种聚类算法)

​ 用EM算法作基础

​ 通过给定的均值和方差与样本比对来计算出样本的类别归属,然后更新均值和方差再循环类别归属处理

​ GMM(Gaussian Mixture Model, 高斯混合模型)是指该算法油多个高斯模型线性叠加(y轴数值相加而不是拼接)混合而成。 每个高斯模型称之为component。GMM算法描述的是数据的本身存在的一种分布。

​ GMM算法常用于聚类应用中,component的个数就可以认为是类别的数量。

​ 假定GMM由k个Gaussian分布线性叠加而成,那么概率密度函数如下:

问题引入:

​ 随机选择1000名用户,测量用户的身高;若样本中存在男性和女性,身高分别服从高斯分布N(u1,o1)和N(u2,02)的分布,试估计参数:u1,o1,u2,o2;
​ 如果明确的知道样本的情况(即男性和女性数据是分开的),那么我们使用极大似然估计来估计这个参数值。
​ 如果样本是混合而成的,不能明确的区分开,那么就没法直接使用极大似然估计来进行参数的估计。

​ K簇数:在这里属于隐性数据

​ 隐变量:求和为1,即为概率和

你可能感兴趣的:(数据分析,算法,聚类,python,机器学习,人工智能)