標籤(空格分隔): 機器學習
(最近被一波波的筆試+面試淹沒了,但是在有兩次面試時被問到了同乙個問題:k-means演算法的收斂性。在網上查閱了很多資料,並沒有看到很清晰的解釋,所以希望可以從k-means與em演算法的關係,以及em演算法本身的收斂性證明中找到蛛絲馬跡,下次不要再掉坑啊。。)l(
θ)=∑
mi=1
logp
(x;θ
)=∑m
i=1l
og∑z
p(x,
z;θ)
通過em演算法來找到似然函式的極大值,思路如下:
希望找到最好的引數
θ ,能夠使最大似然目標函式取最大值。但是直接計算 l(
θ)=∑
mi=1
log∑
zp(x
,z;θ
) 比較困難,所以我們希望能夠找到乙個不帶隱變數
z 的函式γ(
x|θ)
≤l(x
,z;θ
)恆成立,並用γ(
x|θ)
逼近目標函式。
如下圖所示:
對於紅線位置的引數
θ : 令q
i 是
z 的乙個分布,qi
≥0,則:l(θ
)=∑m
i=1l
og∑z
(i)p
(x(i
),z(
i);θ
) =∑
mi=1
log∑
z(i)
qi(z
(i))
p(x(
i),z
(i);
θ)qi
(z(i
)) ≥
∑mi=
1∑z(
i)qi
(z(i
))lo
gp(x
(i),
z(i)
;θ)q
i(z(
i))
(對於log函式的jensen不等式)
盡量使≥
取等號,相當於找到乙個最逼近的下界:也就是jensen不等式中,f(
x1)+
f(x2
)2≥f
(x1+
x22)
,當且僅當x1
=x2 時等號成立(很關鍵)。
對於em的目標來說:應該使得lo
g 函式的自變數恒為常數,即: p(
x(i)
,z(i
);θ)
qi(z
(i))
=c也就是分子的聯合概率與分母的z的分布應該成正比,而由於
q 是z的乙個分布,所以應該保證∑z
qi(z
(i))
=1故q
=pp對
z的歸一
化因子
qi(z(i)
)=p(
x(i)
,z(i
);θ)
∑zp(
x(i)
,z(i
);θ)
=p(x(i)
,z(i
);θ)
p(x(
i);θ
)=p(
z(i)
|x(i
);θ)
由上面的推導,可以得出em的框架:
回到最初的思路,尋找乙個最好的
γ 函式來逼近目標函式,然後找
γ 函式的最大值來更新引數
θ :
* e-step: 根據當前的引數
θ 找到乙個最優的函式
γ 能夠在當前位置最好的逼近目標函式;
* m-step: 對於當前找到的
γ 函式,求函式取最大值時的引數
θ 的值。
通過上面的分析,我們可以知道,在em框架下,求得的引數
θ 一定是收斂的,能夠找到似然函式的最大值。那麼k-means是如何來保證收斂的呢?
假設使用平方誤差作為目標函式: j(
μ1,μ
2,..
.,μk
)=12
∑kj=
1∑ni
=1(x
i−μj
)2固定引數μk
, 將每個資料點分配到距離它本身最近的乙個簇類中: γn
k={1
,0,if k=
argm
inj|
|xn−
μj||
2otherwise
固定資料點的分配,更新引數(中心點)μk
: μk
=∑nγ
nkxn
∑nγn
k 所以,答案有了吧。為啥k-means會收斂呢?目標是使損失函式最小,在e-step時,找到乙個最逼近目標的函式
γ ;在m-step時,固定函式
γ ,更新均值
μ (找到當前函式下的最好的值)。所以一定會收斂了~
迭代演算法的收斂性
迭代 演算法必須 收斂,所 產生的極 小化序列 xk具有 這樣的性 質 或者 序列中的 某一點就 是極小點 x 或 者序列收 斂於極小 點x 即滿足迭 代演算法必 須收斂,所產生的 極小化序 列xk具 有這樣的 性質 或 者序列中 的某一點 就是極小 點x 或者序列 收斂於極 小點x 即滿足 容易證...
k means和EM演算法的Matlab實現
說明 2.matlab 3.非職業碼農,質量不高,變數命名也不規範,湊合著看吧,不好意思 既然是特例,就有不適用的地方。本文構造出如圖1所示的通用gmm資料,並分別用k means 結果見圖2和3 和em聚類 結果見圖4 可以看到k means演算法的侷限性和gmm em演算法的優勢。dim 100...
關於瑕點型反常積分的收斂性判別
微積分 積分上下限確定的積分,在上下限範圍內存在著暇點,此時應該怎麼做比較容易分析出積分是否收斂是個很有意思的問題。不加證明的總結乙個有效的解決思路 假設在 a,b 上,f a 趨向於無窮大。則積分 b af x dx 是否收斂。方法是 判定 limx a f x x a 是 否存在,其中 0,1 ...