【数据挖掘】高斯混合模型 ( 高斯混合模型参数 | 高斯混合模型评分函数 | 似然函数 | 生成模型法 | 对数似然函数 | 高斯混合模型方法步骤 )

简介: 【数据挖掘】高斯混合模型 ( 高斯混合模型参数 | 高斯混合模型评分函数 | 似然函数 | 生成模型法 | 对数似然函数 | 高斯混合模型方法步骤 )

文章目录

I . 高斯混合模型 参数简介 ( 参数 )

II . 高斯混合模型 评分函数 ( 评价参数 )

III. 似然函数与参数

IV . 生成模型法

V . 对数似然函数

VI . 高斯混合模型方法 步骤



I . 高斯混合模型 参数简介 ( 参数 )


1 . 模型 与 参数 : 高斯混合模型 概率密度函数 :



p ( x ) = ∑ i = 1 k ω i g ( x ∣ μ i , Σ i ) p(x) = \sum_{i = 1}^k \omega_i g ( x | \mu_i , \Sigma_i )

p(x)=

i=1

k


ω

i


g(x∣μ

i


i


)



模型结构已知 , 即 高斯混合模型 , 需要根据已知的数据样本 , 学习出模型的参数 ;



2 . 高斯混合模型 参数个数 :



① 聚类个数 ( 高斯模型个数 ) : 每个高斯混合模型 都由 k kk 个高斯模型 ( 组件 ) 线性叠加组成的 ;


② 高斯模型参数 : 每个高斯模型 都有两个参数 , 即 均值 μ i \mu_iμ

i


 , 方差 Σ i \Sigma_iΣ

i


 ;


③ 样本属于聚类分组概率 ( 系数 ) : 每个高斯模型 还有一个系数参数 , ω i \omega_iω

i


 表示该 x xx 样本由第 i ii 个 高斯分布 ( 组件 ) 生成的概率 , 也就是 该样本被指派到某个聚类的概率 ;


④ 每个高斯模型相关参数个数 : k kk 个 高斯模型 , 每个高斯模型有 均值 μ i \mu_iμ

i


 , 方差 Σ i \Sigma_iΣ

i


 , 生成概率 ω i \omega_iω

i


 等 3 33个参数 ;


⑤ 高斯混合模型参数个数 : 整个 高斯混合模型 有 3 × k 3 \times k3×k 个参数 , k kk 是聚类分组个数 , 也是高斯模型个数 , 正态分布个数 ;



Σ i \Sigma_iΣ

i


 此处方差表示 , 是大写的希腊字母 sigma σ \sigmaσ , 注意与加和符号 ∑ \sum∑ 区分 ;



K-Means 方法中 , 有 k kk 个参数 , 每个聚类分组 , 只有一个参数 , 即中心点样本参数 ;




II . 高斯混合模型 评分函数 ( 评价参数 )


高斯混合模型 评分函数 :



评价参数 : 为 高斯混合模型 学习训练出的 参数 , 需要 评分函数 来 对参数进行评价 , 评分函数取值 最大 时 , 该 参数是最优参数 ;


似然函数 : 高斯混合模型 中 , 采用似然函数 , 作为评分函数 ;



E = ∏ j = 1 n p ( x j ) E = \prod_{j = 1} ^ n p(x_j)

E=

j=1

n


p(x

j


)



∏ \prod∏ 是多个乘积 , 与 ∑ \sum∑ 多个加和性质类似 ;


n nn 表示数据集中样本个数 ;


x j x_jx

j


 表示数据样本对象 , 被聚类的样本点 ;


p ( x j ) p(x_j)p(x

j


) 表示高斯混合模型中 , x j x_jx

j


 生成的概率 , 也就是 x j x_jx

j


 被分为某个聚类分组的概率 ;



评分函数 ( 似然函数 ) 取值最大时 , 高斯混合模型 的参数最佳 , 使用该 高斯混合模型 , 和对应的 概率 ω i \omega_iω

