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

2023-03-27 19:55:22 浏览数 (1)

文章目录
  • I . 高斯混合模型 参数简介 ( 参数 )
  • II . 高斯混合模型 评分函数 ( 评价参数 )
  • III. 似然函数与参数
  • IV . 生成模型法
  • V . 对数似然函数
  • VI . 高斯混合模型方法 步骤

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

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

p(x) = sum_{i = 1}^k omega_i g ( x | mu_i , Sigma_i )

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

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

① 聚类个数 ( 高斯模型个数 ) : 每个高斯混合模型 都由

k

个高斯模型 ( 组件 ) 线性叠加组成的 ;

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

mu_i

, 方差

Sigma_i

;

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

omega_i

表示该

x

样本由第

i

个 高斯分布 ( 组件 ) 生成的概率 , 也就是 该样本被指派到某个聚类的概率 ;

④ 每个高斯模型相关参数个数 :

k

个 高斯模型 , 每个高斯模型有 均值

mu_i

, 方差

Sigma_i

, 生成概率

omega_i

3

个参数 ;

⑤ 高斯混合模型参数个数 : 整个 高斯混合模型 有

3 times k

个参数 ,

k

是聚类分组个数 , 也是高斯模型个数 , 正态分布个数 ;

Sigma_i

此处方差表示 , 是大写的希腊字母 sigma

sigma

, 注意与加和符号

sum

区分 ;

K-Means 方法中 , 有

k

个参数 , 每个聚类分组 , 只有一个参数 , 即中心点样本参数 ;

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

高斯混合模型 评分函数 :

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

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

E = prod_{j = 1} ^ n p(x_j)
prod

是多个乘积 , 与

sum

多个加和性质类似 ;

n

表示数据集中样本个数 ;

x_j

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

p(x_j)

表示高斯混合模型中 ,

x_j

生成的概率 , 也就是

x_j

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

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

omega_i

, 均值

mu_i

, 方差

Sigma_i

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

III. 似然函数与参数

似然函数 与 参数 :

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

x_j

生成的概率 , 也就是

x_j

属于某个聚类分组的概率是

100%

, 此时

p(x_j) = 1

; 如果

x_j

属于某个聚类分组的概率是

73%

, 此时

p(x_j) = 0.73

② 最佳概率 : 极限情况下 , 所有的样本属于某个聚类分组的概率都是

100%

, 每个

p(x_j) = 1

,

n

p(x_j)

相乘也是

1

, 该似然函数取值为

1

是理论情况的最佳值 ;

③ 最大似然 : 该似然函数的本质是将每个对象属于某聚类分组的概率相乘 ,

E

越接近于

1

, 参数效果越好 , 此时的

E

称为最大似然 ;

IV . 生成模型法

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

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

乘积 , 其中

p(x_j) = 1

, 似然函数 计算过程 就是

n

1

相乘 , 其结果是

1

;

但是实际结果肯定不是这样的 , 每个样本的概率

p(x_j)

可能是

0.9

,

0.5

,

0.01

, 这样 乘起来 值就非常小了 , 参数 和 模型 的 评价结果就是这个最终的乘积越大 , 模型 和 参数 越好 ;

V . 对数似然函数

1 . 似然函数 :

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

是多个

p(x_j)

相乘 , 每个

p(x_j)

值都是小于

1

的数 , 多个小于

1

的数值相乘 ,

E

的最终计算的值非常小 , 不利于统计计算 ;

2 . 对数运算法则 :

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

log_a ( M times N ) = log_a M log_a N

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

log_a ( frac{M}{N}) = log_a M- log_a N

3 . 对数似然函数 : 对上述似然函数取对数 , 就可以将 成绩

prod

变成 求和

sum

形式 ;

begin{array}{lcl} F &=& logE = log( prod_{j = 1} ^ n p(x_j) )\\ end{array}
F = sum_{j=1}^n logp(x_j)

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

4 . 对数函数 最大值 :

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

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

③ 第一次迭代的参数值 :

k

个 概率

omega_i

, 均值

mu_i

, 方差

Sigma_i

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

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

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

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

1 . 参数初始值设置 :

① 初始状态 ( 第一次迭代 ) : 先给出

k

组参数的初始值 , 每组参数由 概率

omega_i

, 均值

mu_i

, 方差

Sigma_i

组成 , 参数个数是

3 times k

个 ;

② 聚类分组个数 :

k

指的是聚类分组的个数 ;

③ 概率

omega_i

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

④ 均值

mu_i

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

⑤ 方差

Sigma_i

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

2 . 计算概率 :

数据集和分组情况 : 数据集有

n

个对象 , 将这

n

个对象分成

k

个聚类分组 ;

计算的概率 : 这里需要计算每个对象

x_j , (1 leq j leq n)

属于每个聚类

C_i , (1 leq i leq k)

的概率 , 需要计算

n times k

次概率 ;

概率说明 :

x_j , (1 leq j leq n)

属于 聚类

C_i , (1 leq i leq k)

的概率 , 反过来说 , 就是

x_j

样本对象 由

C_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 ) }

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

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

3 . 计算参数值 : 计算 概率

omega_i

, 均值

mu_i

, 方差

Sigma_i

参数 ;

① 概率

omega_i

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

omega_i = frac{n_i}{n}

② 均值

mu_i

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

mu_i = frac{1}{n_i} sum_{j=1} ^n p(x_j in C_i) x_j

③ 方差

Sigma_i

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

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

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

0 人点赞