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