1. 程式人生 > >統計學習方法筆記二---感知機(Perceptron Learning Algorithm,PLA)

統計學習方法筆記二---感知機(Perceptron Learning Algorithm,PLA)

簡介

感知機(perceptron)是二分類的線性分類模型,其輸入為例項的特徵向量,輸出為例項的類別,取+1和-1二值。感知機對應於輸入空間(特徵空間)中將例項劃分為正負兩類的分離超平面,屬於判別模型,解決的問題是分類問題。

目標/目的:求出將訓練資料進行線性劃分的分類超平面,為此匯入誤分類的損失函式,利用梯度下降法對損失函式進行最小化,求的感知機模型。

感知機學習演算法具有簡單而易於實現的優點,分為原始形式和對偶形式。感知機預測是用學習得到的感知機模型對新的輸入例項進行分類。

總的來說:

模型:符號函式(判別模型)
策略:損失函式:誤分點到超平面距離之和
演算法:利用梯度下降演算法進行優化

感知機模型

定義(感知機)

假設輸入空間(特徵空間)是,輸出空間是Y={+1,-1}。輸入表示例項的特徵向量,對應於輸入空間(特徵空間)的點;輸出表示例項的類別。由輸入空間到輸出空間的如下函式

(2.1)

稱為感知機。其中,w和b為感知機的模型引數,叫作權值(weight)貨值權值向量(weight vector),叫做偏置(bias),表示w和x的內積,sign()是符號函式:

感知機是一種線性分類模型,屬於判別模型。感知機模型的假設空間是定義在特徵空間中的所有線性分類模型或者線性分類器,即函式集合:{f|f(x)=w.x+b}。

感知機的幾何解釋:

線性方程對應於特徵空間中的一個超平面S,其中w是超平面的法向量,b是超平面的截距(不理解的可以百度一下,法向量與直線方程的關係)。這個超平面將特徵空間劃分為兩個部分。位於兩部分的點(特徵向量)被分為正負兩類,因為超平面S稱為分類超平面(separating hyperplane)。

感知機的學習:由訓練資料集(例項的特徵向量以及類別),其中,,求得感知機模型,也就是求出引數w和b。
感知機的預測:通過學習得到的感知機模型,對於新的輸入例項給出其對應的輸出類別。

感知機的學習策略

定義(資料集的線性可分性):

給定一個數據集,

,其中,,如果存在某個超平面S:,能夠將資料集的正例項和負例項完全正確
地劃分到超平面的兩側,即對所有的例項i,有:;對所有的例項i,有,則稱資料集T為線性可分資料集(Linear separable dataset);否則,稱資料集T線性不可分。

感知機學習策略

假設訓練資料集是線性可分的,感知機學習的目標是求得一個能夠將訓練集正例項點和負例項點完全正確分開的分離超平面,為了找出這樣的超平面,即確定感知機模型的引數w,b,需要確定一個學習策略,即定義(經驗)損失函式並將損失函式最小化。

損失函式的一個自然選擇是誤分類點的總數,但是這樣的損失函式不是引數w,b的連續可導函式,不宜優化。損失函式的另一個選擇是誤分類點到超平面S的總距離,這是感知機所採用的。
為此,首先,寫出輸入空間中任意一點x,到超平面S的距離(點到直線的距離):

其次,對於誤分類點(xi,yi)來說,有,因此誤分點xi到超平面S的距離可以寫成如下公式:

這樣,假設超平面S的誤分類點集合為M,那麼所有誤分類點到超平面S的總距離為:


不考慮,則得到感知機學習的損失函式。

補充:為什麼不考慮

1、1/||w||恆為正,不影響-y(w*x+b)正負的判斷,也就是不影響學習演算法的中間過程。因為感知機學習演算法是誤分類驅動的(只有當出現誤分類時才去調整模型,或者說損失函式只與誤分類點有關),這裡需要注意的是,所謂的“誤分類驅動”指的是我們只需要判斷-y(w*x+b)的正負來判斷分類的正確與否,而1/||w||並不影響正負值的判斷,所以1/||w||對感知機學習演算法的中間過程可有可無。
2、1/||w||不影響感知機學習演算法的最終結果,因為感知機學習演算法最終的終止條件是所有的輸入都被正確的分類,即不存在誤分類點,則此時的損失函式為0,對應於-y(w*x+b)/||w||,即分子為0.則可以看出1/||w||對最終結果也無影響。

