原始形式
本節用李航大大第二版統計學習方法中的例題作爲例子來進行學習與編碼。
題目是這個樣子的【和第一版例題一樣】
我們回顧一下原始形式時的算法思想:
1)設定 w, b 的初始值
2)隨機選取樣本空間中的一個點(xi,yi)
3)如果yi∗(w∗xi+b)<0:
w←w+η∗xi∗yi
b←b+η∗yi
4)重複步驟2),直至樣本空間中沒有誤分類點爲止。
我們將上述思想轉化爲可讀的另一種文字+代碼語言:
1)初始化參數:我們這裏假設所求參數初始值爲0,即w=(0,0),b=0。
2)樣本空間:樣本空間爲x1=(3,3)T,x2=(4,3)T,x3=(1,1)T,對應的目標變量分別爲y1=1,y2=1,y3=−1。實際上這些樣本空間用向量表示可以這麼寫:x=[(3,3),(4,3),(1,1)]T,y=[1,1,−1]。
判斷條件:yi∗(w∗xi)+b這裏可以表示成直接將i用下標替換就好了。
參數更新:如判斷條件一樣
我們開始進行代碼編寫:
import numpy as np
X=[(3,3),(4,3),(1,1)] # 樣本特徵
y = [1,1,-1] # 樣本label
sample_number = len(y) # 樣本數量
對偶形式