【数据挖掘】高斯混合模型 ( 高斯混合模型参数 | 高斯混合模型评分函数 | 似然函数 | 生成模型法 | 对数似然函数 | 高斯混合模型方法步骤 )
文章目录
- I . 高斯混合模型 参数简介 ( 参数 )
- II . 高斯混合模型 评分函数 ( 评价参数 )
- III. 似然函数与参数
- IV . 生成模型法
- V . 对数似然函数
- VI . 高斯混合模型方法 步骤
I . 高斯混合模型 参数简介 ( 参数 )
1 . 模型 与 参数 : 高斯混合模型 概率密度函数 :
p(x)=∑i=1kωig(x∣μi,Σi)p(x) = \sum_{i = 1}^k \omega_i g ( x | \mu_i , \Sigma_i )p(x)=i=1∑kωig(x∣μi,Σi)
模型结构已知 , 即 高斯混合模型 , 需要根据已知的数据样本 , 学习出模型的参数 ;
2 . 高斯混合模型 参数个数 :
① 聚类个数 ( 高斯模型个数 ) : 每个高斯混合模型 都由 kkk 个高斯模型 ( 组件 ) 线性叠加组成的 ;
② 高斯模型参数 : 每个高斯模型 都有两个参数 , 即 均值 μi\mu_iμi , 方差 Σi\Sigma_iΣi ;
③ 样本属于聚类分组概率 ( 系数 ) : 每个高斯模型 还有一个系数参数 , ωi\omega_iωi 表示该 xxx 样本由第 iii 个 高斯分布 ( 组件 ) 生成的概率 , 也就是 该样本被指派到某个聚类的概率 ;
④ 每个高斯模型相关参数个数 : kkk 个 高斯模型 , 每个高斯模型有 均值 μi\mu_iμi , 方差 Σi\Sigma_iΣi , 生成概率 ωi\omega_iωi 等 333个参数 ;
⑤ 高斯混合模型参数个数 : 整个 高斯混合模型 有 3×k3 \times k3×k 个参数 , kkk 是聚类分组个数 , 也是高斯模型个数 , 正态分布个数 ;
Σi\Sigma_iΣi 此处方差表示 , 是大写的希腊字母 sigma σ\sigmaσ , 注意与加和符号 ∑\sum∑ 区分 ;
K-Means 方法中 , 有 kkk 个参数 , 每个聚类分组 , 只有一个参数 , 即中心点样本参数 ;
II . 高斯混合模型 评分函数 ( 评价参数 )
高斯混合模型 评分函数 :
评价参数 : 为 高斯混合模型 学习训练出的 参数 , 需要 评分函数 来 对参数进行评价 , 评分函数取值 最大 时 , 该 参数是最优参数 ;
似然函数 : 高斯混合模型 中 , 采用似然函数 , 作为评分函数 ;
E=∏j=1np(xj)E = \prod_{j = 1} ^ n p(x_j)E=j=1∏np(xj)
∏\prod∏ 是多个乘积 , 与 ∑\sum∑ 多个加和性质类似 ;
nnn 表示数据集中样本个数 ;
xjx_jxj 表示数据样本对象 , 被聚类的样本点 ;
p(xj)p(x_j)p(xj) 表示高斯混合模型中 , xjx_jxj 生成的概率 , 也就是 xjx_jxj 被分为某个聚类分组的概率 ;
评分函数 ( 似然函数 ) 取值最大时 , 高斯混合模型 的参数最佳 , 使用该 高斯混合模型 , 和对应的 概率 ωi\omega_iωi , 均值 μi\mu_iμi , 方差 Σi\Sigma_iΣi 参数 生成样本数据时 , 与真实的数据集样本 相似的概率最大 ;
III. 似然函数与参数
似然函数 与 参数 :
① 模型生成 样本 概率 : 如果模型参数非常好 , xjx_jxj 生成的概率 , 也就是 xjx_jxj 属于某个聚类分组的概率是 100%100\%100% , 此时 p(xj)=1p(x_j) = 1p(xj)=1 ; 如果 xjx_jxj 属于某个聚类分组的概率是 73%73\%73% , 此时 p(xj)=0.73p(x_j) = 0.73p(xj)=0.73
② 最佳概率 : 极限情况下 , 所有的样本属于某个聚类分组的概率都是 100%100\%100% , 每个 p(xj)=1p(x_j) = 1p(xj)=1 , nnn 个 p(xj)p(x_j)p(xj) 相乘也是 111 , 该似然函数取值为 111 是理论情况的最佳值 ;
③ 最大似然 : 该似然函数的本质是将每个对象属于某聚类分组的概率相乘 , EEE 越接近于 111 , 参数效果越好 , 此时的 EEE 称为最大似然 ;
IV . 生成模型法
生成模型法 : 先不看真实数据 , 先用 模型 ( 参数已经训练好 ) 生成数据 , 希望这个模型生成的数据 , 与真实数据是完全相同的 , 如果生成的数据 , 与真实的数据 , 全部完全相同 , 那么分析似然函数的
E=∏j=1np(xj)E = \prod_{j = 1} ^ n p(x_j)E=j=1∏np(xj)
乘积 , 其中 p(xj)=1p(x_j) = 1p(xj)=1 , 似然函数 计算过程 就是 nnn 个 111 相乘 , 其结果是 111 ;
但是实际结果肯定不是这样的 , 每个样本的概率 p(xj)p(x_j)p(xj) 可能是 0.90.90.9 , 0.50.50.5 , 0.010.010.01 , 这样 乘起来 值就非常小了 , 参数 和 模型 的 评价结果就是这个最终的乘积越大 , 模型 和 参数 越好 ;
V . 对数似然函数
1 . 似然函数 : E=∏j=1np(xj)E = \prod_{j = 1} ^ n p(x_j)E=j=1∏np(xj) 是多个 p(xj)p(x_j)p(xj) 相乘 , 每个 p(xj)p(x_j)p(xj) 值都是小于 111 的数 , 多个小于 111 的数值相乘 , EEE 的最终计算的值非常小 , 不利于统计计算 ;
2 . 对数运算法则 :
① 两个正数之积的对数 , 等于两个正数对数之和 ;
loga(M×N)=logaM+logaNlog_a ( M \times N ) = log_a M + log_a Nloga(M×N)=logaM+logaN
② 两个正数相除的对数 , 等于两个正数对数相减 ;
loga(MN)=logaM−logaNlog_a ( \frac{M}{N}) = log_a M- log_a Nloga(NM)=logaM−logaN
3 . 对数似然函数 : 对上述似然函数取对数 , 就可以将 成绩 ∏\prod∏ 变成 求和 ∑\sum∑ 形式 ;
F=logE=log(∏j=1np(xj))\begin{array}{lcl} F &=& logE = log( \prod_{j = 1} ^ n p(x_j) )\\\\ \end{array}F=logE=log(∏j=1np(xj))
F=∑j=1nlogp(xj)F = \sum_{j=1}^n logp(x_j)F=j=1∑nlogp(xj)
该函数就是对数似然函数 ;
4 . 对数函数 最大值 :
① 无法使用导数 : 对数函数是求和的操作 , 因此该函数无法使用导数方式求最大值 ;
② 迭代求最大值 : 采用逐次迭代 , 的方式求最大值 , 与 K-Means 方法类似 ;
③ 第一次迭代的参数值 : kkk 个 概率 ωi\omega_iωi , 均值 μi\mu_iμi , 方差 Σi\Sigma_iΣi 参数 , 任意选取 , 随便给出 ;
④ 逐次迭代 : 每次迭代 , 逐步优化这些参数值 , 使 对数似然函数 取值越来越大 ;
⑤ 最佳参数 : 当 对数似然函数 取最大值时 , 此时的参数就是最优参数 ;
VI . 高斯混合模型方法 步骤
1 . 参数初始值设置 :
① 初始状态 ( 第一次迭代 ) : 先给出 kkk 组参数的初始值 , 每组参数由 概率 ωi\omega_iωi , 均值 μi\mu_iμi , 方差 Σi\Sigma_iΣi 组成 , 参数个数是 3×k3 \times k3×k 个 ;
② 聚类分组个数 : kkk 指的是聚类分组的个数 ;
③ 概率 ωi\omega_iωi 参数 : 指样本属于某组聚类的概率 ;
④ 均值 μi\mu_iμi 参数 : 指的是某组聚类分组的样本 高斯分布 ( 正态分布 ) 的 均值参数 ;
⑤ 方差 Σi\Sigma_iΣi 参数 : 指的是某组聚类分组的样本 高斯分布 ( 正态分布 ) 的 方差参数 ;
2 . 计算概率 :
数据集和分组情况 : 数据集有 nnn 个对象 , 将这 nnn 个对象分成 kkk 个聚类分组 ;
计算的概率 : 这里需要计算每个对象 xj(1≤j≤n)x_j \, (1 \leq j \leq n)xj(1≤j≤n) 属于每个聚类 Ci(1≤i≤k)C_i \, (1 \leq i \leq k)Ci(1≤i≤k) 的概率 , 需要计算 n×kn \times kn×k 次概率 ;
概率说明 : xj(1≤j≤n)x_j \, (1 \leq j \leq n)xj(1≤j≤n) 属于 聚类 Ci(1≤i≤k)C_i \, (1 \leq i \leq k)Ci(1≤i≤k) 的概率 , 反过来说 , 就是 xjx_jxj 样本对象 由 CiC_iCi 聚类分组对应的 高斯分布 生成的概率 ;
计算公式 :
p(xi∈Ci)=ωig(x∣μi,Σi)∑i=1kωig(x∣μi,Σi)p(x_i \in C_i) = \dfrac{\omega_i g ( x | \mu_i , \Sigma_i )}{ \sum_{i=1}^{k} \, \omega_i g ( x | \mu_i , \Sigma_i ) }p(xi∈Ci)=∑i=1kωig(x∣μi,Σi)ωig(x∣μi,Σi)
如果本次迭代是第一次迭代 , 那么上述式子中的参数采用 初始参数设置的值 ;
如果本次迭代不是第一次迭代 , 那么采用上一次迭代得到的参数 值 ;
3 . 计算参数值 : 计算 概率 ωi\omega_iωi , 均值 μi\mu_iμi , 方差 Σi\Sigma_iΣi 参数 ;
① 概率 ωi\omega_iωi 参数计算公式 : 指样本属于某组聚类的概率 ;
ωi=nin\omega_i = \frac{n_i}{n}ωi=nni
② 均值 μi\mu_iμi 参数计算公式 : 指的是某组聚类分组的样本 高斯分布 ( 正态分布 ) 的 均值参数 ;
μi=1ni∑j=1np(xj∈Ci)xj\mu_i = \frac{1}{n_i} \sum_{j=1} ^n p(x_j \in C_i) x_jμi=ni1j=1∑np(xj∈Ci)xj
③ 方差 Σi\Sigma_iΣi 参数计算公式 : 指的是某组聚类分组的样本 高斯分布 ( 正态分布 ) 的 方差参数 ;
μi=1ni∑j=1np(xj∈Ci)(xj−μi)(xj−μi)T\mu_i = \frac{1}{n_i} \sum_{j=1} ^n p(x_j \in C_i) \,( x_j - \mu_i ) ( x_j - \mu_i ) ^Tμi=ni1j=1∑np(xj∈Ci)(xj−μi)(xj−μi)T
迭代执行 2 , 3 操作 , 直到评分函数达到最大值 ;
【数据挖掘】高斯混合模型 ( 高斯混合模型参数 | 高斯混合模型评分函数 | 似然函数 | 生成模型法 | 对数似然函数 | 高斯混合模型方法步骤 )相关推荐
- bigru参数计算_[数据挖掘]华中科技大学 李黎 周达明:基于CNN-BiGRU模型的操作票自动化校验方法...
原标题:[数据挖掘]华中科技大学 李黎 周达明:基于CNN-BiGRU模型的操作票自动化校验方法 智能变电站操作票校验是保障站内操作准确无误的重要环节,当前基于经验的人工校验方法主观性强,校验效率较低 ...
- 【数据挖掘】数据挖掘算法 组件化思想 ( 模型或模式结构 | 数据挖掘任务 | 评分函数 | 搜索和优化算法 | 数据管理策略 )
文章目录 一. 数据挖掘算法组件化 二. 组件一 : 模型或模式结构 三. 组件二 : 数据挖掘任务 四. 组件三 : 评分函数 五. 组件四 : 搜索和优化算法 六. 组件五 : 数据管理策略 七. ...
- 混合高斯模型_EM算法求解高斯混合模型(GMM)
单维的高斯模型: 求解一维的高斯模型参数时,我们可以使用最大似然法,其对数似然函数的表达式(log-likelyhood)如下: 对均值和方差求偏导可以求的高斯分布中的 在混合高斯模型中, 记 其对数 ...
- 高斯滤波GaussianBlur()中参数详解
高斯滤波GaussianBlur()中参数详解: 高斯滤波是应用于图像处理,对图像进行滤波操作(平滑操作.过滤操作,去噪操作) 在python中的格式为: cv2.GaussianBlur( SRC, ...
- opencv进阶-背景建模-(帧差法与混合高斯模型)
背景减除(Background Subtraction)是许多基于计算机视觉的任务中的主要预处理步骤.如果我们有完整的静止的背景帧,那么我们可以通过帧差法来计算像素差从而获取到前景对象.但是在大多数情 ...
- 【opencv】(11) 背景建模,帧差法、混合高斯模型,实战:行人检测,附python完整代码和数据集
各位同学好,今天和大家分享一下opencv背景建模相关操作.主要介绍两种背景建模方法,帧差法和混合高斯模型. 案例简介:现有一份路口摄像机拍摄的行人流视频,通过背景建模方法,区分背景和前景,完成行人识 ...
- 生成模型学习笔记:从高斯判别分析到朴素贝叶斯
机器之心专栏 作者:张威 翻译:燕子石 本文是哥伦比亚大学研究生张威在生成模型上的学习笔记,由毕业于新西兰奥克兰理工大学的燕子石翻译.机器之心之前曾介绍过张威所写的吴恩达<机器学习>课程的 ...
- OpenCV学习笔记(十一)——图像噪声的生成(椒盐噪声、高斯噪声)
目录 1 椒盐噪声 2 高斯噪声 图像在获取和传输过程种会受到随机信号的干扰从而产生噪声,例如电阻引起的热噪声.光子噪声.暗电流噪声以及光响应非均匀性噪声等,由于噪声会影响对图像的理解以及后续的处理工 ...
- 机器学习番外篇—朴素贝叶斯三种模型(多项式,高斯,伯努利)
朴素贝叶斯三种模型(多项式,高斯,伯努利) 高斯 有些特征可能是连续型变量,比如说人的身高,物体的长度,这些特征可以转换成离散型的值,比如如果身高在160cm以下,特征值为1:在160cm和170cm ...
最新文章
- 服务器返回的信息无效或无法识别的响应,c# - 服务器从Visual Studio返回了无效或无法识别的响应错误 - 堆栈内存溢出...
- Random Forests
- C++ Primer 5th笔记(chap 18 大型程序工具)noexcept
- Mac下Ruby升级与Rails的安装
- C#中主窗体Panel中加载其他多个窗体Panel控件
- 小李飞刀:用python刷题ing....
- React开发(128):ant design学习指南之input中addonBefore
- java 查询windows进程_Oracle查询语句,你知道几个?(下)
- 刘晓攀:连滚带爬看完《你的知识需要管理》
- 2022美国大学生数学建模竞赛C题思路
- [笔记]WBS方法论
- 用Bluemix虚拟机搭建自己的博客系统
- MIMO天线市场深度研究分析报告
- 2020牛客暑期多校训练营(第九场)F.Groundhog Looking Dowdy
- ROS2探索(五)intra-process的内部原理
- 【营销获客三】信贷细分客群研究——小微企业主
- ALC655 VS PCI128D
- insmod: error inserting 'vivi.ko': -1 Unknown symbol in module 问题解决办法
- 从C#到Python——谈谈我学习Python一周来的体会
- steam 好友网络无法访问解决方法
热门文章
- 一文说清丨科学认识幽门螺旋杆菌
- PeckShield宣布与dForce达成全球战略合作,为其USDx合约提供安全审计服务
- opencv harris 角点检测
- 五原县扬帆志愿者协会开展“春节慰问送温暖,年味渐浓情更深”新春慰问活动
- DELPHI美化界面
- Docker存储卷(V18.X)
- Edge浏览器主页锁定360解决方法
- 怎么用计算机打出错误,win7打印机共享怎么设置|win7打印机共享出现0x000006d9错误的解决方法...
- 标准员报考建筑八大员报考建筑标准员施工现场标准化管理的思路
- 音频知识点(3)- Speex 简介