綜上所述,即使忽略1/||w||,也不會對感知機學習演算法的執行過程產生任何影響,反而還能簡化運算,提高演算法執行效率。

給定一個訓練資料集,

,其中,,感知機學習的損失函式定義為
(2.4)

其中,M為誤分類點的集合,這個損失函式就是感知機學習的經驗風險函式。

顯然,損失函式L(w,b)是非負的。如果沒有誤分類點,損失函式值就是0。而且誤分類點越少,誤分類點離超平面越近,都會使得損失函式值越小。一個特定的樣本點的損失函式:在誤分類時是引數w,b的線性函式,在正確分類的時候是0,因此,給定訓練資料集T,損失函式L(w,b)是w,b的連續可導函式。

總之,感知機學習的策略是在假設 空間中選取使得損失函式式(2.4)最小的模型引數w,b,即感知機模型。

感知機學習演算法

在感知機優化問題中,最優化方法選擇的是隨機梯度下降法。

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

給定一個訓練資料集,

,其中,,求引數w,b,使其為以下損失函式極小化問題的解
(2.5)

其中,M為誤分點的集合。

感知機學習演算法是誤分類驅動的,具體採用隨機梯度下降演算法。首先,任意選擇一個超平面w0,b0,然後用梯度下降演算法不斷極小化目標函式(2.5)式。極小化過程中不是一次使M中所有誤分類點的梯度下降,而是一次隨機選取一個誤分類點使其梯度下降。

假設誤分類點集合M時固定的,那麼損失函式L(w,b)的梯度由


給出。

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


其中,是步長,在統計學習中又稱為學習率(learning rate)。這樣,通過迭代,可以期待損失函式L(w,b)不斷縮小,直到為0,綜上所述,得到如下演算法:

再次提醒,注意第二步中,是隨機選擇資料

這種學習演算法直觀上有如下解釋,當一個例項點被誤分類,即位於分離超平面錯誤的一側時,則調整w,b的值,使分離超平面向該誤分類點的一側移動,以減少誤分類點與超平面之間的距離,直到超平面越過該誤分類點,使其被正確分類。

感知機學習演算法由於採不同的初始值(w0,b0)或者選取不同的誤分類點(因為在選取誤分類點的時候是隨機選取的),最終解可以不同。

例題

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

演算法的收斂性

現在證明,對於線性可分的資料集感知機演算法的原始形式收斂,即經過有限次迭代可以得到一個將訓練資料集完全正確劃分的分離超平面及感知機模型。

,則有,

定理2.1(novikoff) 設訓練資料集,

,其中,,則
(1)存在滿足條件的超平面將訓練資料集完全正確分開;且存在,對所有i=1,2,…,N

(2)令 ,則感知計演算法2.1在訓練資料集的誤分次數k滿足不等式

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

(證明過程還是比較簡單的,比較容易理解的,在此就不再多加描述。)

我對收斂性的理解:因為感知機演算法是誤分類驅動的,每次迭代,誤分類點的總間隔(損失函式值)都會下降(梯度下降),而總間隔又是大於等於0的,所以,具有下确界0,根據單調有界函式必收斂的性質可得,感知機學習演算法的原始形式是收斂的。

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

對偶形式的基本想法是,將w和b表示為例項xi和標記yi的線性組合的形式,通過求解其係數而求得w和b。假設設初始值w0,b0均為0,。對誤分類點(xi,yi)通過

逐步修改w,b,設修改n次,則w,b關於(xi,yi)的增量分別是,這裡,這樣從學習過程中,不難看出,最後學習得到的w,b可以分別表示為

這裡

