【機器學習】感知機學習---《統計學習方法》學習筆記

開始學習機器學習有一段時間了,一開始認爲做應用的只知道簡單的理論就夠了,因此更加傾向於學習《機器學習實戰》、《集體智慧編程》這類書籍,在學習了一段時間後,尤其是看了一段時間斯坦福大學的公開課以後,有一種強烈的慾望想要去學習機器學習中的數學,但是迫於自身數學能力不是很強,啃起《統計學習方法》這本書來,還是有一定難度的。只作爲一個筆記,以後可以溫故而知新。

在真正開始學習之前,其實統計學習方法中還是有一些基本概念需要理解的,在書中第一章。

基本概念

基本模型:

f(x)=sign(wx+b)

其中:
sign(x)={+1,x01,x<0

這是一種線性分類模型,屬於判別模型

定義:假設輸入空間(特徵空間)是 χRn ,輸出空間爲y={+11 ,輸入表示實例的特徵向量,對應於輸入空間的點;輸出表示實例的類別。由輸入空間到輸出空間的如下函數:

f(x)=sign(wx+b)
稱爲感知機。其中,ωb 爲感知機模型的參數。ωR 叫做權值(weight)bR 叫做偏置(bias)

學習策略

目的:找出一個線性可分的超平面,定義一個損失函數,求 ωb ,並將損失函數極小化。

損失函數的選取:

  1. 自然選擇是誤分類點的個數,但是這個函數並不是參數的連續可導函數,不易於優化;
  2. 可以選擇誤分類點到超平面的距離,即:

    1ω|ωx+b|,ωωL2

    推導過程:
    對於任何誤分類點來說:

    yi(ωxi+b)>0
    1ω|ωx+b|=1ωyi(ωxi+b)

    因此,所有誤分類點到超平面的距離之和爲:
    L(ω,b)=1ωxiMyi(ωxi+b)M

    L(ω,b) 即爲感知機模型的損失函數。

學習算法

現在的問題變成了求解L(ω,b) 的最優化問題。在這裏有兩種形式:原始形式對偶形式

原始形式

描述:給定數據集T={(x1,y1),(x2,y2)(xn,yn)} 。其中,xiX=RyiY={+1,1}.i=1,2,3,N ,求參數ωb ,使其成爲以下最優化問題的解:

minw,bL(ω,b)=xiMyi(ωxi+b)
其中M 爲誤分類點的集合。

隨機梯度下降法:建議查閱相關資料。

求解(求梯度):

對於ω 求偏導:

ω(ω,b)=xiMyixi

對於b 求偏導:
b(ω,b)=xiMyi

隨機選取誤分類點(xi,yi), 對於ω,b 進行更新:

ωω+ηyixi,
bb+ηyi,
其中, η 表示爲步長或者學習率,控制梯度下降的速度。

綜上所述,感知機學習算法的原始形式表述如下:

輸入:訓練數據集T={(x1,y1),(x2,y2)(xn,yn)} ,其中,xiX=RyiY={+1,1}.i=1,2,3,N ;學習率η0<η1

輸出: ω,b ;感知機模型 f(x)=sign(ωx+b)

步驟:

  1. 選取初值ω0,b0
  2. 在訓練集中選取數據(xi,yi)
  3. 如果yi(ωxi+b)0
    ωω+ηyixi,
    bb+ηyi
  4. 轉至step2,直到訓練集中沒有誤分類點。

對偶形式

不想寫了。。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章