1. 程式人生 > >Hinton Neural Networks課程筆記2d:為什麼感知機的學習演算法可以收斂

Hinton Neural Networks課程筆記2d:為什麼感知機的學習演算法可以收斂

感知機的學習演算法非常簡單,就是每次選取一個樣本,如果預測錯誤,則根據樣本真值,權重加減一個輸入向量。這和一般使用的附有學習率的優化演算法不一樣,沒有一個超引數,使其快速而且簡潔。而為什麼這樣一個簡單的演算法可以work,Hinton在這節加以說明。注意此部分是直觀層次的解釋,不是嚴謹的數學推導。

上一節有提到感知機的幾何解釋,其中有一個結論是在權重空間內,感知機的合法解是連續的,位於一個被多個超平面限制的錐體內,合法解的限制超平面是垂直於樣本輸入向量的。

第一個嘗試(當然失敗了)

first attemp
想要證明每次移動權重向量的位置,都使得其與所有合法權重向量的位置更近了(歐式距離)。這個目標很讓人渴望,但輕易舉出了反例。上圖右下展示了反例,其中變化前權重向量的位置為紅點所示,黃點為一個合法權重向量,因為兩者在垂直於超平面方向的距離很小,大於輸入向量(藍色箭頭所示)的長度,所以變化後的權重向量距離黃色合法向量的距離反而更遠了。

成功的解釋

注意到第一次嘗試失敗的原因在於沒有對合法向量做限制,為了證明最終權重向量會變化到合理範圍內,只需要證明每一次變化,權重向量距離固定部分合法向量距離越來越近即可。這裡考慮到上訴反例主要是因為輸入向量的長度大於兩者原有垂直距離了,所以對此部分反例的合法向量做了排除,如下圖所示:
successful attempt
只考慮距離所有超平面都超過相應輸入向量長度的合法向量。如此,即可證明每次優化演算法,都使得權重離所有位於generously feasible的合法向量距離更近了,進而因為向量之間的距離有限大、向量的長度有限小,所以必然收斂。(注意,這是基於存在合法向量空間的情況下討論的;若不存在,則不一定收斂)

筆者的一點思考:
這個優化演算法的優點真的很吸引人,簡單有效,方便快捷。但也有很大的限制,如上訴證明方法也需要存在一個合法向量空間、合法向量空間很大(只是通過一個超平面切割)等等條件。