i


 , 均值 μ i \mu_iμ

i


 , 方差 Σ i \Sigma_iΣ

i


 参数 生成样本数据时 , 与真实的数据集样本 相似的概率最大 ;




III. 似然函数与参数


似然函数 与 参数 :



① 模型生成 样本 概率 : 如果模型参数非常好 , x j x_jx

j


 生成的概率 , 也就是 x j x_jx

j


 属于某个聚类分组的概率是 100 % 100\%100% , 此时 p ( x j ) = 1 p(x_j) = 1p(x

j


)=1 ; 如果 x j x_jx

j


 属于某个聚类分组的概率是 73 % 73\%73% , 此时 p ( x j ) = 0.73 p(x_j) = 0.73p(x

j


)=0.73


② 最佳概率 : 极限情况下 , 所有的样本属于某个聚类分组的概率都是 100 % 100\%100% , 每个 p ( x j ) = 1 p(x_j) = 1p(x

j


)=1 , n nn 个 p ( x j ) p(x_j)p(x

j


) 相乘也是 1 11 , 该似然函数取值为 1 11 是理论情况的最佳值 ;


③ 最大似然 : 该似然函数的本质是将每个对象属于某聚类分组的概率相乘 , E EE 越接近于 1 11 , 参数效果越好 , 此时的 E EE 称为最大似然 ;




IV . 生成模型法


生成模型法 : 先不看真实数据 , 先用 模型 ( 参数已经训练好 ) 生成数据 , 希望这个模型生成的数据 , 与真实数据是完全相同的 , 如果生成的数据 , 与真实的数据 , 全部完全相同 , 那么分析似然函数的


E = ∏ j = 1 n p ( x j ) E = \prod_{j = 1} ^ n p(x_j)

E=

j=1

n


p(x

j


)


乘积 , 其中 p ( x j ) = 1 p(x_j) = 1p(x

j


)=1 , 似然函数 计算过程 就是 n nn 个 1 11 相乘 , 其结果是 1 11 ;



但是实际结果肯定不是这样的 , 每个样本的概率 p ( x j ) p(x_j)p(x

j


) 可能是 0.9 0.90.9 , 0.5 0.50.5 , 0.01 0.010.01 , 这样 乘起来 值就非常小了 , 参数 和 模型 的 评价结果就是这个最终的乘积越大 , 模型 和 参数 越好 ;




V . 对数似然函数


1 . 似然函数 :

E = ∏ j = 1 n p ( x j ) E = \prod_{j = 1} ^ n p(x_j)

E=

j=1

n


p(x

j


)

是多个 p ( x j ) p(x_j)p(x

j


) 相乘 , 每个 p ( x j ) p(x_j)p(x

j


) 值都是小于 1 11 的数 , 多个小于 1 11 的数值相乘 , E EE 的最终计算的值非常小 , 不利于统计计算 ;




2 . 对数运算法则 :



① 两个正数之积的对数 , 等于两个正数对数之和 ;


l o g a ( M × N ) = l o g a M + l o g a N log_a ( M \times N ) = log_a M + log_a N

log

a


(M×N)=log

a


M+log

a


N



② 两个正数相除的对数 , 等于两个正数对数相减 ;


l o g a ( M N ) = l o g a M − l o g a N log_a ( \frac{M}{N}) = log_a M- log_a N

log

a


(

N

M


)=log

a


M−log

a


N




3 . 对数似然函数 : 对上述似然函数取对数 , 就可以将 成绩 ∏ \prod∏ 变成 求和 ∑ \sum∑ 形式 ;



F = l o g E = l o g ( ∏ j = 1 n p ( x j ) )

F


 

=

 

logE=log(∏

j=1

n


p(x

j


))


F = ∑ j = 1 n l o g p ( x j ) F = \sum_{j=1}^n logp(x_j)

F=

j=1

n


logp(x

j


)


