其主要思想为:选择投影方向,使2类样本投影的均值之差尽量最大,这样就可以使类内样本的离散程度尽可能小。
m a x J F ( w ) = ( m ‾ 1 − m ‾ 2 ) 2 S ‾ 1 2 + S ‾ 2 2 max J_F(w)=\frac {(\overline m_1-\overline m_2)^2}{\overline S_1^2 + \overline S_2^2} maxJF(w)=S12+S22(m1−m2)2
其中类间离散度 = ( m ‾ 1 − m ‾ 2 ) 2 (\overline m_1-\overline m_2)^2 (m1−m2)2,总类内离散度 = S ‾ 1 2 + S ‾ 2 2 \overline S_1^2 + \overline S_2^2 S12+S22。最大化Fisher准则函数即使类内数据尽可能聚集,不同的类尽可能远离。
样本在方向上的投影为: y = w T x y=w^Tx y=wTx,则 J F ( w ) = w T S b w w T S w w J_F(w)=\frac {w^TS_bw}{w^TS_ww} JF(w)=wTSwwwTSbw, w ∗ = max w J F ( w ) w^*=\max_wJ_F(w) w∗=maxwJF(w),需要求解使得准则函数取得最大值时所对应的 w ∗ w^* w∗。即,求一个最大的 w T S b w w^TS_bw wTSbw。那么确定方向的 w ∗ = S w − 1 ( m 1 − m 2 ) w^*=S_w^{-1}(m_1-m_2) w∗=Sw−1(m1−m2)
当样本数量 N N N和特征维度 d d d都很大时, y y y接近正态分布,可在空间内用贝叶斯分类器。
在两类的协方差相同时,,Fisher线性判别所得的方向实际就是最优贝叶斯决策方向,此时:
w 0 = − 1 2 ( m 1 + m 2 ) T S w − 1 ( m 1 − m 2 ) − l n p ( w 2 ) p ( w 1 ) w_0=-\frac {1}{2}(m_1+m_2)^TS_w^{-1}(m_1-m_2)-ln\frac{p(w_2)}{p(w_1)} w0=−21(m1+m2)TSw−1(m1−m2)−lnp(w1)p(w2)
在考虑先验概率的情况下,也可采用如下估计:
w 0 = − 1 2 ( m ‾ 1 + m ‾ 2 ) − 1 N 1 + N 2 + 1 l n p ( w 1 ) p ( w 2 ) w_0=-\frac {1}{2}(\overline m_1+\overline m_2)-\frac {1}{N_1+N_2+1}ln\frac{p(w_1)}{p(w_2)} w0=−21(m1+m2)−N1+N2+11lnp(w2)p(w1)
若 g ( x ) = w T x + w 0 { g ( x ) > 0 , x ∈ w 1 g ( x ) < 0 , x ∈ w 2 若g(x)=w^Tx+w_0 \left \{ \begin{array}{c} g(x)>0 ,x\in w_1\\ g(x)<0 ,x\in w_2 \end{array} \right. 若g(x)=wTx+w0{g(x)>0,x∈w1g(x)<0,x∈w2
是一种线性判别法,利用梯度下降法进行计算。
设一个线性判别函数为 g ( y ) = a T y g(y)=a^Ty g(y)=aTy,求解不等式 a T y i > 0 a^Ty_i>0 aTyi>0的解所采用的方法是:定义一个准则函数 J ( a ) J(a) J(a),当 a a a是解向量时, J ( a ) J(a) J(a)为最小。
可以采用梯度下降法来寻找一个 J ( a ) J(a) J(a)。从一个随机选择的权向量 a ( 1 ) a(1) a(1)开始,计算其梯度向量 ∇ J ( a ( 1 ) ) \nabla J(a(1)) ∇J(a(1)),下一个值 a ( 2 ) a(2) a(2)由a(1)自a(1)梯度方向移动一小段距离而得到,梯度下降法的表达式为:
α ( k + 1 ) = α ( k ) + − ρ k ∇ J \alpha(k+1)=\alpha(k)+-\rho_k \nabla J α(k+1)=α(k)+−ρk∇J
其中 ρ k \rho_k ρk就是我们熟知的学习率—— l e a r n i n g − r a t e learning -rate learning−rate
而在使用梯度下降法的时候,可以采用固定学习率或者可变学习率的方法。
对于可变学习率,可以用下面的步长来调整学习率:
ρ k = ∣ α ( k ) T y i ∣ ∥ y i ∥ 2 \rho_k=\frac{|\alpha (k)^Ty_i|}{\begin{Vmatrix}y_i\end{Vmatrix}^2} ρk=∥∥yi∥∥2∣α(k)Tyi∣
经过有限的迭代之后,就可以得到一个收敛的解向量 a ∗ a^* a∗,但是如果样本不是线性可分的,则用感知器算法就不会得到收敛解。
前一节的方法只能运用于线性可分的情况下,而线性不可分时,就需要用到最小平方误差法,即MSE。
该方法是将求解线性不等式组的问题转化为求解线性线性方程组的问题。
即把 Y a > 0 Ya>0 Ya>0和 Y a < 0 Ya<0 Ya<0的问题转化为 Y a = b Ya=b Ya=b的问题。
定义一个误差矢量 e ⃗ \vec e e,用 e ⃗ \vec e e的长度的平方作为准则函数: e = Y a − b e=Ya-b e=Ya−b
准则函数的形式如下:
J s ( α ) = ∥ Y α − b ∥ 2 = ∑ i = 1 N ( α T y i − b i ) 2 J_s(\alpha)=\begin{Vmatrix}{Y\alpha -b}\end{Vmatrix}^2=\sum _{i=1}^N(\alpha ^Ty_i-b_i)^2 Js(α)=∥∥Yα−b∥∥2=i=1∑N(αTyi−bi)2
确定参数,使误差长度的平方最小,即使上式最小。也可以使用梯度下降法来求解该问题。
梯度为: ∇ J s ( α ) = 2 Y T ( Y α − b ) \nabla J_s(\alpha)=2Y^T(Y\alpha-b) ∇Js(α)=2YT(Yα−b),当梯度具有极小值时,准则函数有最小值。
使用梯度下降法,先给定一个初始权向量 α ( 0 ) \alpha(0) α(0),再按照梯度下降的方向更新权向量(迭代公式为: α ( k + 1 ) = α ( k ) − ρ k Y T ( Y α − b ) \alpha(k+1)=\alpha(k)-\rho_kY^T(Y\alpha-b) α(k+1)=α(k)−ρkYT(Yα−b)),直到梯度下降到一个接近于0的值为止。
对于 b b b我们可以取其为 b = [ 1 , 1 , . . . , 1 ] T b=[1,1,...,1]^T b=[1,1,...,1]T,当有无穷个样本 N N N时,MSE的解 g ( y ) = α T y g(y)=\alpha ^Ty g(y)=αTy以最小均方误差逼近贝叶斯判别函数,即我们得到的 a a a可以使 e 2 = ∫ ( a T y − g 0 ( x ) ) 2 p ( x ) d x e^2=\int (a^Ty-g_0(x))^2p(x)dx e2=∫(aTy−g0(x))2p(x)dx极小。