[監督式]PLA(Perceptron Learning Algorithm)

架構圖

為群體參數,為一個函數輸入得到
(資料)為由群體取出的樣本參數加上雜訊,為一個函數,輸入得到(預測)
為推測可能為函數的集合

感知器

2個特徵資料的二元分類資料

PLA是一種二元線性分類器,用來分類只有2種類別的線性數據,若數據為非線性它將無法正確分類

  • 假設H
    這邊是假設要評估銀行要不要給客戶發行信用卡來描述,,
    我們假設由加上偏移(threshold或bais)經過激勵函數sign函數而得,因為sign非連續我們沒辦法設定loss使用Gradient descent來求解最小值


    wx-b等於分隔線,紅色區sign(wx-b)為正,藍色區sign(wx-b)為負,此圖初始化的b=1、w1=6、w10=2,線等於6 x1+10 x2+1,在x1=4,x2=8處預測為正,他的法向量為[x1=6,x2=10]。

  • 簡化
    偏移(threshold)直接以替換,而永遠為,改寫成向量內積
    因為都是一維向量,可以互看作是彼此的投影乘上對方的長度,所以可以看作在上的投影,乘上的長度,正比於x離w的法向量之距離

  • 圖示
    若將的分為藍與紅色之圖示。

  • 學習步驟

  1. 先給一個預設的w(我們以隨機選一個x作為預設的w)
  2. 找到一個預測錯誤的值,若無錯誤的值則停止
  3. 修正w
  • 修正


實作

建立數據

隨機選一個x作為預設的w

  1. 初始值,向量
  2. 分界線,
  3. 向量方向的代入得正數,反方向的得負數,若在線上得零

隨機依序找到一個錯誤的值(不重複)

如何修正

  • 4種可能的修正
  1. 錯誤在向量左側,y為1,表示錯誤點在向量後方,偏移往後偏
  2. 錯誤在向量右側,y為1,表示錯誤點在向量後方,偏移往後偏
  3. 錯誤在向量左側,y為-1,表示錯誤點在向量前方,偏移往前偏
  4. 錯誤在向量右側,y為-1,表示錯誤點在向量前方,偏移往前偏
  • 修正後向量剛好為0
    下次修正會直接修正為錯誤點的向量

修正

加上停止旗標及迴圈

處理雜訊(noise)

  • 雜訊
  • 加入一些條件
  1. 加入一個變量儲存目前最好的解
  2. 如果修正大於某個值停下使用目前最好的解





參考:林軒田老師機器學習基石(想詳讀的可以找coursera)

你可能感兴趣的:([監督式]PLA(Perceptron Learning Algorithm))