该函数就是对数似然函数 ;



4 . 对数函数 最大值 :



① 无法使用导数 : 对数函数是求和的操作 , 因此该函数无法使用导数方式求最大值 ;


② 迭代求最大值 : 采用逐次迭代 , 的方式求最大值 , 与 K-Means 方法类似 ;


③ 第一次迭代的参数值 : k kk 个 概率 ω i \omega_iω

i


 , 均值 μ i \mu_iμ

i


 , 方差 Σ i \Sigma_iΣ

i


 参数 , 任意选取 , 随便给出 ;


④ 逐次迭代 : 每次迭代 , 逐步优化这些参数值 , 使 对数似然函数 取值越来越大 ;


⑤ 最佳参数 : 当 对数似然函数 取最大值时 , 此时的参数就是最优参数 ;




VI . 高斯混合模型方法 步骤


1 . 参数初始值设置 :



① 初始状态 ( 第一次迭代 ) : 先给出 k kk 组参数的初始值 , 每组参数由 概率 ω i \omega_iω

i


 , 均值 μ i \mu_iμ

i


 , 方差 Σ i \Sigma_iΣ

i


 组成 , 参数个数是 3 × k 3 \times k3×k 个 ;


② 聚类分组个数 : k kk 指的是聚类分组的个数 ;


③ 概率 ω i \omega_iω

i


 参数 : 指样本属于某组聚类的概率 ;


④ 均值 μ i \mu_iμ

i


 参数 : 指的是某组聚类分组的样本 高斯分布 ( 正态分布 ) 的 均值参数 ;


⑤ 方差 Σ i \Sigma_iΣ

i


 参数 : 指的是某组聚类分组的样本 高斯分布 ( 正态分布 ) 的 方差参数 ;




2 . 计算概率 :



数据集和分组情况 : 数据集有 n nn 个对象 , 将这 n nn 个对象分成 k kk 个聚类分组 ;


计算的概率 : 这里需要计算每个对象 x j   ( 1 ≤ j ≤ n ) x_j \, (1 \leq j \leq n)x

j


(1≤j≤n) 属于每个聚类 C i   ( 1 ≤ i ≤ k ) C_i \, (1 \leq i \leq k)C

i


(1≤i≤k) 的概率 , 需要计算 n × k n \times kn×k 次概率 ;


概率说明 : x j   ( 1 ≤ j ≤ n ) x_j \, (1 \leq j \leq n)x

j


(1≤j≤n) 属于 聚类 C i   ( 1 ≤ i ≤ k ) C_i \, (1 \leq i \leq k)C

i


(1≤i≤k) 的概率 , 反过来说 , 就是 x j x_jx

j


 样本对象 由 C i C_iC

i


 聚类分组对应的 高斯分布 生成的概率 ;


计算公式 :



