基本形式为: f ( x ) f(x) f(x)= ω 1 x 1 ω1x1 ω1x1+ ω 2 x 2 ω2x2 ω2x2+ ω 3 x 3 ω3x3 ω3x3+ . . . ... ...+ ω n x n ωnxn ωnxn+ b b b;
我们也可以改写成向量形式: f ( x ) f(x) f(x)= ω T x ω^Tx ωTx+ b b b;
从式子中可以看出,学习器只要学的ω与b两个参数后,线性模型就可以确定下来。那么问题就来了,我们通过什么能得到ω与b这两个参数呢?
非线性模型即离散模型,可以得知非线性模型可以说出是由若干个线性模型通过一种随机的方法组合形成的,也可以说成其可以通过线性模型通过高维映射或直接通过引入层级结构得到。因此只要我们可以得出线性模型的规律以及参数,我们就可以解决非线性模型的相关问题,因此我们着重的去考虑线性模型。
我们可以得到一个数据集: D = ( x 1 , y 1 ) ( x 2 , y 2 ) ( x 3 , y 3 ) . . . ( x m , y m ) D={(x1,y1)(x2,y2)(x3,y3)...(xm,ym)} D=(x1,y1)(x2,y2)(x3,y3)...(xm,ym)其中 y i yi yi为 x i xi xi的真实标记。对于离散属性,若属性间存在“序”的关系,可通过连续化转化为连续值。例如属性中“身高”的取值有“高”、“矮”两种,就可以转化为 D = ( 1 , 0 ) ( 0 , 1 ) D={(1,0)(0,1)} D=(1,0)(0,1)也可以有三种属性值“高”、“中”、“低”,同样可以转化为 D = ( 1 , 0 ) ( 0 , 0.5 ) ( 0 , 1 ) D={(1,0)(0,0.5)(0,1)} D=(1,0)(0,0.5)(0,1);若属性间不存在“序”的关系,假定离散属性间存在 k k k个属性值,通常情况下转化为 k k k维向量。
对于线性回归来说,其试图学得 f ( x i ) = ω x i + b f(xi)=ωxi+b f(xi)=ωxi+b 使得 f ( x i ) \,f(xi)\, f(xi) ≈ \approx\, ≈ y i yi yi。
ω与b只要使得均方误差达到最小化,即: ( ω ∗ , b ∗ ) (\omega^*,b^*) (ω∗,b∗) = a r g m i n ( ω , b ) =argmin(\omega,b) =argmin(ω,b)
∑ i = 1 m ( f ( x i ) − y i ) 2 (1) \sum_{i=1}^m{(f(xi)-yi)^2}\tag{1} i=1∑m(f(xi)−yi)2(1)由于 y i = ω x i + b yi=\omega xi+b yi=ωxi+b因此式子(1-1)也可写成
∑ i = 1 m ( f ( x i ) − ω x i − b ) 2 \sum_{i=1}^m{(f(xi)-\omega xi-b)^2} i=1∑m(f(xi)−ωxi−b)2
利用欧式(欧几里得)变换,得出线性回归最小二乘:
E ( ω , b ) = ∑ i = 1 m ( f ( x i ) − ω x i − b ) 2 E_ ( \omega ,b)=\sum_{i=1}^m(f(xi)-\omega xi-b)^2 E(ω,b)=i=1∑m(f(xi)−ωxi−b)2
对 ω \omega ω与b分别求导得:
∂ E ( ω , b ) ∂ ω = 2 ( ω ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) (2) \frac {\partial E_ ( \omega ,b)}{\partial \omega}=2(\omega\sum_{i=1}^m{xi^2}-\sum_{i=1}^m(yi-b)xi)\tag{2} ∂ω∂E(ω,b)=2(ωi=1∑mxi2−i=1∑m(yi−b)xi)(2)
∂ E ( ω , b ) ∂ b = 2 ( m b − ∑ i = 1 m ( y i − ω x i ) (3) \frac {\partial E_ ( \omega ,b)}{\partial b}=2(mb-\sum_{i=1}^m(yi-\omega xi)\tag{3} ∂b∂E(ω,b)=2(mb−i=1∑m(yi−ωxi)(3)
那么将式子(2)(3)联立可得:
ω = ∑ i = 1 m y i ( x i − x ‾ ) ∑ i = 1 m x i 2 − 1 m , ( ∑ i = 1 m x i ) 2 , ( x ‾ = 1 m ∑ i = 1 m x i ) \omega=\frac {\sum_{i=1}^m{yi(xi-\overline{x})}}{\sum_{i=1}^m{xi^2}-\frac{1}{m},(\sum_{i=1}^m{xi})^2},(\overline{x}=\frac{1}{m}\sum_{i=1}^m{xi}) ω=∑i=1mxi2−m1,(∑i=1mxi)2∑i=1myi(xi−x),(x=m1i=1∑mxi)
b = 1 m ∑ i = 1 m y − ω x i b=\frac{1}{m}\sum_{i=1}^m{y-\omega xi} b=m1i=1∑my−ωxi
称 f ( x i ) = ω T x i + b f(xi)=\omega^Txi+b f(xi)=ωTxi+b的多元线性回归。
也可以使用最小二乘法对 ω \omega ω和 b b b进行估计,即令 ω ^ = ( ω , b ) \hat{\omega}=(\omega,b) ω^=(ω,b),其相应数据集D则为 m × ( d + 1 ) m\times(d+1) m×(d+1)的矩阵 X X X( d d d元素对应着 d d d属性值,最后元素恒为1),即为
X ( D ) = ( x 11 x 12 x 13 . . . x 1 d 1 x 21 x 22 x 23 . . . x 2 d 1 . . . . . . . . . . . 1 . . . . . . . . . . . 1 x m 1 x m 2 x m 3 . . . x m d 1 ) X_{(D)}= \begin{pmatrix} x_{11} &x_{ 12} &x_{1 3}&...&x_{1d} &1\\ x_{21} &x_{ 22} &x_{2 3}&...&x_{2d} &1 \\ ..&..&..&...&..&1\\ ..&..&..&...&..&1\\ x_{m1} &x_{ m2} &x_{m3}&...&x_{md} &1 \end{pmatrix} X(D)=⎝⎜⎜⎜⎜⎛x11x21....xm1x12x22....xm2x13x23....xm3...............x1dx2d....xmd11111⎠⎟⎟⎟⎟⎞
y = ( y 1 ; y 2 ; y 3 ; . . . ; y m ) y=\begin{pmatrix} y_1;&y_2;&y_3;&...;&y_m \end{pmatrix} y=(y1;y2;y3;...;ym)
ω ^ ∗ = a r g m i n ( ω ^ ) ( y − X ω ^ ) T ( y − X ω ^ ) \hat{\omega}^*=argmin_{(\hat{\omega})}(y-X\hat{\omega})^T(y-X\hat{\omega}) ω^∗=argmin(ω^)(y−Xω^)T(y−Xω^),令 E ω ^ = ( y − X ω ^ ) T ( y − X ω ^ ) E_{\hat{\omega}}=(y-X\hat{\omega})^T(y-X\hat{\omega}) Eω^=(y−Xω^)T(y−Xω^)对 ω ^ \hat{\omega} ω^求导得 ∂ E ω ^ ∂ ω = 2 X T ( X ω ^ − y ) \frac {\partial E_ {\hat{\omega}}}{\partial \omega}=2X^T(X\hat{\omega}-y ) ∂ω∂Eω^=2XT(Xω^−y)推导过程 ⟶ \longrightarrow ⟶
原式 ∂ E ω ^ ∂ ω \frac {\partial E_ {\hat{\omega}}}{\partial \omega} ∂ω∂Eω^= ∂ ( y − X ω ^ ) T ( y − X ω ^ ) ∂ a r g m i n ( ω ^ ) ( y − X ω ^ ) T ( y − X ω ^ ) = ∂ ( y − X ω ^ ) T ( y − X ω ^ ) 1 2 X a r g m i n ( y − X ω ^ ) T ( y − X ω ^ ) \frac{\partial(y-X\hat{\omega})^T(y-X\hat{\omega})}{\partial argmin_{(\hat{\omega})}(y-X\hat{\omega})^T(y-X\hat{\omega})}=\frac{\partial (y-X\hat{\omega})^T(y-X\hat{\omega})}{\frac{1}{2}X {argmin(y-X\hat{\omega})^T(y-X\hat{\omega})}} ∂argmin(ω^)(y−Xω^)T(y−Xω^)∂(y−Xω^)T(y−Xω^)=21Xargmin(y−Xω^)T(y−Xω^)∂(y−Xω^)T(y−Xω^)= 2 X T ( X ω ^ − y ) 2X^T(X\hat{\omega}-y ) 2XT(Xω^−y),令该式等于零就可以得出最优解的闭式解,当 X T X X^TX XTX为满秩矩阵或正定矩阵时, ω ^ ∗ = ( X T X ) − 1 X T y \hat{\omega}^*=(X^TX)^{-1}X^Ty ω^∗=(XTX)−1XTy,再令 x i ^ = ( x i , 1 ) \hat{xi}=(xi,1) xi^=(xi,1),可学得多元线性回归模型: f ( x i ^ ) = x i ^ T ( X T X ) − 1 X T y f(\hat{xi})=\hat{xi}^T(X^TX)^{-1}X^Ty f(xi^)=xi^T(XTX)−1XTy
为了让 f ( x ) f(x) f(x)模型的预测值更趋向于真实标记 y y y,可以让 f ( x ) f(x) f(x)通过联系函数 g ( ⋅ ) g(·) g(⋅)来逼近不同情况下的目标,例如样本对应上的输出标记在指数尺度上的变化,我们可令 g ( ⋅ ) = l n ( ⋅ ) g(·)=ln(·) g(⋅)=ln(⋅)即 l n y = ω T x + 1 lny = \omega^Tx+1 lny=ωTx+1, y = g − 1 ( ω T x + b ) y=g^{-1}(\omega^Tx+b) y=g−1(ωTx+b),其中 g ( ⋅ ) g(·) g(⋅)为单调可微函数。这就是广义线性模型。
二分类问题 y ∈ y\in {} y∈{0, 1}, 线性回归模型产生预测值 z = ω T x + b z=\omega^{T}x+b z=ωTx+b为实值,需要将线性回归模型产生的预测值做 0 / 1 0/1 0/1变换, g ( ⋅ ) g(·) g(⋅)必须为单调可微函数,对数几率函数: y = 1 1 + e − ( ω T x + b ) y=\frac{1}{1+e^{-(\omega^{T}x+b)}} y=1+e−(ωTx+b)1, 经简单变换得 l n y 1 − y = ω T x + b ln \frac{y}{1-y}=\omega^{T}x+b ln1−yy=ωTx+b, y y y为正例率的可能性, 1 − y 1-y 1−y为反例率的可能性; y 1 − y \frac{y}{1-y} 1−yy则为几率, x x x可以看出正例的相对可能性,
l n y 1 − y = ω T x + b ln \frac{y}{1-y}=\omega^{T}x+b ln1−yy=ωTx+b, 又称为“对数几率回归”。
若将 p ( y = 1 ∣ x ) p(y=1 \mid x) p(y=1∣x)视为 y y y类后验概率,则
y = 1 1 + e − ( ω T x + b ) y=\frac{1}{1+e^{-(\omega^Tx+b)}} y=1+e−(ωTx+b)1可化为 l n p ( y = 1 ∣ x ) p ( y = 0 ∣ x ) = ω T x + b ln\frac{p(y=1\mid x)}{p(y=0\mid x)}=\omega^Tx+b lnp(y=0∣x)p(y=1∣x)=ωTx+b显然有 p ( y = 1 ∣ x ) = e ω T x + b 1 + e ω T x + b (4) p(y=1\mid x)=\frac{e^{\omega^T x+b}}{1+e^{\omega^T x+b}}\tag{4} p(y=1∣x)=1+eωTx+beωTx+b(4) p ( y = 0 ∣ x ) = 1 1 + e ω T x + b (5) p(y=0\mid x)=\frac{1}{1+e^{\omega^T x+b}}\tag{5} p(y=0∣x)=1+eωTx+b1(5)通过“极大释然法”对 ω \omega ω 和 b b b 估计,给定数据集为 { ( x i , y i ) } i = 1 m \lbrace(xi,yi)\rbrace_{i=1}^m {(xi,yi)}i=1m ,则最大化“对数释然”即:
l ( ω , b ) = ∑ i = 1 m l n ( p ( y i ∣ x i ; ω , b ) ) (最大释然项) l(\omega\,, b)=\sum_{i=1}^mln(p(yi\mid xi;\omega,b))\tag{最大释然项} l(ω,b)=i=1∑mln(p(yi∣xi;ω,b))(最大释然项)
可看出,每个样本的真实标记越大越好,可令 β = ( ω ; b ) , x ^ = ( x ; 1 ) , P 1 ( x ^ ; β ) = p ( y = 1 ∣ x ^ ; β ) , P 0 ( x ^ ; β ) = p ( y = 0 ∣ x ^ ; β ) = 1 − P 1 ( x ^ ; β ) \beta=(\omega\,;b),\hat{x}=(x\,;1),P_1(\hat{x}\,;\beta)=p(y=1\mid\hat{x};\beta), P_0(\hat{x};\beta)=p(y=0\mid\hat{x};\beta)=1-P_1(\hat{x}\,;\beta) β=(ω;b),x^=(x;1),P1(x^;β)=p(y=1∣x^;β),P0(x^;β)=p(y=0∣x^;β)=1−P1(x^;β)则上式可写为 p ( y i ∣ x i ; ω ; b ) = y i P 1 ( x ^ ; β ) + ( 1 − y i ) P 0 ( x ^ ; β ) p(yi\mid xi;\omega;b)=yiP_1(\hat{x}\,;\beta)+(1-yi)P_0(\hat{x};\beta) p(yi∣xi;ω;b)=yiP1(x^;β)+(1−yi)P0(x^;β) l ( β ) = ∑ i = 1 m ( − y i β T x i ^ + l n ( 1 + e β T x i ^ ) ) ( β T x = ω T x + b ) l(\beta)=\sum_{i=1}^m(-yi\beta^T\hat{xi}+ln(1+e^{\beta^T\hat{xi}}))(\beta^Tx=\omega^Tx+b) l(β)=i=1∑m(−yiβTxi^+ln(1+eβTxi^))(βTx=ωTx+b)
即设法将样例投影在一条线上,使同一类样例的投影点尽可能接近,不同类的样例的投影点尽可能远离,根据投影点的位置来确定样本的类别。
给定数据集为 { ( x i , y i ) } i = 1 m {\lbrace(xi,yi)}\rbrace_{i=1}^m {(xi,yi)}i=1m, y = { 0 , 1 } y=\lbrace0,\,1\rbrace y={0,1},令 X i X_i Xi为协方差矩阵, U i U_i Ui为均值向量, ∑ i \sum_i ∑i为集合,其中 i ∈ { 0 , 1 } i\in\lbrace0,\,1\rbrace i∈{0,1}, 则数据集在 ω \omega ω上的投影,样本中心分别为 ω T u 0 \omega^Tu_0 ωTu0与 ω T u 1 \omega^Tu_1 ωTu1若将所有数据集都投影在 ω \omega ω上,可得两类样本的协方差为 ω T ∑ 0 ω \omega^T\sum_0\omega ωT∑0ω和 ω T ∑ 1 ω \omega^T\sum_1\omega ωT∑1ω,为了满足LDA思想,使相同样例间的投影点尽可能小,不同样例间的投影点尽可能大,即: ω T u 0 + ω T u 1 (小) \omega^Tu_0+\omega^Tu_1\tag小 ωTu0+ωTu1(小) ∥ ω T u 0 − ω T u 1 ∥ (大) \begin{Vmatrix} \omega^Tu_0-\omega^Tu_1 \end{Vmatrix}\tag{大} ∥∥ωTu0−ωTu1∥∥(大)可得到最大化目标:
J = ∥ ω T u 0 − ω T u 1 ∥ ω T u 0 + ω T u 1 (6) J=\frac{\begin{Vmatrix} \omega^Tu_0-\omega^Tu_1 \end{Vmatrix}}{\omega^Tu_0+\omega^Tu_1}\tag{6} J=ωTu0+ωTu1∥∥ωTu0−ωTu1∥∥(6)则类内散度矩阵: S ω = ∑ 0 + ∑ 1 = ∑ x ∈ χ 0 ( x − u 0 ) ( x − u 0 ) T + ∑ x ∈ χ 1 ( x − u 1 ) ( x − u 1 ) T S_{\omega}=\sum_0+\sum_1=\sum_{x\in\chi_0}(x-u_0)(x-u_0)^T+\sum_{x\in\chi_1}(x-u_1)(x-u_1)^T Sω=0∑+1∑=x∈χ0∑(x−u0)(x−u0)T+x∈χ1∑(x−u1)(x−u1)T类间散度矩阵: S b = ( u 0 − u 1 ) ( u 0 − u 1 ) T S_b=(u_0-u_1)(u_0-u_1)^T Sb=(u0−u1)(u0−u1)T则式子6可以改写成 J = ω T S b ω ω T S ω ω ( S b 与 S ω 的广义瑞利商 ) J=\frac{\omega^TS_b\omega}{\omega^TS_{\omega}\omega}\tag{$S_b$与$S_\omega$的广义瑞利商} J=ωTSωωωTSbω(Sb与Sω的广义瑞利商)为了不失一般性,令 ω T S ω ω = 1 \omega^TS_\omega\omega=1 ωTSωω=1即: m i n ω = − ω T S b ω min_{\omega}=-\omega^TS_b\omega minω=−ωTSbω s . t . = ω T S ω ω = 1 \,\,\,\,\,\,\,\,\,\,\,\,s.t.=\omega^TS_\omega\omega=1 s.t.=ωTSωω=1
由拉格朗日乘子法,上式等价于:
拉格朗日乘子法即为目标函数 f ( x ) f(x) f(x), x ∗ x^* x∗为 f ( x ) f(x) f(x)上 g ( x ) g(x) g(x)维度上的最优解, x ∗ ∈ R d N − 1 x^*\in R^{d_N-1} x∗∈RdN−1不难知:梯度 ∇ g ( x ) \nabla g(x) ∇g(x)与 ∇ f ( x ) \nabla f(x) ∇f(x)必然相反且满足 ∇ f ( x ∗ ) = − λ ∇ g ( x ∗ ) \nabla f(x^*)=-\lambda\nabla g(x^*) ∇f(x∗)=−λ∇g(x∗) 这里的 λ \lambda λ即为拉格朗日乘子项,则函数 L ( x , λ ) = f ( x ) + λ g ( x ) L(x\,,\lambda)=f(x)+\lambda g(x) L(x,λ)=f(x)+λg(x)
S b ω = λ S ω ω S_b\omega=\lambda S_{\omega}\omega Sbω=λSωω 又 S b ω = λ ( u 0 − u 1 ) ( S b ω 方向恒为 u 0 − u 1 ) 又 S_b\omega=\lambda(u_0-u_1)\tag{$S_b\omega$方向恒为$u_0-u_1$} 又Sbω=λ(u0−u1)(Sbω方向恒为u0−u1) → ω = S ω − 1 ( u 0 − u 1 ) \to\omega=S_\omega^{-1}(u_0-u_1) →ω=Sω−1(u0−u1)在这里 S ω − 1 = U ∑ V T S_\omega^{-1}=U\sum V^T Sω−1=U∑VT, ∑ \sum ∑为对角矩阵,对角线上元素为 S ω S_\omega Sω的奇异值
奇异值分解 : 即为任意矩阵A满足 A = U ∑ V T A= U\sum V^T A=U∑VT其中矩阵 U U U和矩阵 V V V为酉矩阵(逆矩阵) ∑ \sum ∑是 m × n m\times n m×n矩阵, 其中 ( ∑ ) i i = σ i (\sum)_{ii}=\sigma_i (∑)ii=σi(非负实数)
全局散度矩阵: S t = S b + S ω S_t=S_b+S_\omega St=Sb+Sω = ∑ i = 1 m ( x − u i ) ( x − u i ) T =\sum_{i=1}^m(x-ui)(x-ui)^T =i=1∑m(x−ui)(x−ui)T由于 S t S_t St内向量 u u u为均值向量,则类内散度矩阵可改写为: S ω = ∑ x ∈ X i ( x − u i ) ( x − u i ) T S_\omega=\sum_{x\in X_i}(x-ui)(x-ui)^T Sω=x∈Xi∑(x−ui)(x−ui)T类间散度矩阵 S b = S t − S ω S_b=S_t-S_\omega Sb=St−Sω S b = ∑ i = 1 N m ( u i − u ) ( u i − u ) T S_b=\sum_{i=1}^Nm(ui-u)(ui-u)^T Sb=i=1∑Nm(ui−u)(ui−u)T优化目标: m a x ω t r ( ω T S b ω ) t r ( ω T S ω ω ) ( t r ( ⋅ ) 称为该矩阵的迹 ) max_{\omega}\frac{tr(\omega^TS_b\omega)}{tr(\omega^TS_{\omega}\omega)}\tag{$tr(·)$称为该矩阵的迹} maxωtr(ωTSωω)tr(ωTSbω)(tr(⋅)称为该矩阵的迹)
n阶矩阵A,主对角线之和为矩阵A的迹, 即为 t r ( A ) = ∑ i = 1 n A i i tr(A)=\sum_{i=1}^nA_{ii} tr(A)=∑i=1nAii
迹的性质: t r ( A T ) = t r ( A ) tr(A^T)=tr(A) tr(AT)=tr(A) t r ( A + B ) = t r ( A ) + t r ( B ) tr(A+B)=tr(A)+tr(B) tr(A+B)=tr(A)+tr(B) t r ( A B ) = t r ( B A ) tr(AB)=tr(BA) tr(AB)=tr(BA) t r ( A B C ) = t r ( B C A ) = t r ( C A B ) tr(ABC)=tr(BCA)=tr(CAB) tr(ABC)=tr(BCA)=tr(CAB)
通过广义特征值求解 W T S b ω W T S ω ω = λ ( S b ω = λ S ω ω ) \frac{W^TS_b\omega}{W^TS_{\omega}\omega}=\lambda\tag{$S_b\omega=\lambda S_{\omega}\omega$} WTSωωWTSbω=λ(Sbω=λSωω)
W W W的闭式解则是 S ω − 1 S b S_\omega^{-1}S_b Sω−1Sb的 d ′ d' d′个最大非零广义特征值对应的特征向量组成的矩阵, d ′ ≤ N − 1 d'\leq N-1 d′≤N−1若将 W W W视为投影矩阵,则LDA可将 W W W投影到 d ′ d' d′维空间, d ′ d' d′往往小于原来的数据集 d d d。于是,可通过这种方式来减小样本点的维度,且投影过程使用了类别信息,LDA也视为降维技术。
多分类学习一般将多个任务拆解成多个二分类任务进行求解,分为:
OvO、OvR、MvM三种分类方式。
例如给定数据集: D = [ { ( x 1 , y 1 ) ( y 2 , x 2 ) ( x 3 , y 3 ) ⋯ ( x i , y i ) } , y ∈ ( C 1 , C 2 , C 3 ⋯ C N ) 为 N 种 类 别 ] D=[\lbrace(x_1,y_1)(y_2,x_2)(x_3,y_3)\cdots(x_i,y_i)\rbrace, y\in ( C_1,C_2,C_3\cdots C_N)为N种类别] D=[{(x1,y1)(y2,x2)(x3,y3)⋯(xi,yi)},y∈(C1,C2,C3⋯CN)为N种类别]。对于OvO型分类器,则 D D D数据集可以产生 N ( N − 1 ) / 2 N(N-1)/2 N(N−1)/2个二分类任务,其中有 C i C_i Ci个正例, C j C_j Cj个反例,于是可得 N ( N − 1 ) / 2 N(N-1)/2 N(N−1)/2个结果;OvR是将一个类作为正例,所有的其余类作为反例来训练 N N N个分类器,通常由于其存储开销与测试时间等方面的表现都比OvO好。比如给定如下数据OvO、OvR工作如下表所示:
D = { ( C 1 ) ( C 2 ) ( C 3 ) ( C 4 ) } D=\lbrace(C_1)(C_2)(C_3)(C_4)\rbrace D={(C1)(C2)(C3)(C4)}
对于OvO型分类器:
+ − 分 类 器 预 测 结 果 D 1 = { ( C 1 ) ( C 2 ) } ⇒ f 1 → C 1 D 2 = { ( C 1 ) ( C 3 ) } ⇒ f 2 → C 3 D 3 = { ( C 1 ) ( C 4 ) } ⇒ f 3 → C 1 D 4 = { ( C 2 ) ( C 3 ) } ⇒ f 4 → C 3 D 5 = { ( C 2 ) ( C 4 ) } ⇒ f 5 → C 2 D 6 = { ( C 3 ) ( C 4 ) } ⇒ f 6 → C 3 } → 预 测 结 果 : C 3 \left. \begin{array}{l} \text{$\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,+\,\,\,\,\,\,\,\,-$}\,\,\,\,\,\,\,\,\, 分类器 \,\,\, 预测结果\\ \text{$D_1=\lbrace(C_1)(C_2)\rbrace$}\Rightarrow f_1 \,\,\,\,\rightarrow\,\,\,\,\,\, C_1\\ \text{$D_2=\lbrace(C_1)(C_3)\rbrace$}\Rightarrow f_2 \,\,\,\,\rightarrow\,\,\,\,\,\, C_3\\ \text{$D_3=\lbrace(C_1)(C_4)\rbrace$}\Rightarrow f_3 \,\,\,\,\rightarrow\,\,\,\,\,\, C_1\\ \text{$D_4=\lbrace(C_2)(C_3)\rbrace$}\Rightarrow f_4\,\,\,\,\rightarrow\,\,\,\,\,\, C_3\\ \text{$D_5=\lbrace(C_2)(C_4)\rbrace$}\Rightarrow f_5 \,\,\,\,\rightarrow\,\,\,\,\,\, C_2\\ \text{$D_6=\lbrace(C_3)(C_4)\rbrace$}\Rightarrow f_6 \,\,\,\,\rightarrow\,\,\,\,\,\, C_3\\ \end{array} \right\}\rightarrow 预测结果:C_3 +−分类器预测结果D1={(C1)(C2)}⇒f1→C1D2={(C1)(C3)}⇒f2→C3D3={(C1)(C4)}⇒f3→C1D4={(C2)(C3)}⇒f4→C3D5={(C2)(C4)}⇒f5→C2D6={(C3)(C4)}⇒f6→C3⎭⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎫→预测结果:C3
对于OvR型分类器:
+ − 分 类 器 预 测 结 果 { ( C 1 ) ( C 2 C 3 C 4 ) } ⇒ f 1 → “ − " { ( C 2 ) ( C 1 C 3 C 4 ) } ⇒ f 2 → “ − " { ( C 3 ) ( C 1 C 2 C 4 ) } ⇒ f 3 → “ + " { ( C 4 ) ( C 1 C 2 C 3 ) } ⇒ f 4 → “ − " } → 预 测 结 果 : C 3 \left. \begin{array}{l} \text{$\,\,\,\,\,\,+\,\,\,\,\,\,\,\,\,\,\,\,\,\,-$}\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, 分类器 \,\,\, 预测结果\\ \text{$\lbrace(C_1)(C_2C_3C_4)\rbrace$}\Rightarrow f_1 \,\,\,\,\rightarrow\,\,\,\,\,\, “-"\\ \text{$\lbrace(C_2)(C_1C_3C_4)\rbrace$}\Rightarrow f_2 \,\,\,\,\rightarrow\,\,\,\,\,\, “-"\\ \text{$\lbrace(C_3)(C_1C_2C_4)\rbrace$}\Rightarrow f_3 \,\,\,\,\rightarrow\,\,\,\,\,\, “+"\\ \text{$\lbrace(C_4)(C_1C_2C_3)\rbrace$}\Rightarrow f_4 \,\,\,\,\rightarrow\,\,\,\,\,\, “-"\\ \end{array} \right\}\rightarrow 预测结果:C_3 +−分类器预测结果{(C1)(C2C3C4)}⇒f1→“−"{(C2)(C1C3C4)}⇒f2→“−"{(C3)(C1C2C4)}⇒f3→“+"{(C4)(C1C2C3)}⇒f4→“−"⎭⎪⎪⎪⎪⎬⎪⎪⎪⎪⎫→预测结果:C3
显然在有限个数据集中OvR的表现比OvO好。
MvM型分类器即每次将数据集 D D D分为若干个正类和若干个反类(个人感觉与留出法差不多,所以对于MvM分类器就按照留出法进行学习理解的),从而可以看出OvO与OvR都是MvM的一种特殊表现,常见的MvM技术: E C O C ECOC ECOC(纠错输出码)。
E C O C ECOC ECOC工作主要步骤(二分类解码):
测试与预测结果如下表所示:
例如: E C O C ECOC ECOC二元码(+1表示正例;-1表示反例)
f 1 f 2 f 3 f 4 f 5 海 明 距 离 欧 式 距 离 ↓ ↓ ↓ ↓ ↓ ↓ ↓ C 1 − 1 + 1 − 1 + 1 + 1 3 2 3 C 2 + 1 − 1 − 1 + 1 − 1 4 4 C 3 − 1 + 1 + 1 − 1 + 1 1 2 C 4 − 1 − 1 + 1 + 1 − 1 2 2 2 测 试 示 例 − 1 − 1 + 1 − 1 + 1 − − \begin{array}{ccccc} &f_1&f_2&f_3&f_4&f_5&海明距离&欧式距离\\ &\downarrow&\downarrow&\downarrow&\downarrow&\downarrow&\downarrow&\downarrow\\ C_1 & -1 & +1 & -1 &+1&+1& 3& 2\sqrt{3} \\ C_2 & +1 & -1 & -1 & +1& -1&4&4\\ C_3 & -1 & +1 & +1 & -1&+1&1&\sqrt{2}\\ C_4 & -1 & -1 & +1 & +1& -1&2&2\sqrt{2}\\ 测试示例&-1&-1&+1&-1&+1&-&- \end{array} C1C2C3C4测试示例f1↓−1+1−1−1−1f2↓+1−1+1−1−1f3↓−1−1+1+1+1f4↓+1+1−1+1−1f5↓+1−1+1−1+1海明距离↓3412−欧式距离↓234222−
海明距离:测试类与示例对比需要变换的次数。
欧式距离: C 1 2 + C 2 2 = d \sqrt{C_1^2+C_2^2}=d C12+C22=d
E C O C ECOC ECOC编码越长,纠错能力越强,存储开销和运算也就越大,并达到一定范围后就毫无意义了,因此在码长一定时,可以使用 E C O C ECOC ECOC编码来确定最优编码。
对于正例较小;反例较多,训练样本差别很大的情况。用线性模型 y = ω T x + b y=\omega^Tx+b y=ωTx+b对 x x x样本分类时,用预测 y y y值与一个阈值比较,若 y → 0.5 y\rightarrow0.5 y→0.5则视为正例,反之视为反例。即: y 1 − y > 1 \frac{y}{1-y}>1 1−yy>1为正例,当训练集中,正例与反例数目不同时,令 m + m^+ m+表示正例数, m − m^- m−表示反例数,则 y 1 − y > m + m − 预 测 样 本 为 正 例 (7) \frac{y}{1-y}>\frac{m^+}{m^-} \,\,\, 预测样本为正例\tag{7} 1−yy>m−m+预测样本为正例(7)
实际分离器在执行时式子7为 y ′ 1 − y ′ = y 1 − y × m + m − \frac{y'}{1-y'}=\frac{y}{1-y}\times\frac{m^+}{m^-}\,\,\, 1−y′y′=1−yy×m−m+即再平衡(再缩放)
第一次在csdn上写笔记来记录(其实一大部分还是不怎么理解)里面有很多是我自己反复琢磨很久又去找资料和其他网站的大神们的资源才写完的这个记录,也是我学习算法以来第一次的记录,希望reader读完后哪里不懂或者我哪里写的有错误尽管在评论区里面评论,我看到就会回复你们,谢谢!
I \,\,\,\,\,\,\,\,\,\,I I:单位矩阵 \,\,\,\,\, A A A:向量矩阵
d X T X = I d x d x T = I d x T A d x = A d A x d x T = A \,\,\,\,\,\,\,\,\,\,\,\,\,\,\frac{d_{X^T}}{X}=I \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, \frac{d_x}{d_{x^T}}=I\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, \frac{d_{x^T}A}{d_x}=A\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, \frac{d_{Ax}}{d_{x^T}}=A XdXT=IdxTdx=IdxdxTA=AdxTdAx=A
d A x d x = A T d x A d x = A T ∂ u ∂ x T = ( ∂ u ∂ x T ) T \,\,\,\,\,\,\,\,\,\,\,\,\,\,\frac{d_{Ax}}{dx}=A^T\,\,\,\,\,\,\,\,\,\,\,\,\,\,\frac{d_{xA}}{dx}=A^T\,\,\,\,\,\,\,\,\,\,\,\frac{∂u}{∂_{x^T}}=(\frac{∂u}{∂_{x^T}})^T dxdAx=ATdxdxA=AT∂xT∂u=(∂xT∂u)T
∂ u T v ∂ x = ∂ u T ∂ x V + ∂ u T ∂ x u T ∂ u v T ∂ x = ∂ u ∂ x V T + u ∂ v T ∂ x \,\,\,\,\,\,\,\,\,\,\,\,\,\frac{∂u^Tv}{∂x}=\frac{∂u^T}{∂x}V+\frac{∂u^T}{∂x}u^T\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\frac{∂uv^T}{∂x}=\frac{∂u}{∂x}V^T+u\frac{∂v^T}{∂x} ∂x∂uTv=∂x∂uTV+∂x∂uTuT∂x∂uvT=∂x∂uVT+u∂x∂vT
d x T x d x = 2 x d x T A x d x = ( A + A T ) x ∂ A B ∂ x = ∂ A ∂ x B + A ∂ B ∂ x \,\,\,\,\,\,\,\,\,\,\,\,\,\frac{dx^Tx}{dx}=2x\,\,\,\,\,\,\,\,\,\,\frac{dx^TAx}{dx}=(A+A^T)x\,\,\,\,\,\,\,\,\frac{∂AB}{∂x}=\frac{∂A}{∂x}B+A\frac{∂B}{∂x} dxdxTx=2xdxdxTAx=(A+AT)x∂x∂AB=∂x∂AB+A∂x∂B
∂ u T x v ∂ x = u v T ∂ u T x T x u ∂ x = 2 x u u T \,\,\,\,\,\,\,\,\,\,\,\,\,\frac{∂u^Txv}{∂x}=uv^T\,\,\,\,\,\,\,\,\frac{∂u^Tx^Txu}{∂x}=2xuu^T\,\,\,\,\,\,\,\, ∂x∂uTxv=uvT∂x∂uTxTxu=2xuuT
∂ [ ( x u − v ) T ( x u − v ) ] ∂ x = 2 ( x u − v ) u T \,\,\,\,\,\,\,\,\,\,\,\,\,\frac{∂[(xu-v)^T(xu-v)]}{∂x}=2(xu-v)u^T ∂x∂[(xu−v)T(xu−v)]=2(xu−v)uT