1.背景知识:
(1)Jensen不等式:若f是凸函数
基本Jensen不等式:
f
(
θ
x
+
(
1
−
θ
)
y
)
≤
θ
f
(
x
)
+
(
1
−
θ
)
f
(
y
)
f(\theta x+(1-\theta) y) \leq \theta f(x)+(1-\theta) f(y)
f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)
几何理解,函数值小于割线值。
若
θ
1
,
…
,
θ
k
≥
0
,
θ
1
+
⋯
+
θ
k
=
1
\theta_{1}, \ldots, \theta_{k} \geq 0, \theta_{1}+\cdots+\theta_{k}=1
θ1,…,θk≥0,θ1+⋯+θk=1,则有:
f
(
θ
1
x
1
+
⋯
+
θ
k
x
k
)
≤
θ
1
f
(
x
1
)
+
⋯
+
θ
k
f
(
x
k
)
f\left(\theta_{1} x_{1}+\cdots+\theta_{k} x_{k}\right) \leq \theta_{1} f\left(x_{1}\right)+\cdots+\theta_{k} f\left(x_{k}\right)
f(θ1x1+⋯+θkxk)≤θ1f(x1)+⋯+θkf(xk)
概率意义上理解:X是随机变量,P是随机变量取值的概率
X
x
1
x
2
⋯
x
k
P
θ
1
θ
2
⋯
θ
k
\begin{array}{c|ccccc} X & x_{1} & x_{2} & \cdots & x_{k} & \\ \hline P & \theta_{1} & \theta_{2} & \cdots & \theta_{k} & \end{array}
XPx1θ1x2θ2⋯⋯xkθk
Jessen不等式可以理解为:
f
(
E
x
)
≤
E
f
(
x
)
f(\mathbf{E} x) \leq \mathbf{E} f(x)
f(Ex)≤Ef(x)
若
p
(
x
)
≥
0
p(x) \geq 0
p(x)≥0 on
S
⊆
dom
f
,
∫
S
p
(
x
)
d
x
=
1
S \subseteq \operatorname{dom} f, \int_{S} p(x) d x=1
S⊆domf,∫Sp(x)dx=1,则有:
f
(
∫
S
p
(
x
)
x
d
x
)
≤
∫
S
f
(
x
)
p
(
x
)
d
x
f\left(\int_{S} p(x) x d x\right) \leq \int_{S} f(x) p(x) d x
f(∫Sp(x)xdx)≤∫Sf(x)p(x)dx
(2)K-means算法:
K-Means算法,也被称为k-平均或k-均值,是一种广泛使用的聚类算法,
或者称为其他聚类算法的基础。
假定输入样本为
S
=
x
1
,
x
2
,
…
,
x
m
\mathrm{S}=\mathrm{x}_{1}, \mathrm{x}_{2}, \ldots, \mathrm{x}_{\mathrm{m}}
S=x1,x2,…,xm,则算法步骤为:
(i)选择初始的k个簇中心
μ
1
μ
2
…
μ
k
\mu_{1} \mu_{2} \ldots \mu_{\mathrm{k}}
μ1μ2…μk;
(ii)将样本
x
i
x_i
xi标记为距离簇中心最近的簇:
l
a
b
e
l
i
=
arg
min
1
≤
j
≤
k
∥
x
i
−
μ
j
∥
label _{i}=\underset{1 \leq j \leq k}{\arg \min }\left\|x_{i}-\mu_{j}\right\|
labeli=1≤j≤kargmin∥xi−μj∥
(iii)更新簇中心:
μ
j
=
1
∣
c
j
∣
∑
i
∈
c
j
x
i
\mu_{j}=\frac{1}{\left|c_{j}\right|} \sum_{i \in c_{j}} x_{i}
μj=∣cj∣1∑i∈cjxi
(iv)重复最后两步,直到满足终止条件。
终止条件:迭代次数/簇中心变化率/最小平方误差MSE。
经典的K-means聚类算法,能够非常方便的将未标记的样本分成若干簇,
但无法给出某个样本属于该簇的后验概率。
(3)极大似然估计
找出于样本的分布最接近的概率分布模型
(i)二项分布的最大似然估计
投硬币试验中,进行N次独立试验,n次朝上,N-n次朝下。
假定朝上的概率为p,使用对数似然函数作为目标函数:
f
(
n
∣
p
)
=
log
(
p
n
(
1
−
p
)
N
−
n
)
⟶
Δ
h
(
p
)
f(n | p)=\log \left(p^{n}(1-p)^{N-n}\right) \stackrel{\Delta}{\longrightarrow} h(p)
f(n∣p)=log(pn(1−p)N−n)⟶Δh(p)
∂
h
(
p
)
∂
p
=
n
p
−
N
−
n
1
−
p
⟶
Δ
⇒
p
=
n
N
\frac{\partial h(p)}{\partial p}=\frac{n}{p}-\frac{N-n}{1-p} \stackrel{\Delta}{\longrightarrow} \Rightarrow p=\frac{n}{N}
∂p∂h(p)=pn−1−pN−n⟶Δ⇒p=Nn
(ii)进一步考察高斯分布
若给定一组样本
x
1
,
x
2
…
x
n
\mathrm{x}_{1}, \mathrm{x}_{2} \ldots \mathrm{x}_{\mathrm{n}}
x1,x2…xn,已知它们来自于高斯分布
N
(
μ
,
σ
)
\mathrm{N}(\mu, \sigma)
N(μ,σ),
试估计参数
μ
,
σ
\mu, \sigma
μ,σ。
高斯分布的概率密度函数:
f
(
x
)
=
1
2
π
σ
e
−
(
x
−
μ
)
2
2
σ
2
f(x)=\frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{(x-\mu)^{2}}{2 \sigma^{2}}}
f(x)=2πσ1e−2σ2(x−μ)2
将
X
i
X_i
Xi的样本值
x
i
x_i
xi带入,得到:
L
(
x
)
=
∏
i
=
1
n
1
2
π
σ
e
−
(
x
i
−
μ
)
2
2
σ
2
L(x)=\prod_{i=1}^{n} \frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{\left(x_{i}-\mu\right)^{2}}{2 \sigma^{2}}}
L(x)=i=1∏n2πσ1e−2σ2(xi−μ)2
化简对数似然函数:
l
(
x
)
=
log
∏
1
2
π
σ
e
−
(
x
i
−
μ
)
2
2
σ
2
=
∑
i
log
1
2
π
σ
e
−
(
x
i
−
μ
)
2
2
σ
2
=
(
∑
i
log
1
2
π
σ
)
+
(
∑
i
−
(
x
i
−
μ
)
2
2
σ
2
)
=
−
n
2
log
(
2
π
σ
2
)
−
1
2
σ
2
∑
i
(
x
i
−
μ
)
2
\begin{array}{l} l(x)=\log \prod \frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{\left(x_{i}-\mu\right)^{2}}{2 \sigma^{2}}} \\ =\sum_{i} \log \frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{\left(x_{i}-\mu\right)^{2}}{2 \sigma^{2}}} \\ =\left(\sum_{i} \log \frac{1}{\sqrt{2 \pi} \sigma}\right)+\left(\sum_{i}-\frac{\left(x_{i}-\mu\right)^{2}}{2 \sigma^{2}}\right) \\ =-\frac{n}{2} \log \left(2 \pi \sigma^{2}\right)-\frac{1}{2 \sigma^{2}} \sum_{i}\left(x_{i}-\mu\right)^{2} \end{array}
l(x)=log∏2πσ1e−2σ2(xi−μ)2=∑ilog2πσ1e−2σ2(xi−μ)2=(∑ilog2πσ1)+(∑i−2σ2(xi−μ)2)=−2nlog(2πσ2)−2σ21∑i(xi−μ)2
参数估计的结论:
目标函数:
l
(
x
)
=
−
n
2
log
(
2
π
σ
2
)
−
1
2
σ
2
∑
i
(
x
i
−
μ
)
2
l(x)=-\frac{n}{2} \log \left(2 \pi \sigma^{2}\right)-\frac{1}{2 \sigma^{2}} \sum_{i}\left(x_{i}-\mu\right)^{2}
l(x)=−2nlog(2πσ2)−2σ21i∑(xi−μ)2
将目标函数对参数
μ
,
σ
\mu, \sigma
μ,σ分别求偏导,很容易得到
μ
,
σ
\mu, \sigma
μ,σ的式子:
{
μ
=
1
n
∑
i
x
i
σ
2
=
1
n
∑
i
(
x
i
−
μ
)
2
\left\{\begin{array}{l} \mu=\frac{1}{n} \sum_{i} x_{i} \\ \sigma^{2}=\frac{1}{n} \sum_{i}\left(x_{i}-\mu\right)^{2} \end{array}\right.
{μ=n1∑ixiσ2=n1∑i(xi−μ)2
上述结论矩估计的结果式一致的,表示样本的均值就是高斯分布的均值,样本的伪方差即高斯分布的方差。
2.直观理解GMM参数估计:
随机变量X是由K个高斯分布混合而成,取各个高斯分布的概率为
π
1
π
2
…
π
K
\pi_{1} \pi_{2} \dots \pi_{K}
π1π2…πK,第i个高斯分布均值为
μ
i
\mu_i
μi,方差为
∑
i
\sum_{i}
∑i。若观测到随机变量X的一系列样本
x
1
,
x
2
,
…
,
x
n
\mathrm{x}_{1}, \mathrm{x}_{2}, \ldots, \mathrm{x}_{\mathrm{n}}
x1,x2,…,xn,试估计参数
π
,
μ
,
∑
\pi,\mu,\sum
π,μ,∑。
(1)目标函数
对数似然函数
l
π
,
μ
,
Σ
(
x
)
=
∑
i
=
1
N
log
(
∑
k
=
1
K
π
k
N
(
x
i
∣
μ
k
,
Σ
k
)
)
l_{\pi, \mu, \Sigma}(x)=\sum_{i=1}^{N} \log \left(\sum_{k=1}^{K} \pi_{k} N\left(x_{i} | \mu_{k}, \Sigma_{k}\right)\right)
lπ,μ,Σ(x)=i=1∑Nlog(k=1∑KπkN(xi∣μk,Σk))
由于再对数函数里面又有加权和,无法直接用求导方程的方法直接求得
最大值。为了解决这个问题,我们分两部解决。
(2)估算数据来自哪个组分
估计数据由每个组份生成的概率:对于每个样本
x
i
x_i
xi,
它由第k个组份生成的概率为:
γ
(
i
,
k
)
=
π
k
N
(
x
i
∣
μ
k
,
Σ
k
)
∑
j
=
1
K
π
j
N
(
x
i
∣
μ
j
,
Σ
j
)
\gamma(i, k)=\frac{\pi_{k} N\left(x_{i} | \mu_{k}, \Sigma_{k}\right)}{\sum_{j=1}^{K} \pi_{j} N\left(x_{i} | \mu_{j}, \Sigma_{j}\right)}
γ(i,k)=∑j=1KπjN(xi∣μj,Σj)πkN(xi∣μk,Σk)
上式中的
μ
\mu
μ和
∑
\sum
∑也是待估计的值,再计算
γ
(
i
,
k
)
\gamma(\mathrm{i}, \mathrm{k})
γ(i,k)时假定
μ
\mu
μ和
∑
\sum
∑是已知,
需要先验给定
μ
\mu
μ和
∑
\sum
∑,
γ
(
i
,
k
)
\gamma(\mathrm{i}, \mathrm{k})
γ(i,k)可以看作组份K在生成数据
x
i
x_i
xi时所作的贡献。
(3)估计每个组份
对于所有的样本点,对于组份k而言,可看作生成了
{
γ
(
i
,
k
)
x
i
∣
i
=
1
,
2
,
⋯
N
}
\left\{\gamma(i, k) x_{i} | i=1,2, \cdots N\right\}
{γ(i,k)xi∣i=1,2,⋯N}这些点,组份k是个标准的高斯分布,利用上面这些结论。
{
N
k
=
∑
i
=
1
N
γ
(
i
,
k
)
μ
k
=
1
N
k
∑
i
=
1
N
γ
(
i
,
k
)
x
i
Σ
k
=
1
N
k
∑
i
=
1
N
γ
(
i
,
k
)
(
x
i
−
μ
k
)
(
x
i
−
μ
k
)
T
π
k
=
N
k
N
=
1
N
∑
i
=
1
N
γ
(
i
,
k
)
\left\{\begin{array}{l} N_{k}=\sum_{i=1}^{N} \gamma(i, k) \\ \mu_{k}=\frac{1}{N_{k}} \sum_{i=1}^{N} \gamma(i, k) x_{i} \\ \Sigma_{k}=\frac{1}{N_{k}} \sum_{i=1}^{N} \gamma(i, k)\left(x_{i}-\mu_{k}\right)\left(x_{i}-\mu_{k}\right)^{T} \\ \pi_{k}=\frac{N_{k}}{N}=\frac{1}{N} \sum_{i=1}^{N} \gamma(i, k) \end{array}\right.
⎩⎪⎪⎪⎨⎪⎪⎪⎧Nk=∑i=1Nγ(i,k)μk=Nk1∑i=1Nγ(i,k)xiΣk=Nk1∑i=1Nγ(i,k)(xi−μk)(xi−μk)Tπk=NNk=N1∑i=1Nγ(i,k)
EM算法(1)
最新推荐文章于 2024-10-25 21:26:56 发布