从感知器准则到最小平方误差准则——与神经网络的发展类比
与神经网络的发展类比
感知器准则 | → \rightarrow → | 最小平方误差判别 |
---|---|---|
∣ ∣ | | ∣∣ | ↓ \downarrow ↓神经网络,误差反馈学习 | ∣ ∣ | | ∣∣ |
感知器模型(误差反馈学习) | → \rightarrow → | 线性神经单元(梯度下降法) |
在线性不可分的情况下,不等式组
θ
T
z
i
>
0
,
i
=
1
,
2
,
⋯
,
N
(1)
\boldsymbol{\theta}^{\rm T} \boldsymbol{z}_i > 0, \quad i = 1, 2, \cdots, N \tag{1}
θTzi>0,i=1,2,⋯,N(1)
不可能同时满足。一种直观的想法就是,希望求解一个
θ
\boldsymbol{\theta}
θ使被错分的样本尽可能少,即不满足不等式 (1) 的样本尽可能少,这种方法是通过解线性不等式组来最小化错分样本数目,通常采用搜索算法求解。
但是,求解线性不等式组有时并不方便,为了避免此问题,可以引进一系列待定的常数,把不等式组 (1) 转变成下列方程组
θ
T
z
i
=
y
i
>
0
,
i
=
1
,
2
,
⋯
,
N
\boldsymbol{\theta}^{\rm T} \boldsymbol{z}_i = y_i > 0, \quad i = 1, 2, \cdots, N
θTzi=yi>0,i=1,2,⋯,N
或写成矩阵形式
Z
θ
=
y
\boldsymbol{Z} \boldsymbol{\theta} = \boldsymbol{y}
Zθ=y
假设一组
d
d
d维样本集
x
1
,
x
2
,
⋯
,
x
n
\boldsymbol{x}_1, \boldsymbol{x}_2, \cdots, \boldsymbol{x}_n
x1,x2,⋯,xn,其中
n
1
n_1
n1个属于
C
1
C_1
C1类的样本记为子集
D
1
\mathcal{D}_1
D1,
n
2
n_2
n2个属于
C
2
C_2
C2类的样本记为子集
D
2
\mathcal{D}_2
D2。进一步,假设一个从
x
i
\boldsymbol{x}_i
xi生成的样本
z
i
\boldsymbol{z}_i
zi,它通过加上一个阈值分量
x
0
≡
1
x_0 \equiv 1
x0≡1而得到“增广样本向量”。而且如果它被归为
C
2
C_2
C2,那么整个模式向量都乘以
−
1
-1
−1,也就是“规范化”操作。不失一般性,可以假设前
n
1
n_1
n1个样本属于
C
1
C_1
C1,后
n
2
n_2
n2个样本属于
C
2
C_2
C2。这样矩阵
Z
\boldsymbol{Z}
Z就可以写成分块矩阵
Z
=
[
1
1
X
1
−
1
2
−
X
2
]
\boldsymbol{Z}= \begin{bmatrix} \boldsymbol{1}_1 & \boldsymbol{X}_1 \\ -\boldsymbol{1}_2 & -\boldsymbol{X}_2 \end{bmatrix}
Z=[11−12X1−X2]
其中,
1
i
\boldsymbol{1}_i
1i是
n
i
n_i
ni个 1 的列向量,
X
i
\boldsymbol{X}_i
Xi是一个
n
i
×
d
n_i \times d
ni×d矩阵,它的行是属于
C
i
C_i
Ci的样本。
同样将
θ
\boldsymbol{\theta}
θ和
y
\boldsymbol{y}
y分块:
θ
=
[
w
0
w
]
\boldsymbol{\theta} = \begin{bmatrix} w_0 \\ \boldsymbol{w} \end{bmatrix}
θ=[w0w]
且
y
=
[
1
1
1
2
]
\boldsymbol{y} = \begin{bmatrix} \boldsymbol{1}_1 \\ \boldsymbol{1}_2 \end{bmatrix}
y=[1112]
同样地,负号可以放在右端项
Z
=
[
1
1
X
1
1
2
X
2
]
\boldsymbol{Z}= \begin{bmatrix} \boldsymbol{1}_1 & \boldsymbol{X}_1 \\ \boldsymbol{1}_2 & \boldsymbol{X}_2 \end{bmatrix}
Z=[1112X1X2]
y
=
[
1
1
−
1
2
]
\boldsymbol{y} = \begin{bmatrix} \boldsymbol{1}_1 \\ -\boldsymbol{1}_2 \end{bmatrix}
y=[11−12]
从此, y \boldsymbol{y} y就有了新的物理解释,可以看成是类别标记,对于 Y = 1 Y=1 Y=1的类别,标记为1,对于 Y = − 1 Y=-1 Y=−1的类别,标记为-1。从样本点 { C 1 , C 2 } \{C_1, C_2\} {C1,C2}到数值的映射。统计学模型中经常描述的样本划分,因此用样本点表示。机器学习因为是从输入到输出的映射,因此用数值表示类别标记。(注:凡事把C_1, C_2当集合的,都是概念不清,因为Duda用的 ω 1 \omega_1 ω1, ω 2 \omega_2 ω2,但Duda数学功底扎实,没有数学概念错误,某人誊抄他的,自以为聪明的用了集合语言)
为了表述方便,仍用
X
\boldsymbol{X}
X表示规范化增广样本矩阵,
w
{\bm w}
w表示增广权向量。最小二乘准则寻找解向量
w
{\bm w}
w,使误差的平方和最小
J
S
(
w
)
=
∥
e
∥
2
2
=
∥
y
−
X
w
∥
2
2
=
∑
i
=
1
n
(
y
i
−
w
T
x
i
)
2
J_{S} \left( {\bm w} \right) = \lVert {\bm e} \rVert^2_2 = \lVert {\bm y} - {{\bm X}} {\bm w}\rVert^2_2 = \sum\limits_{i=1}^{n} \left( {\bm y}_i - {\bm w}^{\rm T} {\bm x}_i \right)^2
JS(w)=∥e∥22=∥y−Xw∥22=i=1∑n(yi−wTxi)2
可以用伪逆解或者梯度下降法求解。
最小二乘准则的目标是使误差平方和最小,而不是错误分类样本数最小。对于线性可分样本集,决策面也不一定能将两类样本完全正确分开,不能确保每个样本都被正确分类。