什麼是自組織對映演算法(SOM)?
SOM 代表自組織特徵對映。它是一種基於神經網路觀點的聚類和資料視覺化技術。不管SOM的神經網路基礎如何,在基於原型的聚類修改的上下文中,它只是以最小形式呈現。
SOM演算法如下:
初始化質心。
重複
選擇下一個物件。
確定與該物件最近的質心。
重新整理該質心以及附近的質心,即在一定的鄰域內。
直到質心變化不大或超過閾值。
將每個物件分配給其最近的質心,並更新質心和聚類。
**初始化** - 此步驟(第1行)可以透過多種方式實現。一種方法是從資料的相應元素觀測值範圍內隨機選擇質心的每個元素。
雖然此方法有效,但它並非最佳方法,尤其是在實現快速收斂方面。另一種方法是從可用資料點中隨機選擇初始質心。這非常類似於為K均值隨機選擇質心。
**物件選擇** - 迴圈中的第一步(第3行)是選擇下一個物件。這很簡單,但存在一些挑戰。由於收斂可能需要多次迭代,每個資料物件可能會被使用多次,尤其是在物件數量較少的情況下。但如果物件數量很大,則不需要使用每個物件。還可以透過提高特定物件組在訓練集中的頻率來提高其影響。
**分配** - 確定最近的質心(第4行)很容易,儘管需要定義距離度量。使用歐幾里得距離度量,也使用點積度量。使用點積距離時,資料向量通常預先歸一化,參考向量在每一步都歸一化。在這種方法中,使用點積度量與使用餘弦相似度相同。
**更新** - 更新步驟(第5行)比較複雜。設m1…mk為質心。對於時間步長t,設p(t)為當前物件(點),並假設p(t)的最近質心為mj。因此,對於時間t+1,第j個質心透過以下等式更新:
$$\mathrm{mj(t + 1) = mj(t) + hj(t)(p(t) - mj(t))}$$
**終止** - 確定何時達到穩定的質心集是一個重要的問題。理想情況下,迭代應持續到出現收斂,即直到參考向量不再改變或變化很小時為止。收斂的成本取決於多種因素,包括資料和𝛼(t)。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP