Lecture 2: Learning to Answer Yes/No
文章目录
1 Perceptron Hypothesis Set
perceptrons 感知机<=>linear(binary) classifiers 线性分类器
For
x
=
(
x
1
,
x
2
,
.
.
.
,
x
n
)
\textbf{x}=(x_1,x_2,...,x_n)
x=(x1,x2,...,xn)
Y
:
+
1
,
−
1
Y:{+1,-1}
Y:+1,−1
h
(
x
)
=
s
i
g
n
(
(
∑
i
=
1
n
w
i
x
i
)
−
θ
)
=
s
i
g
n
(
∑
i
=
0
n
w
i
x
i
)
=
s
i
g
n
(
w
T
x
)
h(\textbf{x})=sign((\sum_{i=1}^{n} w_ix_i)-\theta) =sign(\sum_{i=0}^{n} w_ix_i) =sign(\textbf{w}^T\textbf{x})
h(x)=sign((∑i=1nwixi)−θ)=sign(∑i=0nwixi)=sign(wTx)
2 Perceptron Learning Algorithm(PLA)
知错能改算法
感知机学习策略的几何意义:表示超平面法向量的旋转方向
【注】每次都会根据一个错分类的样本进行调整,但是一次调整后并不能保证这个点一定能正确分类
(以
y
i
=
+
1
y_i=+1
yi=+1为例,若
w
t
w_t
wt向量很长,
x
i
x_i
xi很短,且
w
t
w_t
wt与
x
i
x_i
xi的夹角特别大,那么就可能出现
w
t
+
y
i
x
i
w_t+y_ix_i
wt+yixi之后还是不能保证
w
t
+
1
x
i
w_{t+1}x_i
wt+1xi是正的,也就是夹角转不过来)
具体描述如下:
假设样本
i
i
i被错分类,则
y
i
w
t
T
x
i
<
0
y_i w_t^Tx_i<0
yiwtTxi<0
更新权重后
y
i
w
t
+
1
T
x
i
=
y
i
(
w
t
+
y
i
x
i
)
T
x
i
=
y
i
w
t
T
x
i
+
y
i
2
x
i
T
x
i
y_i w^T_{t+1}x_i=y_i (w_t+y_ix_i)^T x_i =y_iw^T_tx_i +y_i^2x_i^Tx_i
yiwt+1Txi=yi(wt+yixi)Txi=yiwtTxi+yi2xiTxi
虽然后面一项是大于0的数,但如果
∣
y
i
w
t
T
x
i
∣
>
∣
y
i
2
x
i
T
x
i
∣
|y_iw^T_tx_i |>|y_i^2x_i^Tx_i|
∣yiwtTxi∣>∣yi2xiTxi∣,该样本还是被错误分类的
3 Guarantee of PLA
找到一条线,使得没有错分类的时候,算法停止。
数据必须线性可分(linear separable)
-
首先假设数据是线性可分的,在此条件下,我们认为存在一个理想的超平面法向量 w f wf wf
-
我们认为 w w w越接近 w f w_f wf越好
-
认为向量的内积越大,越接近(夹角越小)<但是也要考虑长度>
上图证明了感知机算法可以保证权重每次更新都会更加接近 w f w_f wf -
权重每次更新,长度也会发生变化,下图证明了权重的长度增长速度是有上限的
-
因此可证明经过一定次数的迭代,算法策略是收敛的。即证明下图式子:
-
证明思路:
1) w f w_f wf和 w w w的内积会越来越大
2) w w w的长度每次增幅有限
具体证明如下:
- 感知机的优缺:
优点:简单易实现、快速,可用于任意维度
缺点:需要假设数据集必须线性可分;不知道感知机多久才会停
4 Non-Separable Data
可能存在以下情况:数据本身线性可分,但是因为有噪声导致线性不可分
对于非线性可分的问题,找到一个超平面,错分类数最少(NP-hard)
解决办法
Pocket Algorithm:每次迭代都保留分类效果最好的权重。经过多次迭代后,逼近最优超平面。
若对于一个确实线性可分的数据,采用pocket algorithm比PLA算法更慢,因为每次迭代都需要对所有数据进行比较,选出更好的超平面。