p ( x i ∈ C i ) = ω i g ( x ∣ μ i , Σ i ) ∑ i = 1 k   ω i g ( 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(x

i


∈C

i


)=

i=1

k


ω

i


g(x∣μ

i


i


)

ω

i


g(x∣μ

i


i


)




如果本次迭代是第一次迭代 , 那么上述式子中的参数采用 初始参数设置的值 ;


如果本次迭代不是第一次迭代 , 那么采用上一次迭代得到的参数 值 ;




3 . 计算参数值 : 计算 概率 ω i \omega_iω

i


 , 均值 μ i \mu_iμ

i


 , 方差 Σ i \Sigma_iΣ

i


 参数 ;



① 概率 ω i \omega_iω

i


 参数计算公式 : 指样本属于某组聚类的概率 ;



ω i = n i n \omega_i = \frac{n_i}{n}

ω

i


=

n

n

i





② 均值 μ i \mu_iμ

i


 参数计算公式 : 指的是某组聚类分组的样本 高斯分布 ( 正态分布 ) 的 均值参数 ;



μ i = 1 n i ∑ j = 1 n p ( x j ∈ C i ) x j \mu_i = \frac{1}{n_i} \sum_{j=1} ^n p(x_j \in C_i) x_j

μ

i


=

n

i


1


 

j=1

n


p(x

j


∈C

i


)x

j




③ 方差 Σ i \Sigma_iΣ

i


 参数计算公式 : 指的是某组聚类分组的样本 高斯分布 ( 正态分布 ) 的 方差参数 ;



μ i = 1 n i ∑ j = 1 n p ( x j ∈ C i )   ( x j − μ i ) ( x j − μ 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


=

n

i


1


 

j=1

n


p(x

j


∈C

i


)(x

j


−μ

i


)(x

j


−μ

i


)

T





迭代执行 2 , 3 操作 , 直到评分函数达到最大值 ;


目录
相关文章
|
8月前
|
机器学习/深度学习 数据挖掘 Python
【数据挖掘】分类器模型性能评估讲解及iris数据集评估实战(超详细 附源码)
【数据挖掘】分类器模型性能评估讲解及iris数据集评估实战(超详细 附源码)
207 0
|
人工智能 算法 数据挖掘
数据挖掘(3.1)--频繁项集挖掘方法
关联规则挖掘是数据挖掘领域中研究最为广泛的也最为活跃的方法之一 关联规则反应了一个事物和其他事物之间的相互依存性和关联性 如果存在一定的关联关系,其中一个事物就可以通过其他事物预测到 最小支持度:就是说当支持度达到一定的阈值后,某种数据才有被挖掘的潜力这个阈值就是最小支持度计数(min_sup)。
194 0
|
8月前
|
编解码 算法 数据挖掘
【数据挖掘】聚类趋势估计、簇数确定、质量测定等评估方法详解(图文解释 超详细)
【数据挖掘】聚类趋势估计、簇数确定、质量测定等评估方法详解(图文解释 超详细)
230 0
|
5月前
|
存储 机器学习/深度学习 缓存
【数据挖掘】XGBoost面试题:与GBDT的区别?为什么使用泰勒二阶展开?为什么可以并行训练?为什么快?防止过拟合的方法?如何处理缺失值?
XGBoost与GBDT的区别、XGBoost使用泰勒二阶展开的原因、并行训练的原理、速度优势、防止过拟合的策略以及处理缺失值的方法,突出了XGBoost在提升模型性能和训练效率方面的一系列优化。
228 1
|
5月前
|
机器学习/深度学习 数据挖掘 Python
【数据挖掘】生成模型和判别模型的区别及优缺点
文章讨论了生成模型和判别模型在数据挖掘中的区别、原理、优缺点,并提供了一些常见的模型示例。
66 0
|
8月前
|
算法 数据挖掘 数据库
【数据挖掘】频繁项集挖掘方法中Apriori、FP-Growth算法详解(图文解释 超详细)
【数据挖掘】频繁项集挖掘方法中Apriori、FP-Growth算法详解(图文解释 超详细)
873 0
|
8月前
|
移动开发 算法 数据可视化
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
|
8月前
|
算法 数据挖掘 数据库
R语言主成分PCA、决策树、boost预警模型在跨区域犯罪研究数据挖掘分析|数据分享
R语言主成分PCA、决策树、boost预警模型在跨区域犯罪研究数据挖掘分析|数据分享
|
8月前
|
数据可视化 数据挖掘
数据分享|R语言IMDb TOP250电影特征数据挖掘可视化分析受众偏好、排名、投票、评分(下)
数据分享|R语言IMDb TOP250电影特征数据挖掘可视化分析受众偏好、排名、投票、评分
|
8月前
|
数据可视化 算法 数据挖掘
数据分享|R语言IMDb TOP250电影特征数据挖掘可视化分析受众偏好、排名、投票、评分(上)
数据分享|R语言IMDb TOP250电影特征数据挖掘可视化分析受众偏好、排名、投票、评分