您当前的位置: 首页 >  数据挖掘

韩曙亮

暂无认证

  • 1浏览

    0关注

    1068博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

韩曙亮 发布时间:2020-05-04 17:51:57 ,浏览量:1

文章目录
        • 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 k k 个高斯模型 ( 组件 ) 线性叠加组成的 ;

② 高斯模型参数 : 每个高斯模型 都有两个参数 , 即 均值 μ i \mu_i μi​ , 方差 Σ i \Sigma_i Σi​ ;

③ 样本属于聚类分组概率 ( 系数 ) : 每个高斯模型 还有一个系数参数 , ω i \omega_i ωi​ 表示该 x x x 样本由第 i i i 个 高斯分布 ( 组件 ) 生成的概率 , 也就是 该样本被指派到某个聚类的概率 ;

④ 每个高斯模型相关参数个数 : k k k 个 高斯模型 , 每个高斯模型有 均值 μ i \mu_i μi​ , 方差 Σ i \Sigma_i Σi​ , 生成概率 ω i \omega_i ωi​ 等 3 3 3个参数 ;

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

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

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

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

高斯混合模型 评分函数 :

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

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

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

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

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

x j x_j xj​ 表示数据样本对象 , 被聚类的样本点 ;

p ( x j ) p(x_j) p(xj​) 表示高斯混合模型中 , x j x_j xj​ 生成的概率 , 也就是 x j x_j xj​ 被分为某个聚类分组的概率 ;

评分函数 ( 似然函数 ) 取值最大时 , 高斯混合模型 的参数最佳 , 使用该 高斯混合模型 , 和对应的 概率 ω i \omega_i ωi​ , 均值 μ i \mu_i μi​ , 方差 Σ i \Sigma_i Σi​ 参数 生成样本数据时 , 与真实的数据集样本 相似的概率最大 ;

III. 似然函数与参数

似然函数 与 参数 :

① 模型生成 样本 概率 : 如果模型参数非常好 , x j x_j xj​ 生成的概率 , 也就是 x j x_j xj​ 属于某个聚类分组的概率是 100 % 100\% 100% , 此时 p ( x j ) = 1 p(x_j) = 1 p(xj​)=1 ; 如果 x j x_j xj​ 属于某个聚类分组的概率是 73 % 73\% 73% , 此时 p ( x j ) = 0.73 p(x_j) = 0.73 p(xj​)=0.73

② 最佳概率 : 极限情况下 , 所有的样本属于某个聚类分组的概率都是 100 % 100\% 100% , 每个 p ( x j ) = 1 p(x_j) = 1 p(xj​)=1 , n n n 个 p ( x j ) p(x_j) p(xj​) 相乘也是 1 1 1 , 该似然函数取值为 1 1 1 是理论情况的最佳值 ;

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

IV . 生成模型法

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

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

乘积 , 其中 p ( x j ) = 1 p(x_j) = 1 p(xj​)=1 , 似然函数 计算过程 就是 n n n 个 1 1 1 相乘 , 其结果是 1 1 1 ;

但是实际结果肯定不是这样的 , 每个样本的概率 p ( x j ) p(x_j) p(xj​) 可能是 0.9 0.9 0.9 , 0.5 0.5 0.5 , 0.01 0.01 0.01 , 这样 乘起来 值就非常小了 , 参数 和 模型 的 评价结果就是这个最终的乘积越大 , 模型 和 参数 越好 ;

V . 对数似然函数

1 . 似然函数 : E = ∏ j = 1 n p ( x j ) E = \prod_{j = 1} ^ n p(x_j) E=j=1∏n​p(xj​) 是多个 p ( x j ) p(x_j) p(xj​) 相乘 , 每个 p ( x j ) p(x_j) p(xj​) 值都是小于 1 1 1 的数 , 多个小于 1 1 1 的数值相乘 , E E E 的最终计算的值非常小 , 不利于统计计算 ;

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 loga​(M×N)=loga​M+loga​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 loga​(NM​)=loga​M−loga​N

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

F = l o g E = l o g ( ∏ j = 1 n p ( x j ) ) \begin{array}{lcl} F &=& logE = log( \prod_{j = 1} ^ n p(x_j) )\\\\ \end{array} F​=logE=log(∏j=1n​p(xj​))

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

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

4 . 对数函数 最大值 :

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

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

③ 第一次迭代的参数值 : k k k 个 概率 ω i \omega_i ωi​ , 均值 μ i \mu_i μi​ , 方差 Σ i \Sigma_i Σi​ 参数 , 任意选取 , 随便给出 ;

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

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

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

1 . 参数初始值设置 :

① 初始状态 ( 第一次迭代 ) : 先给出 k k k 组参数的初始值 , 每组参数由 概率 ω i \omega_i ωi​ , 均值 μ i \mu_i μi​ , 方差 Σ i \Sigma_i Σi​ 组成 , 参数个数是 3 × k 3 \times k 3×k 个 ;

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

③ 概率 ω i \omega_i ωi​ 参数 : 指样本属于某组聚类的概率 ;

④ 均值 μ i \mu_i μi​ 参数 : 指的是某组聚类分组的样本 高斯分布 ( 正态分布 ) 的 均值参数 ;

⑤ 方差 Σ i \Sigma_i Σi​ 参数 : 指的是某组聚类分组的样本 高斯分布 ( 正态分布 ) 的 方差参数 ;

2 . 计算概率 :

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

计算的概率 : 这里需要计算每个对象 x j   ( 1 ≤ j ≤ n ) x_j \, (1 \leq j \leq n) xj​(1≤j≤n) 属于每个聚类 C i   ( 1 ≤ i ≤ k ) C_i \, (1 \leq i \leq k) Ci​(1≤i≤k) 的概率 , 需要计算 n × k n \times k n×k 次概率 ;

概率说明 : x j   ( 1 ≤ j ≤ n ) x_j \, (1 \leq j \leq n) xj​(1≤j≤n) 属于 聚类 C i   ( 1 ≤ i ≤ k ) C_i \, (1 \leq i \leq k) Ci​(1≤i≤k) 的概率 , 反过来说 , 就是 x j x_j xj​ 样本对象 由 C i C_i Ci​ 聚类分组对应的 高斯分布 生成的概率 ;

计算公式 :

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(xi​∈Ci​)=∑i=1k​ω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​=nni​​

② 均值 μ 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​=ni​1​j=1∑n​p(xj​∈Ci​)xj​

③ 方差 Σ 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​=ni​1​j=1∑n​p(xj​∈Ci​)(xj​−μi​)(xj​−μi​)T

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

关注
打赏
1663594092
查看更多评论
立即登录/注册

微信扫码登录

0.0452s