2011-10-24 42 views
2

:)爲什麼在自組織映射中需要迭代次數?

當我辯護我的論文提案時,我的一位教授問我爲什麼我們必須指定SOM中的迭代次數?他說,我們應該有一個收斂標準來停止訓練。

但是,我知道我們沒有目標向量,因此我們不能最小化成本。

我的問題是第一個問題,爲什麼需要MAX_ITERATIONS,第二個問題是什麼保證我們選擇的迭代次數會給出最佳的映射。 :(根據我的經驗用在顏色數據集1000次迭代和10000次反覆嘗試

PS,似乎10000次迭代並沒有給出更好的可視化是1000 :(

+0

第一個問題很好!但是,將來您可能希望指定一些實現細節(例如,您使用的SOM庫,語言,顏色數據集是什麼),或者省略未指定的引用。 – zergylord

回答

1

所以,你和你的教授是正確的:你應該在指定的迭代次數和收斂準則硬工資帽

收斂標準 - 當你在的SOM右邊是無人監管,因此沒有目標的載體,他們仍然可以看到。儘量減少一些成本函數,一般來說,大多數無監督機器學習方法可以嘗試和做一些事情,如最小化unac計算方差,最大化信息增益等。對於SOM,我特別使用了重量增量作爲標準。也就是說,如果額外的迭代不會將SOM權重改變超過某個閾值,請停止迭代。

迭代帽 - 即使有一個收斂準則,如果SOM不會收斂(您不希望它永遠運行),則需要一個硬帽。如果您使用了我的重量增量的示例標準,那麼可能會出現這樣的情況,即權重在迭代之間保持振盪,從而導致永遠不會滿足標準。

Happy SOMing!

+1

不完全。您通常的SOM將始終收斂並始終需要您選擇的迭代次數。學習算法的學習率和學習半徑參數隨着每次迭代變得越來越小,因此權重的變化將變得越來越小 –

0

您確實隱含有一個目標成本函數,以便在SOM中最小化。 SOM類似於多維度縮放(MDS)。目的是保持拓撲關係;因此,SOM的每次迭代實際上是將「源空間中任意兩點的距離」與「目標空間中相同兩點的距離」之間的誤差最小化,除了在SOM中,這些相似點用神經元表示目標空間。這也是SOM如何用於聚類。

迭代過程可以認爲是相同的梯度下降。當最小化二次誤差成本函數時,它也容易受到局部最小值的困擾。這也可以解釋爲什麼SOM甚至會在經過大量迭代後導致「扭結」。