我的解釋:對於]![意思是,例項點(xi,yi)誤分的次數為ni,每誤分一次,就改變步長。注意,存在的情況,例如例項點(xi,yi)從來沒有被誤分過。
時,表示第i個例項點由於誤分而進行更新的次數。例項點更新次數越多,就意味著它離分離超平面越近,也就越男正確分類。換句話說,這樣的例項對學習結果影響最大。

這裡寫圖片描述

對偶形式中訓練例項僅以內積的形式出現,為了方便,可以預先將訓練集中例項間的內積計算出來,並以矩陣的形式儲存,這個矩陣就是所謂的Gram矩陣

這裡寫圖片描述

這裡寫圖片描述

注意,最後再強調一下,感知機解決的問題的是分類問題,不要和後面要學習到的邏輯斯諦迴歸混淆。

《完》

    人生如棋,落子無悔。
                      ----------By Ada

相關推薦

統計學習方法筆記---感知(Perceptron Learning Algorithm,PLA)

簡介 感知機(perceptron)是二分類的線性分類模型,其輸入為例項的特徵向量,輸出為例項的類別,取+1和-1二值。感知機對應於輸入空間(特徵空間)中將例項劃分為正負兩類的分離超平面,屬於判別模型,解決的問題是分類問題。 目標/目的:求出將訓練資料進行線

感知:Perceptron Learning Algorithm

PLA 感知機是一個二分類器,輸入為特徵空間,輸出表示所屬類別。 感知機表示的將輸入空間的例項劃分為兩類的超平面。 感知機學習模型 假設輸入空間是X⊆Rn,其中特徵向量x∈X;輸出空間是Y={+1,−1},輸出y∈Y。那麼感知機模型可以表示為

統計學習方法筆記9—EM演算法2

9.2 EM演算法的收斂性 收斂定理9.1 觀測資料的似然函式單調遞增 收斂定理9.2 EM演算法是收斂性包含對數似然函式序列的收斂性和關於引數估計序列的收斂性,即一定可以通過迭代發現似然函式的極值點。 9.3 EM演算法在高斯混合模型學習中的應用 9.3.1 高

【ML】統計學習方法筆記

S1 統計學習的基本假設是同類資料具有一定的統計規律性 特徵空間(featrure space)的每一維對應於一個特徵。有時假設輸入空間與特徵空間為相同空間,對他們不予區分。有時假設輸入空間與特徵空間為不同的空間,將例項從輸入空間對映到特徵空間。模型實際上都是定義在特徵空間上的。

李航—統計學習方法筆記(一)

什麼是獨立同分布? 百度: 在概率統計理論中,指隨機過程中,任何時刻的取值都為隨機變數,如果這些隨機變數服從同一分佈,並且互相獨立,那麼這些隨機變數是獨立同分布。如果隨機變數X1和X2獨立,是指X1的取值不影響X2的取值,X2的取值也不影響X1的取值且隨機變數X1和X2服從同一分佈,這意味著X1和X2具有

統計學習方法筆記1

第一章統計學習方法概論 1.1統計學習 統計學習特點:計算機網路平臺,資料驅動,構建模型,預測分析 統計學習物件:data,具有一定統計規律的資料 統計學習目的:預測分析 統計學習方法:模型,策略,演算法; 統計學習方法的步驟:

統計學習方法筆記7.1

第七章 支援向量機 支援向量機(support vector machines,SVM)是一種二類分類模型,基本模型是定義在特徵空間上的間隔最大的線性分類器。 7.1 線性可分支援向量機與硬間隔最大化 7.1.1 線性可分支援向量機 支援向量機的學習都是在特徵空

統計學習方法》“支援向量”一章中說可以取函式間隔等於 1 是為什麼?

假設兩條平行直線分別是 (1)Wx+A=0, Wx+A=0,\tag{1} Wx+A=0,(1) 與 (2)Wx+B=0. Wx+B=0.\tag{2} Wx+B=0.(2) 那麼和這兩條直線平行,且位於中間的那條直線就可以表示成: (3)Wx+A+B−A2=0

統計學習方法_支援向量SVM實現

由於在MNIST上執行SVM耗時過久,所以這裡使用了偽造的資料集,並使用線性核和多項式核進行實驗。 #!/usr/bin/env python3and # -*- coding: utf-8 -*- import time import random import log

統計學習方法筆記(一):K近鄰法的實現:kd樹

  實現k近鄰演算法時,首要考慮的問題是如何對訓練資料進行快速的k近鄰搜尋。這點在特徵空間的維數大於訓練資料容量時尤為重要。 構造kd樹   kd 樹是一種對k為空間中的例項點進行儲存的一邊對其進行快速檢索的樹形資料結構。kd樹是二叉樹,表示對k維空間的一個劃分(parti

李航·統計學習方法筆記·第6章 logistic regression與最大熵模型(1)·邏輯斯蒂迴歸模型

第6章 logistic regression與最大熵模型(1)·邏輯斯蒂迴歸模型 標籤(空格分隔): 機器學習教程·李航統計學習方法 邏輯斯蒂:logistic 李航書中稱之為:邏輯斯蒂迴歸模型 周志華書中稱之為:對數機率迴歸模

統計學習方法筆記》——Logistic迴歸

Logistic迴歸簡介 假設有一些資料點,我們利用一條直線對這些資料點進行擬合(該線稱為最佳擬合直線),這個擬合過程就稱為迴歸。利用Logistic進行迴歸的主要思想:根據現有資料對分類邊界線建立迴歸公式,以此進行分類。 演算法流程 1.優化目標函式

統計學習方法筆記(三)K近鄰演算法

K近鄰法(KNN)是一種基本的分類和迴歸的方法,KNN的基本思想是給出一定數量帶有標籤的訓練樣本,使用這些訓練樣本將特徵空間劃分成許多的子空間,當一個新的測試樣本進來以後,這個測試樣本一定會落在一個超矩形區域內部,然後找到距離這個測試樣本最近的K個訓練樣本,用這些訓練樣本的

統計學習方法筆記(三)統計學習方法簡介

正則化與交叉驗證 前文所述的模型選擇只能大體選擇出一類較好的模型,即利用訓練資料集學習模型,沒有考慮到測試誤差,而正則化與交叉驗證的提出,則加入了測試誤差的考量,因此,這兩種方法用來選擇具體模型。 正則化 正則化是結構風險最小化策略的實現,其是在經驗風

統計學習方法 7-支援向量

支援向量機學習方法包含構建由簡至繁的模型:線性可分支援向量機(linear support vector machine in linearly separable case)、線性支援向量機(linear support vector machine)及非線性

統計學習方法筆記(一)統計學習方法簡介

統計學習概論: 一、統計學習 執行統計學習相關方法的前提:假設同類資料具有一定的統計規律性 定義:計算機基於資料構建相應的概率統計模型,利用模型對資料進行預測與分析 方法分類:監督學習、非監督

李航-統計學習方法筆記(一):統計學習方法概論

對象 統計學 技術分享 精確 結束 人的 發生 abs 速度 本系列筆記,主要是整理統計學習方法的知識點和代碼實現各個方法,來加強筆者對各個模型的理解,為今年找到好工作來打下基礎。 計劃在一個月內更新完這本書的筆記,在此立一個flag: 從2019/2/17開始 到 20

統計學習方法 學習筆記):感知

相交 with open read move remove 由於 subset rip span 在這一篇筆記中,來了解一下感知機模型(perceptron),我們將要了解感知機的模型,感知機的學習策略和感知機的學習算法,並且使用Python編程來實現書中的例子。

統計學習方法 感知

ges 數據集 函數 分類 步長 例題 算法 損失函數 width 感知機 (一)概念          1,定義:          (二),學習策略 1,線性可分 :存在一個超平面將正實例和負實例劃分開來,反之不可分 2,學習策略:尋找極小損失函數,通過計算誤分點到超平

統計學習方法筆記第二章 —— 感知

  主要內容: 一、感知機模型 二、感知機學習策略(線性可分) 三、感知機學習演算法     一、感知機模型 1.所謂感知機,其實就是一個在n維空間內的超平面(n-1維),這個超平面將整個空間分為兩部分。 2.該超平面S被定義為:w*x + b = 0。其中,w