更新時間:2022-07-15 來源:黑馬程序員 瀏覽量:
SOM 即自組織映射,是一種用于特征檢測的無監(jiān)督學習神經網絡。它模擬人腦中處于不同區(qū)域的神經細胞 分工不同的特點,即不同區(qū)域具有不同的響應特征,而且這一過程是自動完成的。SOM 用于生成訓練樣本的低維 空間,可以將高維數據間復雜的非線性統(tǒng)計關系轉化為簡單的幾何關系,且以低維的方式展現,因此通常在降維問題中會使用它。
SOM 的訓練過程:
紫色區(qū)域表示訓練數據的分布狀況,白色網格表示從該分布中提取的當前訓練數據。
(1) SOM 節(jié)點位于數據空間的任意位置,最接近訓練數據的節(jié)點(黃色高亮部分)會被選中。它和網格中的鄰近節(jié)點一樣,朝訓練數據移動。
(2)在多次迭代之后,網格傾向于近似該種數據分布(下圖最右)。
所有的神經元組織成一個網格,網格可以是六邊形、四邊形……,甚至是鏈狀、圓圈……
網絡的結構通常取決于輸入的數據在空間中的分布。 SOM的作用是將這個網格鋪滿數據存在的空間。
每個神經元由正方形表示,正方形內的粉紅色區(qū)域表示神經元最接近的數據點的相對數量 - 粉紅色區(qū)域越大,該神經元表示的數據點越多。
當我們將訓練數據輸入到網絡中時,會計算出所有權重向量的歐幾里德距離。權重向量與輸入最相似的神經元 稱為最佳匹配單元(BMU)。BMU 的權重和 SOM 網格中靠近它的神經元會朝著輸入矢量的方向調整。一旦確定 了 BMU,下一步就是計算其它哪些節(jié)點在 BMU 的鄰域內。
(1)將網格的神經元隨機定位在數據空間中。
(2)選擇一個數據點,按順序隨機或系統(tǒng)地循環(huán)遍歷數據集。
(3)找到最接近所選數據點的神經元。這種神經元被稱為最佳匹配單元(BMU)。
(4)將BMU移近該數據點。 BMU移動的距離由學習速率確定,學習速率在每次迭代后減小。
(5)將BMU的鄰居移動到更靠近該數據點的位置,遠處的鄰居移動得更少。使用BMU周圍的半徑來識別鄰居,并且在每次迭代之后該半徑的值減小。
(6)在重復步驟1到4之前,更新學習速率和BMU半徑。迭代這些步驟,直到神經元的位置穩(wěn)定。
SOM 通常用在可視化中。比如右圖,世界各國貧困數據的可視化。生活質量較高的國家聚集在左上方,而貧 困最嚴重的國家聚集在右下方。
SOM 的其它一些應用還包括:
數據壓縮
語音識別
分離音源
欺詐檢測