2.1
題目:Minsky與Papert指出:感知機因爲是線性模型,所以不能表示複雜的函數,如異或(XOR),驗證感知機爲什麼不能表示異或。
答:即證明異或邏輯是線性不可分的
異或邏輯表
x1 |
x2 |
y |
label |
1 |
1 |
0 |
-1 |
1 |
0 |
1 |
+1 |
0 |
1 |
1 |
+1 |
0 |
0 |
0 |
-1 |
直觀觀察法:
將4個點投射到直角座標系中
直觀上可以發現,不能找到一條直線將兩類點準確無誤地分開,換言之,異或邏輯是線性不可分的。
數學證明(反證法):
當前訓練集中含有4個點,其中正實例點爲x1=(1,0)T,x2=(0,1)T,負實例點爲x3=(1,1)T,x4=(0,0)T。
假設存在感知機模型f(x)=sign(w⋅x+b)可以將兩類點準確分類,其中w=(u,v)T,將x1,x2,x3,x4代入,得:
⎩⎪⎪⎨⎪⎪⎧1∗u+v∗0+b>00∗u+v∗1+b>0−(1∗u+v∗1+b)>0−(0∗u+v∗0+b)>0
化簡得
⎩⎪⎪⎨⎪⎪⎧u+b>0 ①v+b>0 ②u+v+b<0 ③−b>0 ④
①+②+④爲u+v+b>0,與③矛盾,所以不存在符合條件的感知機模型。
數學證明(迭代計算):
當前訓練集中含有4個點,其中正實例點爲x1=(1,0)T,x2=(0,1)T,負實例點爲x3=(1,1)T,x4=(0,0)T。利用感知機學習算法的原始形式求感知機模型f(x)=sign(w⋅x+b)。
利用w←w+ηyixi,b←b+ηyi進行迭代,其中取學習率η=1。
取初值w0=(0,0)T,b0=0
迭代次數 |
誤分類點 |
w |
b |
0 |
- |
(0,0)T |
0 |
1 |
x1 |
(1,0)T |
1 |
2 |
x3 |
(0,−1)T |
0 |
3 |
x1 |
(1,−1)T |
1 |
4 |
x2 |
(1,0)T |
2 |
5 |
x3 |
(0,−1)T |
1 |
6 |
x2 |
(0,0)T |
2 |
7 |
x3 |
(−1,−1)T |
1 |
8 |
x1 |
(1,0)T |
2 |
… |
… |
… |
… |
迭代過程發生震盪(第8次的迭代結果與第4次一樣,循環),因而不存在超平面可以將四類點準確分開。
2.2
題目:模仿例題2.1,構建從訓練數據集求解感知機模型的例子。
答:習題2.1中的迭代計算的證明方法也是一個例子。
代碼實現可以參考Python實現。
2.3
題目:證明以下定理:樣本集線性可分的充分必要條件是正實例點集所構成的凸殼與負實例點集所構成的凸殼互不相交。
答:本題難點在於充分性的證明,尤其是如何根據已有的凸集構造超平面,充分性的證明也有一個凸集分離定理,對該定理證明感興趣的可以參考文末的鏈接。先理解一下概念。
線性可分是指可以找到一個超平面將數據集中正實例點和負實例點準確地劃分到超平面兩側。即對所有的正實例點有,w⋅xi+b>0,對所有的負實例點有w⋅xi+b<0。
凸殼是指由範圍內的點構成的多邊形圍成的區域。n維歐式空間中k個點的凸組合式一個凸集{x=∑i=1kλixi∣xi∈Rn,λi≥0,∑i=1kλi=1}
必要性(線性可分->凸殼不相交):
假設樣本集T線性可分,則存在一個超平面wopt將數據集的正實例點和負實例點完全正確地劃分到wopt的兩側。
所有的正實例點滿足w⋅xi+b≥ε,負實例點滿足w⋅xi+b≤ε,其中ε爲無窮小量。
對正實例點構成的凸集中元素x+滿足w⋅x++b=w⋅∑yi=1λixi+b=∑yi=1λi(w⋅xi+b)=ε∑yi=1λi>0,而對所有的負實例點構成的凸集中的元素x−滿足w⋅x−+b=w⋅∑yi=−1λixi+b=∑yi=−1λi(w⋅xi+b)=ε∑yi=−1λi<0,顯然正副凸集不相交。
充分性(凸殼不相交->線性可分):
凸殼不相交則根據凸集分離定理(在很弱的條件下,兩個不相交的凸集總可用超平面分離),可以用超平面將兩類點分離。
參考
第2章學習筆記
感知機:從原理到訓練(包含第3題的證明)
凸殼與線性可分