機器學習-李航-統計學習方法學習筆記之感知機(2)


      在機器學習-李航-統計學習方法學習筆記之感知機(1)中我們已經知道感知機的建模和其幾何意義。相關推導也做了明確的推導。有了數學建模。我們要對模型進行計算。

       感知機學習的目的是求的是一個能將正實例和負實例完全分開的分離超平面。也就是去求感知機模型中的參數w和b.學習策略也就是求解途徑就是定義個經驗損失函數,並將損失函數極小化。我們這兒采用的學習策略是求所有誤分類點到超平面S的總距離。假設超平面s的誤分類點集合為M,那么所有誤分類點到超平面S的總距離為

顯然損失函數L(w,b)是非負的,如果沒有誤分類點,那么損失函數的值就是0,因為損失函數的定義就是求誤分類點到平面的距離,誤分類點都沒有,那么損失函數的值肯定是0.

感知機學習算法是誤分類驅動,采用隨機梯度下降法。首先,任意選取一個超平面w,b,然后極小化目標函數。相關定義在作者的書中都有給出。不在啰嗦了。

感知機學習算法的原始形式

對例子2.1做詳細推導。作者其實已經給出了推導。對於很多基礎知識扎實的人來說已經足夠了。但對於一些大學期間高數忘了差不多的我們來說,理通作者思路也要仔細手寫推導一下。

解  構建最優化問題:,按照算法2.1求解w,b,學習η=1

取初值w0=(0,0)T (這里w0是初始的法向量,如果是三維空間應該是(0,0,0)T,這兒二維平面就夠用了w0=(0,0)T。所以,w0=(0,0))

b0=0.

對x1=(3,3)T,因為是正分類點,所以y1=1帶入分離 超平面公式    

                                                  y1(w0•x1+b0)

               =  1((0,0)•(3,3)T+0)       --------公式1.0

其中T代表矩陣的轉置,也就是把(0,0)豎過來。同時這兒的(0,0)T和(3,3)T也是向量的表示。中間的圓點代表求兩個向量的內積。我們看一下向量內積的定義

在線性代數中有對此的明確定義。所以(0,0)T和(3,3)的內積就為0*3+0*3=0.

所以公式1.0的值為0.因為要把所有的正實例和負實例分開,這兒該正實例在分離超平面上,顯然不符合要求。所以我們要更新w,b.

      w1=w0+y1x1 這兒更新w法向量的意義是移動分離超平面的方向,對於二維空間就是更改直線的斜率,更新b就是移動斜線的截距。

我們首先把這兒幾個實例點表示出來x1y1=((3,3)T,1 )     x2y2=((4,3)T,1 )    x3y3=((1,1)T,-1 )

 求得w1=(0,0)T+(3,3)T=(3,3)T      b1=b0+y1=1

所以線性模型為

因為我們使用函數間隔來衡量是否被正確分類的,也就是在線性模型前面加上參數yi 因為正確分類時候yi=1,誤分類的時候yi=-1,所以可以兩者的乘積只要大於0就可以表示正確分類了,不需要更新函數參數。小於等於0就表示要更新參數。

新的線性模型對於點x1y1=((3,3)T,1 )     x2y2=((4,3)T,1 )顯然都大於0,也就是可以被正確分類。對於  x3y3=((1,1)T,-1 ),帶入后函數間隔小於0代表函數未被正確分類。所以需要更新函數。

w2=w1+y1x1 

對於感知機求解的一般形式,很簡單,仔細看書,了解幾個數學概念就很容易明白。不在贅述。

 感知機學習算法的收斂性

 大體瀏覽了下,感覺不是很重要,也不是很難理解,可能是我沒自己手動推導一下的原因。想研究的可以直接看作者的推導。

感知機學習算法的對偶形式

下面是作者書中給出的例子,但是沒有具體的推導過程。

我們推導如下。從原始形式中我們可以知道。w的更新過程。

 第一次更新是x1y1=((3,3)T,1 ) 點不能是函數模型大於零,所以    w1=w0+x1y1 

 第二次更新是x3y3=((1,1)T,-1 )點不能使其大於零,所以    w2=w1+x3y3 

 第三次更新是x3y3=((1,1)T,-1 )點不能使其大於零,所以    w3=w2+x3y3 

 第四次更新是x3y3=((1,1)T,-1 )點不能使其大於零,所以    w4=w3+x3y3 

 第五次更新是x1y1=((3,3)T,1 )點不能使其大於零,所以     w5=w4+x1y1

 第六次更新是x3y3=((1,1)T,-1 )點不能使其大於零,所以    w6=w5+x3y3 

 第七次更新是x3y3=((1,1)T,-1 )點不能使其大於零,所以    w7=w6+x3y3 

然后我們得到

從上面可以總結出w7=w6+x3y3 

                       w7=w5+x3y3 +x3y3 

        w7=w4+x1y1+x3y3 +x3y3 

        w7=w3+x3y3+x1y1+x3y3 +x3y3 

        w7=w2+x3y3+x3y3+x1y1+x3y3 +x3y3 

        w7=w1+x3y3 +x3y3+x3y3+x1y1+x3y3 +x3y3 

        w7=w0+x1y1 +x3y3 +x3y3+x3y3+x1y1+x3y3 +x3y3 

所以我們可以得出最終w7的值為兩次x1y1 +五次x3y3

也就等於在對偶形式中的

同理也可以得出b,例2.2中的誤分條件我們還可以寫成如下形式。

 

從上面的公式中對比作者給出的求解迭代過程。我們應該可以很容易理解對偶形式的感知機算法,推導后發現只是換了一個簡便的計算形式。至此關於統計學習方法中的感知機篇章結束。

      可參考機器學習-李航-統計學習方法學習筆記之感知機(1)

本文地址:http://www.cnblogs.com/santian/p/4351756.html

博客地址:http://www.cnblogs.com/santian/

轉載請以超鏈接形式標明文章原始出處。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM