1. 程式人生 > 其它 >NLP學習筆記-感知機

NLP學習筆記-感知機

  感知機是一個二類分類的線性分類模型。輸入為例項的向量,輸出為類別,取值為+1或-1。實際上是將例項通過一個超平面劃分為正負兩類,屬於判別模型。感知機學習旨在求出將訓練 資料進行線性劃分的分離超平面,為此,匯入基於誤分類的損失函式,利用梯度 下降法對損失函式進行極小化,求得感知機模型.感知機學習演算法具有簡單而易 於實現的優點,分為原始形式和對偶形式.

 

感知機模型

  輸入空間x為特徵向量,輸出空間y為1或-1,即對x的分類,由輸入到輸出的函式為f(x)=sign(w·x+b),稱為感知機。b叫做偏置常數,w·x表示w和x的內積,sign是符號函式。

    

  線性方程w·x+b=0對應在空間中的一個超平面S,w是超平面法向量,b是截距,這個面將特徵劃為兩部分。感知機學習就是通過訓練集,求得感知機模型中的引數w,b。然後用通過學習的感知機模型,對於新的輸入給出輸出。

 

感知機學習策略

   

  對於一個數據集T,如果存在一個超平面wx+b=0可以將正負例項點完全正確劃分,那麼資料集T為線性可分資料集。

  感知機的學習正是尋找這樣的平面,為了能找到,需要定義損失函式並使損失函式最小。

   

  損失函式是對於資料集中的誤分類點,使用上式計算該點到超平面S的距離,求其總和就得到了感知機學習的損失函式。定義為

    

    其中M為誤分類點的集合。誤分類點越少,誤分類點離超平面越近,損失函式就越小。

 

感知機的學習演算法

  感知機的學習演算法就是求解損失函式式最優化的問題

  原始形式

    輸入訓練集T和學習率n;

    輸出為w,b;感知機模型為f(x)=sign(w·x+b)

    (1)選取初值w0,b0,一般預設為0。

    (2)在訓練集中選取資料x,y

    (3)如果y(w·x+b)≤0,即不符合要求,那麼

        w=w+nyx    b=b+ny

    (4)轉到(2),直到沒有誤分類點

 

  對偶形式 

    由原始形式可知,每次錯誤時w增加nyx,b增加ny,實際上w和b可以寫為

    

    若經過m次修改,則a=mn。對偶學習的步驟可以寫為

    輸入訓練集T和學習率n;

    輸出為w,b;感知機模型為

    (1)a,b賦值為零

    (2)在訓練集中選資料(x,y)

    (3)如果

        a=a+n  b=b+ny

    (4)轉至(2)直至沒有誤分類資料