这章主要探讨了线性分类问题这个大问题及其理论。
可以将线性分类问题定义如下,有一个线性分类器(Linear classifier)为 h h h,输入样本 X X X,我们可以通过分类器预测其标签 h ( x ) h(x) h(x)。其分类规则就是 x ⋅ w ≥ 0 x \cdot w \ge 0 x⋅w≥0(这里在定义的时候取到了 = = =号), h h h输出其预测标签 h ( x ) = 1 h(x)=1 h(x)=1;否则 x ⋅ w < 0 x \cdot w \lt 0 x⋅w<0, h h h输出其预测标签 h ( x ) = − 1 h(x)=-1 h(x)=−1。
PPT中可以认为
h
∗
h^{*}
h∗是那个「上帝」掌控的完美分类器,它在分布
D
D
D上不会分类错误。

当存在一个训练集
S
S
S的时候,如何题表示
S
S
S是线性可分(Linearly separable)的?相当于我们分类器
h
h
h分类出来的结果,和训练样本
p
p
p的标签是一致的,如下所示,其中
w
⋅
p
=
0
w \cdot p=0
w⋅p=0的地方是划分出来的超平面(这里需要严格划分超平面,因此不存在点在超平面上,取不到
=
=
=号)。

其中让我疑惑的点是,线性分类问题找到的分类器都是过原点的嘛?是否有点缺乏普遍性?答案为是,参考知乎@李诗旸在机器学习中的超平面为什么不过原点?上的回答,“线性子空间”需要过原点,“超平面”可以指任意线性子空间在任意仿射下的象,言外之意不需要过原点。至于是否缺乏普适性,其实在
R
d
\mathbb{R}^{d}
Rd上不过原点的超平面,可以通过法向量
ω
d
+
1
\omega^{d+1}
ωd+1的构造,转换为
R
d
+
1
\mathbb{R}^{d+1}
Rd+1上过原点的超平面,参考相关题目中的题目5。
在定义了线性分类问题后,我们就是想找到那个分类器 h h h所表示的分割的超平面,找到了该超平面就能让训练样本 S S S上的误差为0,即 e r r S ( h ) = 0 err_{S}(h)=0 errS(h)=0。
为了找到合适的分类器
h
h
h,其实就是要找到它的参数
w
w
w,感知机算法先初始化
w
=
(
0
,
0
,
.
.
.
,
0
)
w=(0,0,...,0)
w=(0,0,...,0),然后在迭代中找到那些异常点violation point
p
p
p,根据这些异常点调整
w
w
w,直到不出现异常点。其中异常点的判断是和它们的label直接相关的,当label
p
=
1
p=1
p=1,正常的点需要分类器算出来的
w
⋅
p
>
0
w \cdot p>0
w⋅p>0(这里就是严格取不到
=
=
=),否则就是异常,异常调整的规则就是
w
=
w
+
p
w=w+p
w=w+p;对于label
p
=
−
1
p=-1
p=−1,正常的点需要分类器算出来的
w
⋅
p
<
0
w \cdot p<0
w⋅p<0,否则就是异常,异常调整的规则就是
w
=
w
−
p
w=w-p
w=w−p。

老师推导了一个完整的例子,两步确实找到了分割平面,实在是small and sweet。在图中我们需要记住的是,一个线性分割超平面的决定参数
ω
\omega
ω,对应着就是垂直于该超平面的法向量(图中的红色箭头)。

其中涉及到几个概念:
通理就是:感知机最大的调整次数为 ( R r ) 2 \left( \frac{R}{r} \right)^{2} (rR)2,或者可以认为从 w 0 = ( 0 , 0... , 0 ) w_{0}=(0,0...,0) w0=(0,0...,0)开始最多找到 ( R r ) 2 \left( \frac{R}{r} \right)^{2} (rR)2个violation point.
为了证明这个Theorem,需要了解一些矩阵分析vector analysis的知识:

最重要的一个分析就是将某条直线 l ∗ l^{*} l∗的margin,和其单位法向量 u ⃗ ∗ \vec{u}^{*} u∗联系起来,如下图所示,通过矩形的对边相等,我们可以看出,训练集 S S S中任意一点 p ⃗ \vec{p} p到直线 l ∗ l^{*} l∗的距离为 ∣ u ∗ ⃗ ⋅ p ∗ ⃗ ∣ |\vec{u^*} \cdot \vec{p^*}| ∣u∗⋅p∗∣, 也可以这样理解,点到直线的距离 ∣ p ⃗ ⋅ w ⃗ ∣ w ⃗ ∣ ∣ = ∣ u ∗ ⃗ ⋅ p ∗ ⃗ ∣ |\frac{\vec{p} \cdot \vec{w}}{|\vec{w}|}|=|\vec{u^*} \cdot \vec{p^*}| ∣∣w∣p⋅w∣=∣u∗⋅p∗∣.
因为margin是点到直线的最短距离,训练集
S
S
S中任意一点
p
⃗
\vec{p}
p到直线
l
∗
l^{*}
l∗的距离,必定是大于等于
m
a
r
g
i
n
(
l
∗
)
margin(l^{*})
margin(l∗)的。

为了证明这个通理,需要证明两个引理:
Lemma1证明,其中
w
0
=
(
0
,
0
,
.
.
.
0
)
w_{0}=(0,0,...0)
w0=(0,0,...0):

Lemma2证明:

将上面的两个引理证明的结论一夹逼,就得到了通理的证明,主要是记住两个引理的最后一步。
∣
w
k
∣
≥
k
γ
|w_{k}| \ge k\gamma
∣wk∣≥kγ
∣
w
k
∣
2
≤
k
R
2
|w_{k}|^{2} \le kR^{2}
∣wk∣2≤kR2

感知机算法能够找到分类器 h h h让训练样本 S S S上的emprical error为0,即 e r r S ( h ) = 0 err_{S}(h)=0 errS(h)=0,进一步地,我们能否用它来约束达到一个较小的泛化误差 e r r D ( h ) err_{D}(h) errD(h)? 用第一节课学过的泛化误差和训练误差的通理是不能够进行约束了。因为其中有一项 l n ( ∣ H ∣ ) ln(\left |H \right|) ln(∣H∣)和可能的分类器数目有关,然而在线性分类的空间中这个值无限大,不能够像决策树那样根据parameter数目进行合理估计。这就为下一章引入VC-dim埋下了伏笔,将训练误差和泛化误差的关系用VC-dim联系起来。
应用感知机算法迭代,掌握其迭代过程

考察通理的应用,超过最大迭代次数
(
R
γ
)
2
\left( \frac{R}{\gamma} \right)^{2}
(γR)2,则没有超平面。

直接带入通理计算,对于找到的任意点来说一定都是上限。


通理的推导过程,系数
λ
\lambda
λ可以在不等式中消去。


