What is the Perceptrons Learning Alogrithm (PLA) ?


上一篇介紹了機器學習基本知識,

在此機器學習基石課程例子當中,如何讓機器決定銀行是否核發信用卡?

首先讓顧客填寫如上表,作為申請信用卡的用途。


•input: x X (申請表上面的資料)
•output: yY(發卡或不發卡)
f : X → Y (f稱之為target function)理想上我們最想知道的就是f但是我們不知道f
       那我們怎麼開始機器學習呢?機器學習最重要的就是資料,我們要有資料XD
•所以我們用N資料,可能是銀行過去蒐集的過去發卡與不發卡的資料)
D = {(x1,y1),(x2,y2),......,(xN,yN)}



g代表某一種效能的增進,我們希望gf越像越好,f我們不知
(知道就不需機器學習了XD)
再來我們可以定義一個hypothesis set裡面放著各種可能,但我
們不知道哪一種是行得通的, assume g H = {hk},好的或不
好的都有可能,舉幾個例子:
h1: annual salary > NTD 800,000  (年所得大於800000土豪?)
h2: debt > NTD 100,000 (really?)  (負債的人償還人力比較強?)
h3: year in job <= 2 (really?)          (年輕人比較會花錢?)
之後會選擇它覺得最好出來,up to A to pick the ‘best’ 
one as g
Learning Model= Algorithm and hypothesis set
為什麼要分模型跟演算法?因為模型在機器學習上有個很重
要的地位作為分析

從資料出發,演算法A算出一個hypothesis g希望這個g要很接
近我們最希望的f


Perceptrons中文名為感知器,根據每個特徵值(features)的權重(weight)可能不同,每個features足以影響核發不核發的程度並不相同,所以權重乘以特徵值加總起來看有無大於門檻值(threshold),相減之後再取符號(Sign),在此並不考慮與門檻值相等的情況。這些權重跟門檻值就是所謂的假設集(hypothesis set)。


整理之後的式子(內積之後取sign)


Perceptrons Learning Alogrithm 是一個知錯能改演算法XDDD,也是一個二元分類器,假設有N個特徵值,那就有N個權重值,也會有N個答案,我們可以用依序去找(1,2,3....N),或者是用隨機遍歷的,如果當前的點沒有犯錯就continue否則就要對weight做修正,直到循環完至沒錯為止。

  • 假設為R2
  • 向量X=(x1,x2),X為平面上的點
  • Y為平面上的○(+1),x(-1)
  • 設 w0  初值為 0 
  • 理想的g為一條線把資料分開為+1,-1,正負之間是以0做區分,所以可以另方程式w0+w1x1+w2x2 = 0 得出此條線,就是下面圖看到的w(t)法向量


   
      假設當前t = 1舉例,此時 g(x)這條線將資料分成兩部份:

  1.  g(x)說他是錯,實際上是對的,得做修正,W2 = W1 +Yn1Xn1 

  2. g(x)說他是對,實際上是錯的,W2=W1-YnXn






相關知識,程式碼日後補上

留言

張貼留言

這個網誌中的熱門文章

面試 (網路搜尋的資源)

bitwise operation 面試考題