线性判别函数
2015-08-26 18:19
218 查看
线性判别,是想在特征空间内,找到一个超平面g(x)g(x),能够区分开数据。空间内的超平面表示为:
g(x)=∑ni=1wi∗xi+w0=wt∗x+w0=0g(x)=\sum_{i=1}^{n}w_{i}*x_{i}+w_{0}=w^t*x+w_0=0。
x⇀=xp⇀+r⇀\overset {\rightharpoonup}{x}=\overset {\rightharpoonup}{x_p}+\overset {\rightharpoonup}{r}
其中xp⇀\overset {\rightharpoonup}{x_p}是点xx在平面g(x)g(x)上的垂直投影点,r⇀\overset {\rightharpoonup}{r}表示x⇀\overset {\rightharpoonup}{x}在超平面上的正交投影(即点到平面的距离)。
将x⇀\overset {\rightharpoonup}{x}带入g(x)g(x)得到:
g(x⇀)=wt∗x⇀+w0g(\overset {\rightharpoonup}{x})=w^t*\overset {\rightharpoonup}{x}+w_{0}
g(x⇀)=wt∗(xp⇀+r⇀)+w0g(\overset {\rightharpoonup}{x})=w^t*(\overset {\rightharpoonup}{x_p}+\overset {\rightharpoonup}{r})+w_0
g(x⇀)=g(xp⇀)+wt∗r⇀g(\overset {\rightharpoonup}{x})=g(\overset {\rightharpoonup}{x_p})+w^t * \overset {\rightharpoonup}{r}
xp⇀\overset {\rightharpoonup}{x_p}在平面上,所以g(xp⇀)=0g(\overset {\rightharpoonup}{x_p})=0
故上式得:g(x)=wt∗r=<w,r>=||w||∗||r||∗cos(w,r)g(x)=w^t*r==||w||*||r||*cos(w,r)
线性判别函数g(x)g(x)是特征空间中某点xx到超平面的距离的一种线性度量。
超平面的性质:
1. ww与超平面HH正交。证明提示,设两个点在超平面上,点在平面上则满足g(x)=0g(x)=0
2. ||r||=g(x)||w||||r||=\frac{g(x)}{||w||}。证明如开始。
3. 原点到超平面HH距离d=w0||w||d = \frac{w_0}{||w||}
4. 若w0>0w_0>0,则超平面在原点正侧;否则反之。若w0=0w_0=0,则超平面通过原点。
结论:
1. 超平面的方向由ww确定。
2. 超平面的位置由w0w_0确定。
3. 超平面g(x)g(x)正比于点xx到超平面HH的代数距离(带正负号)。xx在超平面HH的正侧,g(x)>0g(x)>0;否则,反之。
结论3可由x=xp+r∗w||w||x=x_{p}+r* \frac{w}{||w||}很容易看出。
总而言之,线性判别函数g(x)=wt∗x+w0g(x)=w^t*x+w_0利用一个超平面HH将特征空间划分为两部分。在正侧的点xx满足g(x)>0g(x)>0,在负侧的点满足g(x)<0g(x)<0。
思考,如果能够找到一组参数ww,使得g(x;w)g(x;w)满足样本集的类别识别率,岂不是就找到了一个很好的分界超平面,实现分类。
于是,问题就变成了在训练样本指导下,寻找一组参数ww,使得g(x;w)g(x;w)可以确定一个超平面,能够很好地区分类别。
下面介绍几种评估参数选择是否合适的策略评价函数。
1. 感知器准则函数
Jp(w)=∑x∈χ(−wt∗x′)J_p(w)=\sum_{x \in \chi}(-w^t*x')
其中,ww是增广权向量,即增加了w0w_0。xx是增广特征向量,即增加了1,x′x'是规范化的样本表示。χ\chi表示被ww分错的样本集。
规范化如下:
x′={+x−x当x∈w1当x∈w2x'= \left\{\begin{matrix} +x & 当x \in w_1\\ -x & 当x \in w_2 \end{matrix}\right.
规范化的作用,是为了消除类别标记的影响,只需要寻找尽可能使得所有样本wt∗x′>0w^t*x'>0的参数即可。
由前面的分析可知,Jp(w)J_{p}(w)与错分样本到决策超平面的距离之和成正比。其思想就是把分错作为评价指标。最小化Jp(w)J_p(w)即得到最优参数ww,对错分类的不断修正。
若利用梯度下降求解最优参数解
其某个参数分量的梯度为∂Jp∂wi=∑x∈χ(−x′i)\frac{\partial J_p}{\partial w_i}=\sum_{x \in \chi}(-x'_i)。
整体参数的梯度为∂Jp∂w=∑x∈χ(−x′)\frac{\partial J_p}{\partial w}=\sum_{x \in \chi}(-x')
迭代公式为:
w(k+1)=w(k)−η(k)∗∂Jp∂w=w(k)+η(k)∗∑x∈χx′w(k+1)=w(k)-\eta(k)*\frac{\partial J_p}{\partial w}=w(k) + \eta(k) * \sum_{x \in \chi}x'
2. 最小平方误差方法MSE
之前的感知器准则,是找参数ww使得wt∗x′>0w^t*x'>0,现在加强约束,使得wt∗x′=b>0w^t*x'=b>0,bb为任意取值的正常数向量,相当于解区域缩小了。
此处定义一个误差向量:e=wt∗x′−be=w^t*x'-b。
则得误差平方和准则函数:
Js(w)=||wt∗x′−b||2=∑mi=1(wt∗x′i−bi)2J_s(w)=||w^t*x'-b||^2=\sum_{i=1}^{m}(w^t*x'_i-b_i)^2
梯度下降求解时,其参数的梯度为:
∂Js∂w=∑mi=12∗(wt∗x′i−bi)∗x′i\frac{\partial J_s}{\partial w}= \sum_{i=1}^{m}2*(w^t*x'_i-b_i)*x'_i
也可以直接计算方程组,求解。
wt∗x′=bw^t*x'=b
wt∗x′∗(x′)t=b∗(x′)tw^t*x'*(x')^t=b*(x')^t
wt=b∗(x′)t∗[x′∗(x′)t]−1w^t=b*(x')^t*[x'*(x')^t]^{-1}
如果反着乘,是另一种形式。
3. Fisher线性判别准则
Fisher线性判别的思想,将多维空间映射到一维上,使得类别相同的样本的映射点集中到一起,不同类别的样本的映射点相距很远。
g(x)=w.t∗x+w0g(x)=w.^t*x+w_0
稍微改写一下变成了y=wt∗xy=w^t*x,其中w和xw和x是增广的。可以看作是将xx经过wtw^t的变换,映射到了单维空间上。xx不需要规范化。
两个向量的点乘<a,b>=||a||∗||b||∗cos(a,b)=||a||*||b||*cos(a,b),几何意义是aa在bb上的投影长度乘以||b||||b||或者是bb在aa上的投影乘以||a||||a||。
则y=wt∗xy=w^t*x可以理解为xx在ww方向上的投影乘以||w||||w||。yy并不是单纯意义上的正负。
如果能找到一组很好的ww,使得映射后的点yy在ww上的分布能够使得,同类的映射点靠得很近,不同类的映射点靠得很远,也就实现了分类的目的。
从上图可以看到,不同的参数ww对应于不同的映射,映射点的分布也是不同的。能够实现分类目的的是上面右侧的ww。
Fisher线性判别准则:映射点集,高内聚,低耦合。
两类区分度:
|m1∼−m2∼|=|1n1∑x∈D1(wt∗x)−1n2∑x∈D2(wt∗x)||\overset {\sim}{m_1}-\overset{\sim}{m_2}|=|\frac{1}{n_1}\sum_{x \in D_1}(w^t*x)-\frac{1}{n_2}\sum_{x \in D_2}(w^t*x)|
类内方差:si∼2=∑y∈yi(y−mi∼)2\overset {\sim}{s_i}^2=\sum_{y \in y_i}(y-\overset {\sim}{m_i})^2
准则函数:
J(w)=|m1∼−m2∼|2s1∼2+s2∼2J(w)=\frac{|\overset {\sim}{m_1}-\overset{\sim}{m_2}|^2}{\overset {\sim}{s_1}^2+\overset {\sim}{s_2}^2}
转换为ww的形式:J(w)=wt∗SB∗wwt∗SW∗wJ(w)=\frac{w^t*S_{B}*w}{w^t*S_{W}*w}
其中,定义类内散布矩阵SiS_i和总类内散布矩阵SWS_W:
Si=∑x∈Di(x−Xi−)S_i=\sum_{x \in D_i}(x-\overset {-}{X_i}); SW=S1+S2S_W=S_1+S_2
定义总类间散布矩阵SBS_B:
SB=(X1−−X2−)(X1−−X2−)tS_B=(\overset{-}{X_1}-\overset{-}{X_2})(\overset{-}{X_1}-\overset{-}{X_2})^t;其中Xi−\overset{-}{X_i}表示第ii类的样本均值。
准则函数最大时的w=S−1W(X1−−X2−)w=S_{W}^{-1}(\overset{-}{X_1}-\overset{-}{X_2}),证明过程不作说明了。
ww是超平面HH的法向量,之前的感知器准则是基于超平面HH判断分类对错,最小平方误差准则也是基于超平面判断分类误差,Fisher线性判别则是直接利用超平面HH的法向量ww。
(1)若是将样本集分为当前类CiC_i和非当前类Cj,j≠iC_{j,j \neq i}。
需要CC个ww;会有覆盖不到的特征空间。
分类方法如下:
gi(x)=wti∗x{>0<0x∈Ci其他类别g_i(x)=w_{i}^t*x \begin{cases} >0 & x \in C_i \\ <0 & 其他类别 \end{cases}
(2)若是每两个类,都找到wijw_{ij}来描述两类间的超平面。
需要C(C−1)2\frac{C(C-1)}{2}个ww;将多类问题转换为2类问题。
分类方法如下:
gij(x)=wtij∗x{>0<0x∈Cix∈Cjg_{ij}(x) =w_{ij}^t*x\begin{cases}>0 & x \in C_i \\ <0 & x \in C_j \end{cases}
其中i≠ji \neq j。
(3)每类都有一个判别函数,存在CC个判别函数。
分类方法如下:
gi(x)=wtk∗x{最大小当x∈Ci当x∉Cig_i(x)=w_{k}^t*x \begin{cases}最大 & 当x \in C_i \\ 小 & 当 x \notin C_i \end{cases}
k=1,2,3,...,Ck=1, 2, 3,...,C, CC个判别函数中,最大的那个判别函数对应的类别是样本的类别。
那么这个地方,为什么最大的gi(x)g_i(x)表示了xx属于列别CiC_i呢??疑惑中…
如何判断线性可分呢?
低维度(小于3维),可以绘图看出。
高维时,检查凸包(convex hull)是否相交。
http://m.blog.csdn.net/blog/u013300875/44081067 一篇介绍凸包是否相交的博客。
凸包不重叠(两凸包的边相交),则线性可分。否则,反之。
思考:高维下,数据是不是基本都不会线性可分?直觉上是这样的哟~
不能线性可分的怎么办?
广义线性判别函数,是将非线性判别函数,转换为线性判别函数。
如g(x)=w0+w1∗x1+w2∗x2+w3∗x1∗x2g(x)=w_0+w_1*x_1+w_2*x_2+w_3*x_1*x_2
可以变换为线性形式:
g(x)=w0+w1∗f1(x)+w2∗f2(x)+w3∗f3(x)g(x)=w_0+w_1*f_1(x)+w_2*f_2(x)+w_3*f_3(x)
由xx空间映射到zz空间的代数表示如下:
g(x)=xt∗A∗x=(a∗z)t∗A∗(a∗z)=zt∗(at∗A∗a)∗zg(x)=x^t*A*x=(a*z)^t*A*(a*z)=z^t*(a^t*A*a)*z
则有新判别函数:wt∗z=g(z){>0<0x∈C1x∈C2w^t*z=g(z)\begin{cases} >0 & x \in C_1\\ <0 & x \in C_2\end{cases}
联想二次函数f(x)=(x−a)(x−b)f(x)=(x-a)(x-b)求其大于0,小于0的xx范围。
因为可以将非线性判别函数变为线性判别函数,则讨论线性判别函数不会失去一般意义。
一种特殊的映射方法:增广
g(x)=∑ni=1wixi+w0g(x)=\sum_{i=1}^nw_ix_i + w_0
增广权向量:a=[w0w]a=\left[\begin{matrix} w_0 \\ w \end{matrix}\right] ;增广特征向量:z=[1x]z = \left[\begin{matrix} 1 \\ x \end{matrix}\right]
g(x)空间x−>空间z,得g′(z)=at∗zg(x) 空间x->空间z,得g'(z)=a^t*z
变换后,样本间距离保持不变,使得分类效果在两个空间内是一致的;由at∗za^t*z确定的超平面经过zz空间的原点;优化参数可以统一表示为一个符号。
广义线性判别带来的维度灾难问题
每个wiw_i都需要对应的zz空间的维度,维度很多时,会带来极大的问题。核方法解决。
红色和黑色点表示不同类别的样本;红色虚线表示可区分类别的超平面;灰色区域表示可用超平面的法向量(解区域)对应的区域范围。
加入边沿裕量bb之后,解区域受到约束。
g(x)=∑ni=1wi∗xi+w0=wt∗x+w0=0g(x)=\sum_{i=1}^{n}w_{i}*x_{i}+w_{0}=w^t*x+w_0=0。
线性判别函数
由超平面到分类问题
假设特征空间内存在某一超平面为g(x)=wt∗x+w0=0g(x)=w^t*x+w_{0}=0,则空间内某一点x⇀\overset {\rightharpoonup}{x}到其的距离r=g(x)||w||r=\frac{g(x)}{||w||},其推理如下:x⇀=xp⇀+r⇀\overset {\rightharpoonup}{x}=\overset {\rightharpoonup}{x_p}+\overset {\rightharpoonup}{r}
其中xp⇀\overset {\rightharpoonup}{x_p}是点xx在平面g(x)g(x)上的垂直投影点,r⇀\overset {\rightharpoonup}{r}表示x⇀\overset {\rightharpoonup}{x}在超平面上的正交投影(即点到平面的距离)。
将x⇀\overset {\rightharpoonup}{x}带入g(x)g(x)得到:
g(x⇀)=wt∗x⇀+w0g(\overset {\rightharpoonup}{x})=w^t*\overset {\rightharpoonup}{x}+w_{0}
g(x⇀)=wt∗(xp⇀+r⇀)+w0g(\overset {\rightharpoonup}{x})=w^t*(\overset {\rightharpoonup}{x_p}+\overset {\rightharpoonup}{r})+w_0
g(x⇀)=g(xp⇀)+wt∗r⇀g(\overset {\rightharpoonup}{x})=g(\overset {\rightharpoonup}{x_p})+w^t * \overset {\rightharpoonup}{r}
xp⇀\overset {\rightharpoonup}{x_p}在平面上,所以g(xp⇀)=0g(\overset {\rightharpoonup}{x_p})=0
故上式得:g(x)=wt∗r=<w,r>=||w||∗||r||∗cos(w,r)g(x)=w^t*r==||w||*||r||*cos(w,r)
线性判别函数g(x)g(x)是特征空间中某点xx到超平面的距离的一种线性度量。
超平面的性质:
1. ww与超平面HH正交。证明提示,设两个点在超平面上,点在平面上则满足g(x)=0g(x)=0
2. ||r||=g(x)||w||||r||=\frac{g(x)}{||w||}。证明如开始。
3. 原点到超平面HH距离d=w0||w||d = \frac{w_0}{||w||}
4. 若w0>0w_0>0,则超平面在原点正侧;否则反之。若w0=0w_0=0,则超平面通过原点。
结论:
1. 超平面的方向由ww确定。
2. 超平面的位置由w0w_0确定。
3. 超平面g(x)g(x)正比于点xx到超平面HH的代数距离(带正负号)。xx在超平面HH的正侧,g(x)>0g(x)>0;否则,反之。
结论3可由x=xp+r∗w||w||x=x_{p}+r* \frac{w}{||w||}很容易看出。
总而言之,线性判别函数g(x)=wt∗x+w0g(x)=w^t*x+w_0利用一个超平面HH将特征空间划分为两部分。在正侧的点xx满足g(x)>0g(x)>0,在负侧的点满足g(x)<0g(x)<0。
思考,如果能够找到一组参数ww,使得g(x;w)g(x;w)满足样本集的类别识别率,岂不是就找到了一个很好的分界超平面,实现分类。
于是,问题就变成了在训练样本指导下,寻找一组参数ww,使得g(x;w)g(x;w)可以确定一个超平面,能够很好地区分类别。
如何寻找超平面
那么问题来了,如何由已知的训练样本指导参数ww的寻找呢(如何确定超平面HH)?即如何评价参数ww的优劣。下面介绍几种评估参数选择是否合适的策略评价函数。
1. 感知器准则函数
Jp(w)=∑x∈χ(−wt∗x′)J_p(w)=\sum_{x \in \chi}(-w^t*x')
其中,ww是增广权向量,即增加了w0w_0。xx是增广特征向量,即增加了1,x′x'是规范化的样本表示。χ\chi表示被ww分错的样本集。
规范化如下:
x′={+x−x当x∈w1当x∈w2x'= \left\{\begin{matrix} +x & 当x \in w_1\\ -x & 当x \in w_2 \end{matrix}\right.
规范化的作用,是为了消除类别标记的影响,只需要寻找尽可能使得所有样本wt∗x′>0w^t*x'>0的参数即可。
由前面的分析可知,Jp(w)J_{p}(w)与错分样本到决策超平面的距离之和成正比。其思想就是把分错作为评价指标。最小化Jp(w)J_p(w)即得到最优参数ww,对错分类的不断修正。
若利用梯度下降求解最优参数解
其某个参数分量的梯度为∂Jp∂wi=∑x∈χ(−x′i)\frac{\partial J_p}{\partial w_i}=\sum_{x \in \chi}(-x'_i)。
整体参数的梯度为∂Jp∂w=∑x∈χ(−x′)\frac{\partial J_p}{\partial w}=\sum_{x \in \chi}(-x')
迭代公式为:
w(k+1)=w(k)−η(k)∗∂Jp∂w=w(k)+η(k)∗∑x∈χx′w(k+1)=w(k)-\eta(k)*\frac{\partial J_p}{\partial w}=w(k) + \eta(k) * \sum_{x \in \chi}x'
2. 最小平方误差方法MSE
之前的感知器准则,是找参数ww使得wt∗x′>0w^t*x'>0,现在加强约束,使得wt∗x′=b>0w^t*x'=b>0,bb为任意取值的正常数向量,相当于解区域缩小了。
此处定义一个误差向量:e=wt∗x′−be=w^t*x'-b。
则得误差平方和准则函数:
Js(w)=||wt∗x′−b||2=∑mi=1(wt∗x′i−bi)2J_s(w)=||w^t*x'-b||^2=\sum_{i=1}^{m}(w^t*x'_i-b_i)^2
梯度下降求解时,其参数的梯度为:
∂Js∂w=∑mi=12∗(wt∗x′i−bi)∗x′i\frac{\partial J_s}{\partial w}= \sum_{i=1}^{m}2*(w^t*x'_i-b_i)*x'_i
也可以直接计算方程组,求解。
wt∗x′=bw^t*x'=b
wt∗x′∗(x′)t=b∗(x′)tw^t*x'*(x')^t=b*(x')^t
wt=b∗(x′)t∗[x′∗(x′)t]−1w^t=b*(x')^t*[x'*(x')^t]^{-1}
如果反着乘,是另一种形式。
3. Fisher线性判别准则
Fisher线性判别的思想,将多维空间映射到一维上,使得类别相同的样本的映射点集中到一起,不同类别的样本的映射点相距很远。
g(x)=w.t∗x+w0g(x)=w.^t*x+w_0
稍微改写一下变成了y=wt∗xy=w^t*x,其中w和xw和x是增广的。可以看作是将xx经过wtw^t的变换,映射到了单维空间上。xx不需要规范化。
两个向量的点乘<a,b>=||a||∗||b||∗cos(a,b)=||a||*||b||*cos(a,b),几何意义是aa在bb上的投影长度乘以||b||||b||或者是bb在aa上的投影乘以||a||||a||。
则y=wt∗xy=w^t*x可以理解为xx在ww方向上的投影乘以||w||||w||。yy并不是单纯意义上的正负。
如果能找到一组很好的ww,使得映射后的点yy在ww上的分布能够使得,同类的映射点靠得很近,不同类的映射点靠得很远,也就实现了分类的目的。
从上图可以看到,不同的参数ww对应于不同的映射,映射点的分布也是不同的。能够实现分类目的的是上面右侧的ww。
Fisher线性判别准则:映射点集,高内聚,低耦合。
两类区分度:
|m1∼−m2∼|=|1n1∑x∈D1(wt∗x)−1n2∑x∈D2(wt∗x)||\overset {\sim}{m_1}-\overset{\sim}{m_2}|=|\frac{1}{n_1}\sum_{x \in D_1}(w^t*x)-\frac{1}{n_2}\sum_{x \in D_2}(w^t*x)|
类内方差:si∼2=∑y∈yi(y−mi∼)2\overset {\sim}{s_i}^2=\sum_{y \in y_i}(y-\overset {\sim}{m_i})^2
准则函数:
J(w)=|m1∼−m2∼|2s1∼2+s2∼2J(w)=\frac{|\overset {\sim}{m_1}-\overset{\sim}{m_2}|^2}{\overset {\sim}{s_1}^2+\overset {\sim}{s_2}^2}
转换为ww的形式:J(w)=wt∗SB∗wwt∗SW∗wJ(w)=\frac{w^t*S_{B}*w}{w^t*S_{W}*w}
其中,定义类内散布矩阵SiS_i和总类内散布矩阵SWS_W:
Si=∑x∈Di(x−Xi−)S_i=\sum_{x \in D_i}(x-\overset {-}{X_i}); SW=S1+S2S_W=S_1+S_2
定义总类间散布矩阵SBS_B:
SB=(X1−−X2−)(X1−−X2−)tS_B=(\overset{-}{X_1}-\overset{-}{X_2})(\overset{-}{X_1}-\overset{-}{X_2})^t;其中Xi−\overset{-}{X_i}表示第ii类的样本均值。
准则函数最大时的w=S−1W(X1−−X2−)w=S_{W}^{-1}(\overset{-}{X_1}-\overset{-}{X_2}),证明过程不作说明了。
ww是超平面HH的法向量,之前的感知器准则是基于超平面HH判断分类对错,最小平方误差准则也是基于超平面判断分类误差,Fisher线性判别则是直接利用超平面HH的法向量ww。
多分类问题
上面讨论的都是二分类问题,当多个类别时,怎么处理呢?下面提供几种多分类的处理方法。(1)若是将样本集分为当前类CiC_i和非当前类Cj,j≠iC_{j,j \neq i}。
需要CC个ww;会有覆盖不到的特征空间。
分类方法如下:
gi(x)=wti∗x{>0<0x∈Ci其他类别g_i(x)=w_{i}^t*x \begin{cases} >0 & x \in C_i \\ <0 & 其他类别 \end{cases}
(2)若是每两个类,都找到wijw_{ij}来描述两类间的超平面。
需要C(C−1)2\frac{C(C-1)}{2}个ww;将多类问题转换为2类问题。
分类方法如下:
gij(x)=wtij∗x{>0<0x∈Cix∈Cjg_{ij}(x) =w_{ij}^t*x\begin{cases}>0 & x \in C_i \\ <0 & x \in C_j \end{cases}
其中i≠ji \neq j。
(3)每类都有一个判别函数,存在CC个判别函数。
分类方法如下:
gi(x)=wtk∗x{最大小当x∈Ci当x∉Cig_i(x)=w_{k}^t*x \begin{cases}最大 & 当x \in C_i \\ 小 & 当 x \notin C_i \end{cases}
k=1,2,3,...,Ck=1, 2, 3,...,C, CC个判别函数中,最大的那个判别函数对应的类别是样本的类别。
那么这个地方,为什么最大的gi(x)g_i(x)表示了xx属于列别CiC_i呢??疑惑中…
适用条件与广义线性判别
适用条件:只有线性可分问题,才可以用线性判别。如何判断线性可分呢?
低维度(小于3维),可以绘图看出。
高维时,检查凸包(convex hull)是否相交。
http://m.blog.csdn.net/blog/u013300875/44081067 一篇介绍凸包是否相交的博客。
凸包不重叠(两凸包的边相交),则线性可分。否则,反之。
思考:高维下,数据是不是基本都不会线性可分?直觉上是这样的哟~
不能线性可分的怎么办?
广义线性判别函数,是将非线性判别函数,转换为线性判别函数。
如g(x)=w0+w1∗x1+w2∗x2+w3∗x1∗x2g(x)=w_0+w_1*x_1+w_2*x_2+w_3*x_1*x_2
可以变换为线性形式:
g(x)=w0+w1∗f1(x)+w2∗f2(x)+w3∗f3(x)g(x)=w_0+w_1*f_1(x)+w_2*f_2(x)+w_3*f_3(x)
由xx空间映射到zz空间的代数表示如下:
g(x)=xt∗A∗x=(a∗z)t∗A∗(a∗z)=zt∗(at∗A∗a)∗zg(x)=x^t*A*x=(a*z)^t*A*(a*z)=z^t*(a^t*A*a)*z
则有新判别函数:wt∗z=g(z){>0<0x∈C1x∈C2w^t*z=g(z)\begin{cases} >0 & x \in C_1\\ <0 & x \in C_2\end{cases}
联想二次函数f(x)=(x−a)(x−b)f(x)=(x-a)(x-b)求其大于0,小于0的xx范围。
因为可以将非线性判别函数变为线性判别函数,则讨论线性判别函数不会失去一般意义。
一种特殊的映射方法:增广
g(x)=∑ni=1wixi+w0g(x)=\sum_{i=1}^nw_ix_i + w_0
增广权向量:a=[w0w]a=\left[\begin{matrix} w_0 \\ w \end{matrix}\right] ;增广特征向量:z=[1x]z = \left[\begin{matrix} 1 \\ x \end{matrix}\right]
g(x)空间x−>空间z,得g′(z)=at∗zg(x) 空间x->空间z,得g'(z)=a^t*z
变换后,样本间距离保持不变,使得分类效果在两个空间内是一致的;由at∗za^t*z确定的超平面经过zz空间的原点;优化参数可以统一表示为一个符号。
广义线性判别带来的维度灾难问题
每个wiw_i都需要对应的zz空间的维度,维度很多时,会带来极大的问题。核方法解决。
解区域与解向量
对线性可分问题,特征空间内,总是有许多个超平面可以区分类别。比如下图,反映了解存在的区域。红色和黑色点表示不同类别的样本;红色虚线表示可区分类别的超平面;灰色区域表示可用超平面的法向量(解区域)对应的区域范围。
加入边沿裕量bb之后,解区域受到约束。
小结
线性判别,就是在特征空间内找到超平面HH区分两类,或者是投影到超平面的法向量ww上,来分辨两类。多类问题是基于两类问题的;另外,非线性可以变换为线性;解是不固定的。其中的特征空间的变换就是线性代数中的空间变换。相关文章推荐
- libcurl库的使用(通过libcurl库下载url图像)
- 在 Java 中解压 zip 文件
- 华为机试之笨笨熊搬家
- leetcode之反转链表
- 九度OJ 题目1134:密码翻译
- Jenkins+Gradle
- Sqlite触发器关键字
- 获取tomcat当前路径
- iOS 推送
- LINUX终端调用DOS输出字符输出显示乱码问题
- 利用Python PIL、cPickle将图片读取和保存为pkl格式文件
- 浅析CSS编程的外部CSS文件引用方法
- 【云快讯】《微软Sharepoint 2016 Beta版发布,强化混合云搜索功能》
- 【云快讯】《微软Sharepoint 2016 Beta版发布,强化混合云搜索功能》
- java - 日期相减、四舍五入
- Matlab GUI 图像矩形剪切,并存储、发布
- C#:只运行一个程序
- MyEclipse安装JS代码提示(Spket插件)
- 九度OJ 题目1133:学分绩点
- 【Linux基础】Linux简史