基于判别函数的判别准则
- 对于 c c c类分类问题:设 g i ( x ) , i = 1 , 2 , … , c g_i(\mathbf{x}), i=1,2, \ldots, c gi(x),i=1,2,…,c, 表示每个类别对应的判别函数,决策规则为:如果 g i ( x ) > g j ( x ) , ∀ j ≠ i g_i(\mathbf{x})>g_j(\mathbf{x}), \forall j \neq i gi(x)>gj(x),∀j=i, 则 x \mathbf{x} x 被分为第 ω i \omega_i ωi 类,也就是说,样本被分到判别函数值最大的那一类
- 对于两类分类问题,可以只用一个判别函数,定义为: g ( x ) = g 1 ( x ) − g 2 ( x ) g(\mathbf{x})=g_1(\mathbf{x})-g_2(\mathbf{x}) g(x)=g1(x)−g2(x),判别准则为: g ( x ) > 0 g(\mathbf{x})>0 g(x)>0, 分为第一类; 否则为第二类
【例子】假如每一类的分类器是后验概率
g
i
(
x
)
=
p
(
ω
i
∣
x
)
g_i(\mathbf{x})=p\left(\omega_i \mid \mathbf{x}\right)
gi(x)=p(ωi∣x),那么两类分类器为
g
(
x
)
=
p
(
ω
1
∣
x
)
−
p
(
ω
2
∣
x
)
或
g
(
x
)
=
log
p
(
x
∣
ω
1
)
p
(
x
∣
ω
2
)
+
log
p
(
ω
1
)
p
(
ω
2
)
g(\mathbf{x})=p\left(\omega_1 \mid \mathbf{x}\right)-p\left(\omega_2 \mid \mathbf{x}\right)或g(\mathbf{x})=\log \frac{p\left(\mathbf{x} \mid \omega_1\right)}{p\left(\mathbf{x} \mid \omega_2\right)}+\log \frac{p\left(\omega_1\right)}{p\left(\omega_2\right)}
g(x)=p(ω1∣x)−p(ω2∣x)或g(x)=logp(x∣ω2)p(x∣ω1)+logp(ω2)p(ω1)
线性判别函数与决策面
- 线性判别函数的基本形式:
g ( x ) = w T x + w 0 g(\mathbf{x})=\mathbf{w}^T \mathbf{x}+\mathcal{w}_0 g(x)=wTx+w0
其中, w \mathbf{w} w是权重向量, w 0 w_0 w0是偏移量 - 两类情形的决策规则
{ x ∈ ω 1 , if g ( x ) > 0 x ∈ ω 2 , if g ( x ) < 0 uncertain, if g ( x ) = 0 \begin{cases}\mathbf{x} \in \omega_1, & \text { if } g(\mathbf{x})>0 \\ \mathbf{x} \in \omega_2, & \text { if } g(\mathbf{x})<0 \\ \text {uncertain, } & \text { if } g(\mathbf{x})=0\end{cases} ⎩ ⎨ ⎧x∈ω1,x∈ω2,uncertain, if g(x)>0 if g(x)<0 if g(x)=0
g ( x ) = 0 g(\mathbf{x})=0 g(x)=0 定义了一个决策面, 它是类 ω 1 \omega_1 ω1 和 ω 2 \omega_2 ω2 的分界面
g ( x ) = 0 g(\mathbf{x})=0 g(x)=0 是一个超平面, 记为 H H H 。位于该平面的任意向量与 w w w 垂直:
【证明】如果
x
1
\mathbf{x}_1
x1 和
x
2
\mathbf{x}_2
x2 位于该超平面内, 于是有:
g
(
x
1
)
−
g
(
x
2
)
=
w
T
(
x
1
−
x
2
)
=
0
g\left(\mathbf{x}_1\right)-g\left(\mathbf{x}_2\right)=\mathbf{w}^T\left(\mathbf{x}_1-\mathbf{x}_2\right)=0
g(x1)−g(x2)=wT(x1−x2)=0
- 对于任意样本
x
\mathbf{x}
x, 将其向决策面内投影, 并写成两个向量之和:
x = x p + r w ∥ w ∥ \mathbf{x}=\mathbf{x}_p+r \frac{\mathbf{w}}{\|\mathbf{w}\|} x=xp+r∥w∥w
其中, x p \mathbf{x}_p xp 为 x \mathbf{x} x 在超平面 H H H 上的投影, r r r为点 x \mathbf{x} x 到超平面 H H H 的代数距离。如果 x \mathbf{x} x 在超平面正侧, 则 r > 0 r>0 r>0; 反之 r < 0 r<0 r<0
由于 g ( x p ) = 0 g\left(\mathbf{x}_p\right)=0 g(xp)=0,于是
g ( x ) = w T ( x p + r w ∥ w ∥ ) + w 0 = r ∥ w ∥ ⇒ r = g ( x ) ∥ w ∥ \begin{aligned} g(\mathbf{x}) & =\mathbf{w}^T\left(\mathbf{x}_p+r \frac{\mathbf{w}}{\|\mathbf{w}\|}\right)+w_0 \\ & =r\|\mathbf{w}\| \\ \Rightarrow r & =\frac{g(\mathbf{x})}{\|\mathbf{w}\|} \end{aligned} g(x)⇒r=wT(xp+r∥w∥w)+w0=r∥w∥=∥w∥g(x)
并且有坐标原点到超平面的距离为: w 0 / ∥ w ∥ \mathcal{w}_0 /\|\mathbf{w}\| w0/∥w∥(用点到平面距离公式)
- 对于多分类问题,可以采用多个二类分类器集成得到多类分类器 g i ( x ) = w i T x + w i 0 , i = 1 , 2 , … , k g_i(\mathbf{x})=\mathbf{w}_i^T \mathbf{x}+w_{i 0}, \quad i=1,2, \ldots, k gi(x)=wiTx+wi0,i=1,2,…,k
- One-vs-all: 逐一与所有的其它类进行配对, 可以构造
c
c
c 个两类分类器。存在很多不确定区域,并且训练每个二类分类器要用到所有样本点
- One-vs-one:两两 (类-类) 配对, 可以构造 c ( c − 1 ) / 2 c(c-1) / 2 c(c−1)/2 个两类分类器。仍然存在不确定性区域,但相对较少;需要训练很多分类器,但训练起来只需要部分(两类)数据,而且更容易得到线性可分的结果(想象一下one vs all,在训练的时候,一类和剩下的所有类很可能是线性不可分的) - 如果我们修改决策规则为
x ∈ ω i , g i ( x ) = max j = 1 , 2.. c g j ( x ) \mathbf{x} \in \omega_i, \quad g_i(\mathbf{x})=\max _{j=1,2 . . c} g_j(\mathbf{x}) x∈ωi,gi(x)=j=1,2..cmaxgj(x)
将不再有不确定区域,最终的决策边界会发生改变
非线性判别函数
- 线性情形
g ( x ) = w 0 + ∑ i = 1 d w i x i , 其中, x = [ x 1 , x 2 , … , x d ] T g(\mathbf{x})=w_0+\sum_{i=1}^d w_i x_i, \quad \text { 其中, } \mathbf{x}=\left[x_1, x_2, \ldots, x_d\right]^T g(x)=w0+i=1∑dwixi, 其中, x=[x1,x2,…,xd]T - 可以进行二次推广,但是看成是线性函数(广义)
g ( x ) = w 0 + ∑ i = 1 d w i x i + ∑ i = 1 d ∑ j = 1 d w i j x i x j = ∑ i = 1 d ^ a i y i ( x ) \begin{aligned} g(\mathbf{x}) & =w_0+\sum_{i=1}^d w_i x_i+\sum_{i=1}^d \sum_{j=1}^d w_{i j} x_i x_j =\sum_{i=1}^{\hat{d}} a_i y_i(\mathbf{x}) \end{aligned} g(x)=w0+i=1∑dwixi+i=1∑dj=1∑dwijxixj=i=1∑d^aiyi(x)
y 1 ( x ) = 1 y 2 ( x ) = x 1 y 3 ( x ) = x 2 … y d + 1 ( x ) = x d y d + 2 ( x ) = x 1 2 y d + 3 ( x ) = x 1 x 2 … y ( d + 1 ) ( d + 2 ) 2 ( x ) = x d 2 \begin{aligned} & y_1(\mathbf{x})=1 \\ & y_2(\mathbf{x})=x_1 \\ & y_3(\mathbf{x})=x_2 \\ & \ldots \\ & y_{d+1}(\mathbf{x})=x_d \\ & y_{d+2}(\mathbf{x})=x_1^2 \\ & y_{d+3}(\mathbf{x})=x_1 x_2 \\ & \ldots \\ & y_{\frac{(d+1)(d+2)}{2}}(\mathbf{x})=x_d^2 \end{aligned} y1(x)=1y2(x)=x1y3(x)=x2…yd+1(x)=xdyd+2(x)=x12yd+3(x)=x1x2…y2(d+1)(d+2)(x)=xd2
由于 w i j = w j i w_{i j}=w_{j i} wij=wji,共有 1 + d + d + ( d 2 − d ) / 2 = ( d + 1 ) ( d + 2 ) / 2 1+d+d+(d^2-d)/2=(d+1)(d+2)/2 1+d+d+(d2−d)/2=(d+1)(d+2)/2个系数待估计; g ( x ) = 0 g(\mathbf{x})=0 g(x)=0 为决策面, 它是一个二次超曲面 - 一般情况
g ( x ) = ∑ i = 1 d ^ a i y i ( x ) g(\mathbf{x})=\sum_{i=1}^{\hat{d}} a_i y_i(\mathbf{x}) g(x)=i=1∑d^aiyi(x)
- a \mathbf{a} a 为广义权重向量, y \mathbf{y} y 是经由 x \mathbf{x} x 所变成的新数据点。
- 广义判别函数 g ( x ) g(\mathbf{x}) g(x) 对 x \mathbf{x} x 而言是非线性的, 对 y \mathbf{y} y 是线性的。
- g ( x ) g(\mathbf{x}) g(x) 对 y \mathbf{y} y 是齐次的, 意味着决策面通过新空间的坐标原点。且任意点 y \mathbf{y} y 到决策面的代数距离为 a T y / ∥ a ∥ \mathbf{a}^T \mathbf{y} /\|\mathbf{a}\| aTy/∥a∥ (点到权重向量的投影长度)。
- 当新空间的维数足够高时, g ( x ) g(\mathbf{x}) g(x) 可以逼近任意判别函数。
- 但是, 新空间的维数远远高于原始空间的维数 d d d 时, 会造成维数灾难问题(curse of dimensionality)。
【例子】设有一维样本空间
X
\mathrm{X}
X, 我们期望如果
x
<
−
1
x<-1
x<−1 或者
x
>
0.5
x>0.5
x>0.5, 则
x
x
x 属于第一类
ω
1
\omega_1
ω1; 如果
−
1
<
x
<
0.5
-1<x<0.5
−1<x<0.5, 则属于第二类
ω
2
\omega_2
ω2, 请设计一 个判别函数
g
(
x
)
g(x)
g(x) 。
g
(
x
)
=
(
x
−
0.5
)
(
x
+
1
)
=
−
0.5
+
0.5
x
+
x
2
=
a
1
+
a
2
x
+
a
3
x
2
\begin{aligned} g(x) & =(x-0.5)(x+1) =-0.5+0.5 x+x^2 =a_1+a_2 x+a_3 x^2 \end{aligned}
g(x)=(x−0.5)(x+1)=−0.5+0.5x+x2=a1+a2x+a3x2
- 对线性判别函数采用齐次增广表示
y = ( 1 x ) = [ 1 x 1 ⋯ x d ] T , a = ( w 0 w ) = [ w 0 w 1 ⋯ w d ] T \mathbf{y}=\left(\begin{array}{l} 1 \\ \mathbf{x} \end{array}\right)=\left[\begin{array}{llll} 1 & x_1 & \cdots & x_d \end{array}\right]^T, \quad \mathbf{a}=\left(\begin{array}{l} w_0 \\ \mathbf{w} \end{array}\right)=\left[\begin{array}{llll} w_0 & w_1 & \cdots & w_d \end{array}\right]^T y=(1x)=[1x1⋯xd]T,a=(w0w)=[w0w1⋯wd]T
g ( x ) = w T x + w 0 = a T y g(\mathbf{x})=\mathbf{w}^T \mathbf{x}+w_0=\mathbf{a}^T \mathbf{y} g(x)=wTx+w0=aTy - Y空间中任意一点 y \mathbf{y} y 到 H H H 的距离为: r = g ( x ) ∥ a ∥ = a T y ∥ a ∥ \quad r=\frac{g(\mathbf{x})}{\|\mathbf{a}\|}=\frac{\mathbf{a}^T \mathbf{y}}{\|\mathbf{a}\|} r=∥a∥g(x)=∥a∥aTy
- 线性齐次空间增加了一个维度, 仍可保持欧氏距离不变, 分类效果与原来的决策面相同。但分类面将过坐标原点, 对于某些分析, 将具有优势。