1. 程式人生 > >【機器學習基石筆記】二、感知機

【機器學習基石筆記】二、感知機

證明 機器學習 sign 線性可分 缺點 學習 犯錯 nbsp 錯誤

感知機算法:

1、首先找到點,使得sign(wt * xt) != yt,

  那麽如果yt = 1,說明wt和xt呈負角度,wt+1 = wt + xt能令wt偏向正角度。

  如果yt = -1, 說明xt和wt呈正角度,wt+1 = wt - xt 能令wt偏向負角度。

  總之,參數更新為wt+1 = wt + yt * xt

2、直到分好為止。數據需要線性可分。

算法證明:

1、假設wf是正確的,證明wn和wf越來越接近,內積越來越大

wf * wt+1 = wf*wt + wf*yt*xt > wf * wt, 原因是對任何t,wf分類正確,那麽sign(wf * xt) = yt,那麽wf * yt * xt > 0

2、wt增長的不太快

||wt+1|| = ||wt|| + ||xt|| - 2wt * yt * xt < ||wt|| + ||xt||

3、角度變化

內積增長量級是n, 長度增長量級是sqrt(n),所以會收斂。

優缺點:

優點:簡單、易實現、高維也可以。

缺點:線性可分、停止時間(由wf決定)

線性不可分怎麽辦

1、Min犯錯誤的點, np-hard問題。

pocket 貪心算法

2、就瞎跑

【機器學習基石筆記】二、感知機