基于判别函数的判别准则
- 对于ccc类分类问题:设 gi(x),i=1,2,…,cg_i(\mathbf{x}), i=1,2, \ldots, cgi(x),i=1,2,…,c, 表示每个类别对应的判别函数,决策规则为:如果 gi(x)>gj(x),∀j≠ig_i(\mathbf{x})>g_j(\mathbf{x}), \forall j \neq igi(x)>gj(x),∀j=i, 则 x\mathbf{x}x 被分为第 ωi\omega_iωi 类,也就是说,样本被分到判别函数值最大的那一类
- 对于两类分类问题,可以只用一个判别函数,定义为:g(x)=g1(x)−g2(x)g(\mathbf{x})=g_1(\mathbf{x})-g_2(\mathbf{x})g(x)=g1(x)−g2(x),判别准则为:g(x)>0g(\mathbf{x})>0g(x)>0, 分为第一类; 否则为第二类
【例子】假如每一类的分类器是后验概率gi(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)=logp(x∣ω1)p(x∣ω2)+logp(ω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)=wTx+w0g(\mathbf{x})=\mathbf{w}^T \mathbf{x}+\mathcal{w}_0 g(x)=wTx+w0
其中,w\mathbf{w}w是权重向量,w0w_0w0是偏移量 - 两类情形的决策规则
{x∈ω1,if g(x)>0x∈ω2,if g(x)<0uncertain, 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)=0g(\mathbf{x})=0g(x)=0 定义了一个决策面, 它是类 ω1\omega_1ω1 和 ω2\omega_2ω2 的分界面
g(x)=0g(\mathbf{x})=0g(x)=0 是一个超平面, 记为 HHH 。位于该平面的任意向量与 www 垂直:
【证明】如果 x1\mathbf{x}_1x1 和 x2\mathbf{x}_2x2 位于该超平面内, 于是有:
g(x1)−g(x2)=wT(x1−x2)=0g\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=xp+rw∥w∥\mathbf{x}=\mathbf{x}_p+r \frac{\mathbf{w}}{\|\mathbf{w}\|} x=xp+r∥w∥w
其中, xp\mathbf{x}_pxp 为 x\mathbf{x}x 在超平面 HHH 上的投影, rrr为点 x\mathbf{x}x 到超平面 HHH 的代数距离。如果 x\mathbf{x}x 在超平面正侧, 则 r>0r>0r>0; 反之 r<0r<0r<0
由于g(xp)=0g\left(\mathbf{x}_p\right)=0g(xp)=0,于是
g(x)=wT(xp+rw∥w∥)+w0=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)
并且有坐标原点到超平面的距离为:w0/∥w∥\mathcal{w}_0 /\|\mathbf{w}\|w0/∥w∥(用点到平面距离公式)

- 对于多分类问题,可以采用多个二类分类器集成得到多类分类器gi(x)=wiTx+wi0,i=1,2,…,kg_i(\mathbf{x})=\mathbf{w}_i^T \mathbf{x}+w_{i 0}, \quad i=1,2, \ldots, kgi(x)=wiTx+wi0,i=1,2,…,k
- One-vs-all: 逐一与所有的其它类进行配对, 可以构造 ccc 个两类分类器。存在很多不确定区域,并且训练每个二类分类器要用到所有样本点
- One-vs-one:两两 (类-类) 配对, 可以构造 c(c−1)/2c(c-1) / 2c(c−1)/2 个两类分类器。仍然存在不确定性区域,但相对较少;需要训练很多分类器,但训练起来只需要部分(两类)数据,而且更容易得到线性可分的结果(想象一下one vs all,在训练的时候,一类和剩下的所有类很可能是线性不可分的)
- 如果我们修改决策规则为
x∈ωi,gi(x)=maxj=1,2..cgj(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)=w0+∑i=1dwixi,其中, x=[x1,x2,…,xd]Tg(\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)=w0+∑i=1dwixi+∑i=1d∑j=1dwijxixj=∑i=1d^aiyi(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)
y1(x)=1y2(x)=x1y3(x)=x2…yd+1(x)=xdyd+2(x)=x12yd+3(x)=x1x2…y(d+1)(d+2)2(x)=xd2\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
由于wij=wjiw_{i j}=w_{j i}wij=wji,共有1+d+d+(d2−d)/2=(d+1)(d+2)/21+d+d+(d^2-d)/2=(d+1)(d+2)/21+d+d+(d2−d)/2=(d+1)(d+2)/2个系数待估计;g(x)=0g(\mathbf{x})=0g(x)=0 为决策面, 它是一个二次超曲面 - 一般情况
g(x)=∑i=1d^aiyi(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 到决策面的代数距离为 aTy/∥a∥\mathbf{a}^T \mathbf{y} /\|\mathbf{a}\|aTy/∥a∥ (点到权重向量的投影长度)。
- 当新空间的维数足够高时, g(x)g(\mathbf{x})g(x) 可以逼近任意判别函数。
- 但是, 新空间的维数远远高于原始空间的维数 ddd 时, 会造成维数灾难问题(curse of dimensionality)。
【例子】设有一维样本空间 X\mathrm{X}X, 我们期望如果 x<−1x<-1x<−1 或者 x>0.5x>0.5x>0.5, 则 xxx 属于第一类 ω1\omega_1ω1; 如果 −1 ![在这里插入图片描述]()
g(x)=(x−0.5)(x+1)=−0.5+0.5x+x2=a1+a2x+a3x2\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=(1x)=[1x1⋯xd]T,a=(w0w)=[w0w1⋯wd]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)=wTx+w0=aTyg(\mathbf{x})=\mathbf{w}^T \mathbf{x}+w_0=\mathbf{a}^T \mathbf{y} g(x)=wTx+w0=aTy - Y空间中任意一点 y\mathbf{y}y 到 HHH 的距离为: r=g(x)∥a∥=aTy∥a∥\quad r=\frac{g(\mathbf{x})}{\|\mathbf{a}\|}=\frac{\mathbf{a}^T \mathbf{y}}{\|\mathbf{a}\|}r=∥a∥g(x)=∥a∥aTy
- 线性齐次空间增加了一个维度, 仍可保持欧氏距离不变, 分类效果与原来的决策面相同。但分类面将过坐标原点, 对于某些分析, 将具有优势。