无监督学习的简单统一
一、聚類與EM算法?? ?
1、以聚類為例講清楚EM
首先將EM算法應(yīng)用于概率模型。
EM算法是概率模型中尋找參數(shù)最大似然估計(jì)或者最大后驗(yàn)估計(jì)的算法,其中概率模型依賴于無法觀測(cè)的隱性變量
-- 假設(shè)聚類模型的輸出y=f(θ,z,x)
? ?-- θ是模型參數(shù),決定x的分布
? ?-- x是輸入數(shù)據(jù),是可觀察變量
? ?-- z是隱含變量,即是類簇中心
那E步就是計(jì)算隱變量的期望:
-- 假設(shè)一個(gè)初始的模型參數(shù)θ0,代入模型中,表示出初始的z
? ?-- 通俗一點(diǎn)說就是假設(shè)出θ然后估計(jì)出初始的類簇中心
? ?-- 比如聚類的邏輯就是開始假設(shè)k個(gè)聚類中心,計(jì)算每個(gè)點(diǎn)離這k個(gè)聚類中心的距離,把每個(gè)點(diǎn)歸類到最近的k個(gè)聚類中心,然后更新之前k個(gè)中心的位置
M步就是通過不斷迭代更新、讓隱變量期望最大化:
-- 根據(jù)估計(jì)出來的z,代入模型中,通過最大化對(duì)數(shù)似然估計(jì)函數(shù),得到θ1
J次迭代
-- 迭代的終止條件就是看θ有沒有收斂,也即是θj 和θj+1有沒有變化
?? ??? ?
公式角度理解EM
?? ??? ??? ?
二、高斯混合模型?? ?
1、高斯混合模型的假設(shè)?? ?
-- 高斯混合模型假設(shè)每個(gè)簇的數(shù)據(jù)都是符合高斯分布(又叫正態(tài)分布)的
-- 當(dāng)前數(shù)據(jù)呈現(xiàn)的分布就是各個(gè)簇的高斯分布疊加在一起的結(jié)果。
2、高斯混合模型的核心思想?? ?
高斯混合模型的核心思想是,假設(shè)數(shù)據(jù)可以看作從多個(gè)高斯分布中生成出來的
-- 在該假設(shè)下,每個(gè)單獨(dú)的分模型都是標(biāo)準(zhǔn)高斯模型,其均值μi和方差Σi是待估計(jì)的參數(shù)
-- 此外,每個(gè)分模型都還有一個(gè)參數(shù)πi,可以理解為權(quán)重或生成數(shù)據(jù)的概率。
3、高斯混合模型的數(shù)據(jù)生成過程通俗解釋
可以這樣理解數(shù)據(jù)的生成過程,假設(shè)一個(gè) 最簡(jiǎn)單的情況,即只有兩個(gè)一維標(biāo)準(zhǔn)高斯分布的分模型N(0,1)和N(5,1),其權(quán)重分 別為0.7和0.3
-- 在生成第一個(gè)數(shù)據(jù)點(diǎn)時(shí),先按照權(quán)重的比例,隨機(jī)選擇一個(gè)分布
? ?-- 比如選擇第一個(gè)高斯分布,接著從N(0,1)中生成一個(gè)點(diǎn),如?0.5,便是第一個(gè)數(shù)據(jù)點(diǎn)
-- 在生成第二個(gè)數(shù)據(jù)點(diǎn)時(shí),隨機(jī)選擇到第二個(gè)高斯分布N(5,1),生成了第二個(gè)點(diǎn)4.7
-- 如此循環(huán)執(zhí)行,便生成出了所有的數(shù)據(jù)點(diǎn)。
4、高斯混合模型求解方法
直接通過最大似然估計(jì)來求解三個(gè)參數(shù)會(huì)出現(xiàn)的問題
-- K不是參數(shù),K類似于K均值聚類中的K,表示類別數(shù)
-- 此問題中直接使用最大似然估計(jì),得到的是一個(gè)復(fù)雜的非凸函數(shù),目標(biāo)函數(shù)是和的對(duì)數(shù),難以展開和對(duì)其求偏導(dǎo)
-- 可以用上一節(jié)已經(jīng)介紹過的EM算法框架來求解該優(yōu)化問題
? ?-- EM算法是在最大化目標(biāo)函數(shù)時(shí),先固定一個(gè)變量使整體函數(shù)變?yōu)橥箖?yōu)化函數(shù)(即是先隨機(jī)初始化輸入變量,然后求得隱變量期望,然后再不斷迭代是隱變量期望最大化),求導(dǎo)得到最值
? ?-- 然后利用最優(yōu)參數(shù)更新被固定的變量,進(jìn)入下一個(gè)循環(huán)。
5、通俗解釋高斯算法的聚類原理
也即是求出K個(gè)高斯模型,這一組高斯模型能將樣本劃為K類后,每個(gè)高斯模型都能很好的解釋每一簇的樣本分布規(guī)律
6、從原理上解釋高斯算法的聚類原理
我們并不知道最佳的K個(gè)高斯分布的各自3個(gè)參數(shù),也不知道每個(gè)數(shù)據(jù)點(diǎn)究竟是哪個(gè)高斯分布生成的。所以每次循環(huán)時(shí),先固定當(dāng)前的高斯分布不變,獲得每個(gè)數(shù)據(jù)點(diǎn)由各個(gè)高斯分布生成的概率。然后固定該生成概率不變,根據(jù)數(shù)據(jù)點(diǎn)和生成概率,獲得一個(gè)組更佳的高斯分布。循環(huán)往復(fù),直到參數(shù)不再變化,或者變化非常小時(shí),便得到了比較合理的一組高斯分布。? ? ?
7、高斯混合模型相比K均值算法的相同點(diǎn)和優(yōu)點(diǎn)
1)、相同點(diǎn):
-- 都是可用于聚類的算法;
-- 都需要指定K值;
-- 都是使用EM算法來求解;
-- 都往往只能收斂于局部最優(yōu)
2)、優(yōu)點(diǎn):
-- 可以給出一個(gè)樣本屬于某類的概率是多少
-- 不僅僅可以用于聚類,還可以用于概率密度的估計(jì)
-- 并且可以用于生成新的樣本點(diǎn)。?? ?
三、自組織映射神經(jīng)網(wǎng)絡(luò)?? ?
自組織映射神經(jīng)網(wǎng)絡(luò),也即是SOM(Self-organizing feature Map),是一類無監(jiān)督學(xué)習(xí)模型,一般的用法是將高維的input數(shù)據(jù)在低維的空間進(jìn)行表示,因此SOM天然是一種降維方法。
? ? -- 降維的方式是,以獲勝神經(jīng)元為中心設(shè)定一個(gè)鄰域半徑R,該半徑圈定的范圍稱為優(yōu)勝鄰域。在SOM網(wǎng)學(xué)習(xí)算法中,優(yōu)勝鄰域內(nèi)的所有神經(jīng)元均按其離開獲勝神經(jīng)元的距離遠(yuǎn)近不同程度地調(diào)整權(quán)值。 優(yōu)勝鄰域開始定得很大,但其大小隨著訓(xùn)練次數(shù)的增加不斷收縮,最終收縮到半徑為零(即是降維)。?? ?
除了降維,SOM還可以用于數(shù)據(jù)可視化,以及聚類等應(yīng)用中。
1、SOM本質(zhì)上只有兩層,即輸入層和輸出層(競(jìng)爭(zhēng)層)
在輸出層中,同層的神經(jīng)網(wǎng)絡(luò)之間建立側(cè)向連接,并可以通過權(quán)值的學(xué)習(xí)形成特定的模式。如一維線陣,二維平面和三維柵格陣等。具體節(jié)點(diǎn)排列為哪種模式,還需要根據(jù)之際需要去判斷,比如,對(duì)于旅行路徑類的問題,二維平面比較直觀;對(duì)于一般的分類問題,一個(gè)輸出節(jié)點(diǎn)即能代表一個(gè)模式類,用一維線陣就比較好。
2、競(jìng)爭(zhēng)學(xué)習(xí)的步驟為:
(1)向量歸一化?
(2)尋找獲勝神經(jīng)元?
(3)網(wǎng)絡(luò)輸出與權(quán)值調(diào)整?
步驟(3)完成后回到步驟1繼續(xù)訓(xùn)練,直到學(xué)習(xí)率衰減到0,學(xué)習(xí)率處于(0,1],一般隨著學(xué)習(xí)的進(jìn)展而減小,即調(diào)整的程度越來越小,神經(jīng)元(權(quán)重)趨于聚類中心。
3、如何尋找獲勝神經(jīng)元?? ?
對(duì)于輸入的向量,將其與競(jìng)爭(zhēng)層(輸出層)中的神經(jīng)元對(duì)應(yīng)的權(quán)重向量進(jìn)行相似性比較,最相似的就是獲勝神經(jīng)元
-- 即是比較輸入向量和每個(gè)輸出神經(jīng)元的相似性,最相似的就是獲勝神經(jīng)元
-- 其實(shí)相似程度這不就是損失函數(shù)嘛!!!
4、權(quán)重初始化
一般有以下兩種方法:
1)、一種簡(jiǎn)單易行的方法是從訓(xùn)練集中隨機(jī)抽取m個(gè)輸入樣本作為初始權(quán)值
? ? -- 因?yàn)橛?xùn)練集已經(jīng)歸一化了
2)、另一種可行的辦法是先計(jì)算出全體樣本的中心向量,在該中心向量基礎(chǔ)上迭加小隨機(jī)數(shù)作為權(quán)向量初始值,也可將權(quán)向量的初始位置確定在樣本群中(找離中心近的點(diǎn))。
5、權(quán)值調(diào)整域(優(yōu)勝領(lǐng)域)?? ?
SOM網(wǎng)的獲勝神經(jīng)元對(duì)其鄰近神經(jīng)元的影響是由近及遠(yuǎn),由興奮逐漸轉(zhuǎn)變?yōu)橐种?#xff0c;因此其學(xué)習(xí)算法中不僅獲勝神經(jīng)元本身要調(diào)整權(quán)向量,它周圍的神經(jīng)元在其影響下也要程度不同地調(diào)整權(quán)向量。
這種調(diào)整可用三種函數(shù)表示:?? ?
1)、墨西哥草帽函數(shù):獲勝節(jié)點(diǎn)有最大的權(quán)值調(diào)整量,臨近的節(jié)點(diǎn)有稍小的調(diào)整量,離獲勝節(jié)點(diǎn)距離越大,權(quán)值調(diào)整量越小,直到某一距離0d時(shí),權(quán)值調(diào)整量為零;當(dāng)距離再遠(yuǎn)一些時(shí),權(quán)值調(diào)整量稍負(fù),更遠(yuǎn)又回到零。如(b)所示
2)、大禮帽函數(shù):它是墨西哥草帽函數(shù)的一種簡(jiǎn)化,如(c)所示。
3)、廚師帽函數(shù):它是大禮帽函數(shù)的一種簡(jiǎn)化,如(d)所示。?? ?
6、SOM Kohonen算法?? ?
基本思想是獲勝神經(jīng)元對(duì)其鄰近神經(jīng)元的影響是由近及遠(yuǎn),對(duì)附近神經(jīng)元產(chǎn)生興奮影響逐漸變?yōu)橐种啤T赟OM中,不僅獲勝神經(jīng)元要訓(xùn)練調(diào)整權(quán)值,它周圍的神經(jīng)元也要不同程度調(diào)整權(quán)向量。常見的調(diào)整方式見上圖。
7、優(yōu)勝領(lǐng)域設(shè)計(jì)原則?? ?
使領(lǐng)域不斷縮小,這樣輸出平面上相鄰神經(jīng)元對(duì)應(yīng)的權(quán)向量之間既有區(qū)別又有相當(dāng)?shù)南嗨菩?#xff0c;從而保證當(dāng)獲勝節(jié)點(diǎn)對(duì)某一類模式產(chǎn)生最大響應(yīng)時(shí),其領(lǐng)域節(jié)點(diǎn)也能產(chǎn)生較大響應(yīng)。領(lǐng)域的形狀可以是正方形、六邊形或者菱形。優(yōu)勢(shì)領(lǐng)域的大小用領(lǐng)域的半徑表示,r(t)r(t)的設(shè)計(jì)目前沒有一般化的數(shù)學(xué)方法,通常憑借經(jīng)驗(yàn)來選擇。下面是兩種典型形式 :
8、學(xué)習(xí)率的設(shè)計(jì)
學(xué)習(xí)率會(huì)影響收斂速度,可以定義一個(gè)動(dòng)態(tài)的學(xué)習(xí)函數(shù),隨著迭代次數(shù)的增加而收斂。?
Learn_rate(i)=maxLrate-((i+1.0)*(maxLrate-minLrate))/MaxIteration?
-- 其中,maxLrate為最大學(xué)習(xí)率,minLrate為最小學(xué)習(xí)率,MaxIteration為最大迭代次數(shù),i為當(dāng)前迭代次數(shù)。
?? ??? ??? ??? ?
總結(jié)
以上是生活随笔為你收集整理的无监督学习的简单统一的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。