线性模型

线性模型

作者:little-xu

时间:2021/1/14

基本形式

给定由d个属性描述的实例 x = ( x 1 ; x 2 ; ⋯   ; x d ) x=(x_1;x_2;\cdots;x_d) x=(x1;x2;;xd),其中 x i x_i xi x x x在第i个属性上的取值,线性模型试图学的一个预测函数,即

f ( x ) = w 1 x 1 + w 2 x 2 + ⋯ + w d x d + b \begin{aligned} f(x)=w_1x_1+w_2x_2+\cdots+w_dx_d+b \end{aligned} f(x)=w1x1+w2x2++wdxd+b

概括的矩阵形式

f ( x ) = w T x + b \begin{aligned} f(x)=w^Tx+b \end{aligned} f(x)=wTx+b

例如:

f 好 瓜 ( x ) = 0.2 x 色 泽 + 0.5 x 根 蒂 + 0.3 x 敲 声 + 1 \begin{aligned} f_{好瓜}(x)=0.2x_{色泽}+0.5x_{根蒂}+0.3x_{敲声}+1 \end{aligned} f(x)=0.2x+0.5x+0.3x+1

线性回归

线性回归

f ( x i ) = w x i + b \begin{aligned} % 参数环境是align,公式带编号 f(x_i)=wx_i+b \end{aligned} f(xi)=wxi+b

我们试图取均方误差最小来试图模拟该函数

M S E = a r g m i n ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 = a r g m i n ( w , b ) ∑ i = 1 m ( y i − w x i − b ) 2 = a r g m i n ( w , b ) ∑ i = 1 m [ w x i − ( y i − b ) ] 2 \begin{aligned} %数学公式左对齐环境 %\mathop{argmin}_{(w,b)},把(w,b)放在argmin下面 MSE & = \mathop{argmin}_{(w,b)}\sum_{i=1}^{m}(f(x_i)-y_i)^2 \\ & = \mathop{argmin}_{(w,b)}\sum_{i=1}^{m}(y_i-wx_i-b)^2 \\ & = \mathop{argmin}_{(w,b)}\sum_{i=1}^{m}\lbrack wx_i-(y_i-b) \rbrack^2 \\ \end{aligned} MSE=argmin(w,b)i=1m(f(xi)yi)2=argmin(w,b)i=1m(yiwxib)2=argmin(w,b)i=1m[wxi(yib)]2

a r g m i n argmin argmin知识小扩展

Conception

线性回归模型的最小二乘“参数估计”:
求解 w w w b b b使 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_(w,b)=\sum_{i=1}^{m}(y_i-wx_i-b)^2 E(w,b)=i=1m(yiwxib)2最小化的过程

∂ E ( w , b ) ∂ w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) ∂ E ( w , b ) ∂ b = ( m b − ∑ i = 1 m ( y i − w x i ) ) \begin{aligned} % 参数环境是align,公式带编号 \cfrac{\partial E_{(w,b)}}{\partial w} & =2(w\sum_{i=1}^{m}x_i^2-\sum_{i=1}^{m}(y_i-b)x_i) \\ \cfrac{\partial E_{(w,b)}}{\partial b} & =(mb-\sum_{i=1}^{m}(y_i-wx_i)) \end{aligned} wE(w,b)bE(w,b)=2(wi=1mxi2i=1m(yib)xi)=(mbi=1m(yiwxi))

另上式子为 0 0 0,得到 w w w b b b最优解的闭式( c l o s e − f o r m close-form closeform)解

w = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 b = 1 m ∑ i = 1 m ( y i − w x i ) \begin{aligned} w & =\cfrac{\sum_{i=1}^{m}y_i(x_i-\bar{x})}{\sum_{i=1}^{m}x_i^2-\frac{1}{m}(\sum_{i=1}^{m}x_i)^2} % \bar{x} x的平均数 \\ b & =\cfrac{1}{m}\sum_{i=1}^{m}(y_i-wx_i) \end{aligned} wb=i=1mxi2m1(i=1mxi)2i=1myi(xixˉ)=m1i=1m(yiwxi)

[推导]:由公式得 b = y ˉ − w x ˉ b=\bar{y}-w\bar{x} b=yˉwxˉ

w ∑ i = 1 m x i 2 = ∑ i = 1 m y i x i − ∑ i = 1 m b x i w ∑ i = 1 m x i 2 = ∑ i = 1 m y i x i − ∑ i = 1 m ( y ˉ − w x ˉ ) x i w ( ∑ i = 1 m x i 2 − x ˉ ∑ i = 1 m x i ) = ∑ i = 1 m y i x i − y ˉ ∑ i = 1 m x i w = ∑ i = 1 m y i x i − y ˉ ∑ i = 1 m x i ∑ i = 1 m x i 2 − x ˉ ∑ i = 1 m x i w = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 \begin{aligned} w\sum_{i=1}^{m}x_i^2 & = \sum_{i=1}^{m}y_ix_i-\sum_{i=1}^{m}bx_i \\ w\sum_{i=1}^{m}x_i^2 & = \sum_{i=1}^{m}y_ix_i-\sum_{i=1}^{m}(\bar{y}-w\bar{x})x_i \\ w(\sum_{i=1}^{m}x_i^2-\bar{x}\sum_{i=1}^{m}x_i) & = \sum_{i=1}^{m}y_ix_i-\bar{y}\sum_{i=1}^{m}x_i \\ w & = \cfrac{\sum_{i=1}^{m}y_ix_i-\bar{y}\sum_{i=1}^{m}x_i}{\sum_{i=1}^{m}x_i^2-\bar{x}\sum_{i=1}^{m}x_i}\\ w & = \cfrac{\sum_{i=1}^{m}y_i(x_i-\bar{x})}{\sum_{i=1}^{m}x_i^2-\cfrac{1}{m}(\sum_{i=1}^{m}x_i)^2} \end{aligned} wi=1mxi2wi=1mxi2w(i=1mxi2xˉi=1mxi)ww=i=1myixii=1mbxi=i=1myixii=1m(yˉwxˉ)xi=i=1myixiyˉi=1mxi=i=1mxi2xˉi=1mxii=1myixiyˉi=1mxi=i=1mxi2m1(i=1mxi)2i=1myi(xixˉ)

矩阵高度概括多元线性回归形式

f ( x i ) = w T x i + b \begin{aligned} % 参数环境是align,公式带编号 f(x_i) & = w^Tx_i+b \end{aligned} f(xi)=wTxi+b

其中数据集D表示为一个 m × ( d + 1 ) m\times(d+1) m×(d+1)大小的矩阵 X X X
个人理解:个人感觉这个1是当 f ( x ) 为 f(x)为 f(x)没有特征 x x x的形式

w ^ ∗ = a r g m i n w ^ ( y − X w ^ ) T ( y − X w ^ ) = a r g m i n w ^ ( y − X w ^ ) 2 \begin{aligned} % 参数环境是align,公式带编号 \hat{w}^* & =\mathop{argmin}_{\hat{\boldsymbol w}}(y-X\hat{\boldsymbol w})^T(y-X\hat{\boldsymbol w}) \\ %\boldsymbol w的字体 & = \mathop{argmin}_{\hat{\boldsymbol w}}(y-X\hat{\boldsymbol w})^2 \end{aligned} w^=argminw^(yXw^)T(yXw^)=argminw^(yXw^)2

E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E_{\hat{\boldsymbol w}}=(y-X\hat{w})^T(y-X\hat{w}) Ew^=(yXw^)T(yXw^),对 w ^ \hat{\boldsymbol w} w^求导得

∂ E ( w , b ) ∂ w = 2 X T ( X w ^ − y ) \begin{aligned} % 参数环境是align,公式带编号 \cfrac{\partial E_{(\boldsymbol w,b)}}{\partial w} & =2X^T(X\hat{\boldsymbol w}-y) \end{aligned} wE(w,b)=2XT(Xw^y)

推导
矩阵微分公式 ∂ a T x ∂ x = ∂ x T a ∂ x = a , ∂ x T A x ∂ x = ( A + A T ) x \cfrac{\partial\boldsymbol{a}^{\mathrm{T}}\boldsymbol{x}}{\partial\boldsymbol{x}}=\cfrac{\partial\boldsymbol{x}^{\mathrm{T}}\boldsymbol{a}}{\partial\boldsymbol{x}}=\boldsymbol{a},\cfrac{\partial\boldsymbol{x}^{\mathrm{T}}\mathbf{A}\boldsymbol{x}}{\partial\boldsymbol{x}}=(\mathbf{A}+\mathbf{A}^{\mathrm{T}})\boldsymbol{x} xaTx=xxTa=a,xxTAx=(A+AT)x
X T X X^TX XTX为满秩矩阵或正定矩阵

0 = 2 X T ( X w ^ − y ) X T X w ^ = X T y w ^ = ( X T X ) − 1 X T y \begin{aligned} % 参数环境是align,公式带编号 0 & =2X^T(X\hat{\boldsymbol w}-y) \\ X^TX\hat{\boldsymbol w} & =X^Ty \\ \hat{\boldsymbol w} & =(X^TX)^{-1}X^Ty \end{aligned} 0XTXw^w^=2XT(Xw^y)=XTy=(XTX)1XTy

最终学的线性回归模型

f ( x ^ i ) = x ^ i T ( X T X ) − 1 X T y \begin{aligned} % 参数环境是align,公式带编号 f(\hat{\boldsymbol x}_i) = \hat{\boldsymbol x}_i^T(X^TX)^{-1}X^Ty \end{aligned} f(x^i)=x^iT(XTX)1XTy

如果对应的标记在指数尺度上变化,可让输出取对数作为线性模型逼近目标

ln ⁡ y = w T + b \begin{aligned} % 参数环境是align,公式带编号 \ln y = w^T+b \end{aligned} lny=wT+b

此处可能暗示还有其他模型,个人揣测还有对数模型,就是拟合函数取一个比较接近数据分布的函数。

对数几率回归

生活中许多问题是二分类问题,比如用户购买商品,买还是不买,我们可以设置模型当概率大于 0.5 0.5 0.5就是买,可取 S i g m o i d Sigmoid Sigmoid函数,将值转化为 0 / 1 0/1 0/1问题
最理想的是:单位阶跃函数(unit-step function)

y = { 0 , z < 0 0.5 , z = 0 1 , z > 0 \begin{aligned} % 参数环境是align,公式带编号 y = \begin{cases} 0, & z<0 \\ 0.5, & z=0 \\ 1, & z>0 \end{cases} \end{aligned} y=0,0.5,1,z<0z=0z>0

预测值 z z z大于 0 0 0判定为正例,小于 0 0 0为反例,预测值为临界值 0 0 0则任意判别
S i g m o i d Sigmoid Sigmoid函数:

y = 1 1 + e − z \begin{aligned} % 参数环境是align,公式带编号 y = \cfrac{1}{1+e^{-z}} \end{aligned} y=1+ez1

可将我们的线性模型预测的概率带入 S i g i m o i d Sigimoid Sigimoid函数预测输出

y = 1 1 + e − ( w T x + b ) 1 y = 1 + e − ( w T x + b ) − z = ln ⁡ y 1 − y ln ⁡ y 1 − y = w T x + b \begin{aligned} % 参数环境是align,公式带编号 y & =\cfrac{1}{1+e^{-(w^Tx+b)}} \\ \frac{1}{y}& =1+e^{-(w^Tx+b)} \\ -z & = \ln \cfrac{y}{1-y} \\ \ln \cfrac{y}{1-y} & =w^Tx+b \end{aligned} yy1zln1yy=1+e(wTx+b)1=1+e(wTx+b)=ln1yy=wTx+b

Conception

y y y看作样本正例的可能性,则 1 − y 1-y 1y则是反例的可能性,两者比值 y 1 − y \cfrac{y}{1-y} 1yy称为几率
对几率取对数 ln ⁡ y 1 − y \ln \cfrac{y}{1-y} ln1yy得到对数几率
注意:分类学习方法
若将公式 ( 29 ) (29) (29)看作类后验概率估计 p ( y = 1 ∣ x ) p(y=1\mid x) p(y=1x)则有

p ( y = 1 ∣ x ) = e w T x + b 1 + e w T x + b = π ( x ) p ( y = 0 ∣ x ) = 1 1 + e w T x + b = 1 − π ( x ) \begin{aligned} % 参数环境是align,公式带编号 p(y=1 \mid x) & = \cfrac{e^{w^Tx+b}}{1+e^{w^Tx+b}} =\pi(x) \\ p(y=0 \mid x) & = \cfrac{1}{1+e^{w^Tx+b}} =1-\pi(x) \\ \end{aligned} p(y=1x)p(y=0x)=1+ewTx+bewTx+b=π(x)=1+ewTx+b1=1π(x)

则通过极大似然法估计 w w w b b b,对数回归模型最大化“对数似然”,用局部数据估计整体。
似然函数为

∐ i = 1 N [ π ( x i ) y i ] [ 1 − π ( x i ) ] 1 − y i \begin{aligned} % 参数环境是align,公式带编号 \coprod_{i=1}^N [\pi(x_i)^{y_i}][1-\pi(x_i)]^{1-y_i} \end{aligned} i=1N[π(xi)yi][1π(xi)]1yi

对数似然

L ( w , b ) = ∑ i = 1 m [ y i ln ⁡ π ( x i ) + ( 1 − y i ) ln ⁡ ( 1 − π ( x i ) ) ] = ∑ i = 1 m [ y i ln ⁡ π ( x i ) 1 − π ( x i ) + ( 1 − y i ) ln ⁡ ( 1 − π ( x i ) ) ] = ∑ i = 1 m [ y i ( w x i + b ) − ln ⁡ ( 1 + e w x i + b ) ] \begin{aligned} % 参数环境是align,公式带编号 L(w,b) & = \sum_{i=1}^{m}[y_i \ln \pi(x_i)+(1-y_i)\ln(1-\pi(x_i))] \\ & = \sum_{i=1}^{m}[y_i \ln \cfrac{\pi(x_i)}{1-\pi(x_i)}+(1-y_i)\ln(1-\pi(x_i))] \\ & = \sum_{i=1}^{m}[y_i(wx_i+b)-\ln(1+e^{wx_i+b})] \end{aligned} L(w,b)=i=1m[yilnπ(xi)+(1yi)ln(1π(xi))]=i=1m[yiln1π(xi)π(xi)+(1yi)ln(1π(xi))]=i=1m[yi(wxi+b)ln(1+ewxi+b)]

L ( x ) L(x) L(x)求极大值,得到 w w w的估计值
β = ( w ; b ) \beta=(w;b) β=(w;b) x ^ = ( x ; 1 ) \hat{\boldsymbol x}=(x;1) x^=(x;1) β T x ^ = w T x + b \beta^T\hat{\boldsymbol x}=w^Tx+b βTx^=wTx+b

L ( β ) = ∑ i = 1 m ln ⁡ ( [ p 1 ( x ^ i ; β ) ] y i [ p 0 ( x ^ i ; β ) ] 1 − y i ) = ∑ i = 1 m [ y i ln ⁡ ( p 1 ( x ^ i ; β ) ) + ( 1 − y i ) ln ⁡ ( p 0 ( x ^ i ; β ) ) ] = ∑ i = 1 m { y i [ ln ⁡ ( p 1 ( x ^ i ; β ) ) − ln ⁡ ( p 0 ( x ^ i ; β ) ) ] + ln ⁡ ( p 0 ( x ^ i ; β ) ) } = ∑ i = 1 m [ y i ln ⁡ ( p 1 ( x ^ i ; β ) p 0 ( x ^ i ; β ) ) + ln ⁡ ( p 0 ( x ^ i ; β ) ) ] = ∑ i = 1 m [ y i ln ⁡ ( e β T x ^ i ) + ln ⁡ ( 1 1 + e β T x ^ i ) ] = ∑ i = 1 m ( y i β T x ^ i − ln ⁡ ( 1 + e β T x ^ i ) ) \begin{aligned} % 参数环境是align,公式带编号 L(\boldsymbol{\beta}) & =\sum_{i=1}^{m}\ln\left([p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})]^{y_i}[p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})]^{1-y_i}\right) \\ & = \sum_{i=1}^{m}\left[y_i\ln\left(p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)+(1-y_i)\ln\left(p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)\right] \\ & = \sum_{i=1}^{m} \left \{ y_i\left[\ln\left(p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)-\ln\left(p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)\right]+\ln\left(p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)\right\} \\ & = \sum_{i=1}^{m}\left[y_i\ln\left(\cfrac{p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})}{p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})}\right)+\ln\left(p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)\right] \\ &=\sum_{i=1}^{m}\left[y_i\ln\left(e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}\right)+\ln\left(\cfrac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}\right)\right] \\ & = \sum_{i=1}^{m}\left(y_i\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i-\ln(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})\right) \end{aligned} L(β)=i=1mln([p1(x^i;β)]yi[p0(x^i;β)]1yi)=i=1m[yiln(p1(x^i;β))+(1yi)ln(p0(x^i;β))]=i=1m{yi[ln(p1(x^i;β))ln(p0(x^i;β))]+ln(p0(x^i;β))}=i=1m[yiln(p0(x^i;β)p1(x^i;β))+ln(p0(x^i;β))]=i=1m[yiln(eβTx^i)+ln(1+eβTx^i1)]=i=1m(yiβTx^iln(1+eβTx^i))

β ∗ = a r g m a x β L ( β ) \begin{aligned} \beta^*=\mathop{argmax}_{\beta}L(\beta) \end{aligned} β=argmaxβL(β)

p 1 ( x ^ i ; β ) = π ( x i ) p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})=\pi(x_i) p1(x^i;β)=π(xi),将此式向量化

∂ L ( β ) ∂ β = − ∑ i = 1 m x ^ i ( y i − p i ( x i ^ ; β ) ) = − ∑ i = 1 m x ^ i ( y i − π ( x i ) ) = ∑ i = 1 m x ^ i ( π ( x i ) − y i ) = X T ( π ( X ) − y ) = X T ( p 1 ( X ; β ) − y ) ∂ 2 L ( β ) ∂ β ∂ β T = ∑ i = 1 m x i ^ x i ^ T p 1 ( x i ^ ; β ) ( 1 − p 1 ( x i ^ ; β ) \begin{aligned} % 参数环境是align,公式带编号 \frac{\partial L(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} &= -\sum_{i=1}^{m}\hat{\boldsymbol x}_i(y_i-p_i(\hat{\boldsymbol x_i};\beta)) \\ &= -\sum_{i=1}^{m}\hat{\boldsymbol x}_i(y_i-\pi(x_i)) \\ & =\sum_{i=1}^{m}\hat{\boldsymbol x}_i(\pi(x_i)-y_i) \\ & ={\mathbf{X}^{\mathrm{T}}}(\boldsymbol{\pi(X)}-\boldsymbol{y}) \\ & ={\mathbf{X}^{\mathrm{T}}}(p_1(\mathbf{X};\boldsymbol{\beta})- \boldsymbol{y}) \\ \\ \cfrac{\partial^2L(\beta)}{\partial \beta \partial \beta^T} & =\sum_{i=1}^{m}\hat{\boldsymbol x_i}\hat{\boldsymbol x_i}^Tp_1(\hat{\boldsymbol x_i};\beta)(1- p_1(\hat{\boldsymbol x_i};\beta) \end{aligned} βL(β)ββT2L(β)=i=1mx^i(yipi(xi^;β))=i=1mx^i(yiπ(xi))=i=1mx^i(π(xi)yi)=XT(π(X)y)=XT(p1(X;β)y)=i=1mxi^xi^Tp1(xi^;β)(1p1(xi^;β)

利用牛顿法求最优解, t + 1 t+1 t+1轮迭代更新公式

β t + i = β t − ( ∂ 2 L ( β ) ∂ β ∂ β T ) − 1 ∂ L ( β ) ∂ β \begin{aligned} % 参数环境是align,公式带编号 \beta^{t+i}=\beta^t-(\cfrac{\partial^2L(\beta)}{\partial \beta \partial \beta^T})^{-1}\cfrac{\partial L(\beta)}{\partial \beta} \end{aligned} βt+i=βt(ββT2L(β))1βL(β)

线性判别分析

LDA:二分类问题,数据集在坐标轴上有 2 2 2簇数据,在坐标轴上做一条直线,使得同类数据在直线上投影更加集中,异类数据投影经可能远离,所以在测试集上的数据我们可以通过投影来判断分类是正例还是反例。
数据集 D = { ( x i , y i ) } i = 1 m , y i ∈ { 0 , 1 } , D=\{(x_i,y_i)\}_{i=1}^{m},y_i\in\{0,1\}, D={(xi,yi)}i=1m,yi{0,1}, X i 、 μ i 、 Σ i X_i、\mu_i、\Sigma_i XiμiΣi分别表示 i ∈ 0 , 1 i\in{0,1} i0,1类实例的集合,均值向量(样本中心),协方差矩阵。若将数据投影到直线 w w w(可以看成单位向量)上,则样本投影分别为 w T μ 0 w^T\mu_0 wTμ0 w T u 1 w^Tu_1 wTu1(向量乘法),
尚未解决😭:投影到直线后,两类样本协方差分别为 w T Σ 0 w w^T\Sigma_0w wTΣ0w w T Σ 1 w w^T\Sigma_1w wTΣ1w.(不知道,不懂得,不晓得)。今天键盘打错字之手残链接
同类样本协方差尽可能小即 w T Σ 0 w + w T Σ 1 w w^T\Sigma_0w+w^T\Sigma_1w wTΣ0w+wTΣ1w尽可能小(同类样本在直线 w w w上投影尽量靠近样本中心,样本数据差异尽量缩小)
异类样本投影点尽量远离即 ∥ w T u 0 − w T u 1 ∥ 2 2 \|w^Tu_0-w^Tu_1\|_2^2 wTu0wTu122尽可能大(范数平方,两者投影在 w w w距离的平方,异类样本投影中心尽量远)
所以我们欲最大化 J J J来得到这样的直线 w w w.🔰

J = ∥ w T μ 0 − w T μ 1 ∥ 2 2 w T ( Σ 0 + Σ 1 ) w = ∥ ( w T μ 0 − w T μ 1 ) T ∥ 2 2 w T ( Σ 0 + Σ 1 ) w = ∥ ( μ 0 − μ 1 ) T w ∥ 2 2 w T ( Σ 0 + Σ 1 ) w = [ ( μ 0 − μ 1 ) T w ] T ( μ 0 − μ 1 ) T w w T ( Σ 0 + Σ 1 ) w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( Σ 0 + Σ 1 ) w \begin{aligned} % 参数环境是align,公式带编号 J & = \cfrac{\|\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{0}-\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{1}\|_2^2}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ & = \cfrac{\|(\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{0}-\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{1})^{\mathrm{T}}\|_2^2}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ & = \cfrac{\|(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w\|_2^2}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ & = \cfrac{\left[(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w\right]^{\mathrm{T}}(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ & = \cfrac{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \end{aligned} J=wT(Σ0+Σ1)wwTμ0wTμ122=wT(Σ0+Σ1)w(wTμ0wTμ1)T22=wT(Σ0+Σ1)w(μ0μ1)Tw22=wT(Σ0+Σ1)w[(μ0μ1)Tw]T(μ0μ1)Tw=wT(Σ0+Σ1)wwT(μ0μ1)(μ0μ1)Tw

Conception

类内散度矩阵:

S w = Σ 0 + Σ 1 = ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 0 ) ( x − μ 0 ) T \begin{aligned} % 参数环境是align,公式带编号 S_w & = \Sigma_{0}+\Sigma_{1} \\ & = \sum_{x \in X_0}(x-\mu_0)(x-\mu_0)^T + \sum_{x \in X_1}(x-\mu_0)(x-\mu_0)^T \end{aligned} Sw=Σ0+Σ1=xX0(xμ0)(xμ0)T+xX1(xμ0)(xμ0)T

类间散度矩阵:样本距离的平方

S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T \begin{aligned} S_b & = (\mu_0-\mu_1)(\mu_0-\mu_1)^T \end{aligned} Sb=(μ0μ1)(μ0μ1)T

简化 J J J

J = w T S b w w T S w w \begin{aligned} % 参数环境是align,公式带编号 J & = \cfrac{w^TS_bw}{w^TS_ww} \end{aligned} J=wTSwwwTSbw

我们试图寻找一条直线 w w w,与该直线长度无关,但是与方向有关。使得 J J J最大
疑惑: 😭 w h y why why w T S w w = 1 w^TS_ww=1 wTSww=1.我们假定分母 w T S w w = 1 w^TS_ww=1 wTSww=1,然后就要求 w T S b w = 1 w^TS_bw=1 wTSbw=1
最大值。之后我们求得了 w T S b w = 1 w^TS_bw=1 wTSbw=1最大值。但是 w T S w w = w^TS_ww= wTSww=并不等于 1 1 1
w T S w w w^TS_ww wTSww更小的时候。我们的 J J J就会变动取得更大的值。
解答:自己蠢得可以😆刚想出来了。还是一个理,分母一定,在分母限制条件中让分子取得最大值。设置未知数 C C C,令 w T S w w = C w^TS_ww=C wTSww=C,则我们所求的 J = w T S b w w T S w w \begin{aligned}J & = \cfrac{w^TS_bw}{w^TS_ww}\end{aligned} J=wTSwwwTSbw可以转化为 J = 1 C w T S b w 1 C w T S w w \begin{aligned}J & = \cfrac{\frac{1}{C}w^TS_bw}{\frac{1}{C}w^TS_ww}\end{aligned} J=C1wTSwwC1wTSbw
线性规划,目标函数是 1 C w T S b w \frac{1}{C}w^TS_bw C1wTSbw,约束条件 1 C w T S w w = 1 \frac{1}{C}w^TS_ww=1 C1wTSww=1.求 1 C w T S b w \frac{1}{C}w^TS_bw C1wTSbw最大值,可以转化为求 − 1 C w T S b w -\frac{1}{C}w^TS_bw C1wTSbw最小值

m i n w − 1 C w T S b w s . t 1 C w T S w w = 1 \begin{aligned} % 参数环境是align,公式带编号 & \mathop{min}_{w} \quad -\frac{1}{C}w^TS_bw \\ & s.t \quad \frac{1}{C}w^TS_ww=1 \end{aligned} minwC1wTSbws.tC1wTSww=1

等价于

m i n w − w T S b w s . t w T S w w = 1 \begin{aligned} & \mathop{min}_{w} \quad -w^TS_bw \\ & s.t \quad w^TS_ww=1 \end{aligned} minwwTSbws.twTSww=1

我们求得目标函数后还是带入 J J J中,结果不变。将一个极值问题转化为线性规划问题。又拉格朗日数乘可知

L ( w , λ ) = − w T S b w + λ ( w T S w w − 1 ) \begin{aligned} L(\boldsymbol w,\lambda)=-\boldsymbol w^{\mathrm{T}}\mathbf{S}_b\boldsymbol w+\lambda(\boldsymbol w^{\mathrm{T}}\mathbf{S}_w\boldsymbol w-1) \end{aligned} L(w,λ)=wTSbw+λ(wTSww1)

w \boldsymbol w w求偏导可得

∂ L ( w , λ ) ∂ w = − ∂ ( w T S b w ) ∂ w + λ ∂ ( w T S w w − 1 ) ∂ w = − ( S b + S b T ) w + λ ( S w + S w T ) w \begin{aligned} % 参数环境是align,公式带编号 \cfrac{\partial L(\boldsymbol w,\lambda)}{\partial \boldsymbol w} & = -\cfrac{\partial(\boldsymbol w^{\mathrm{T}}\mathbf{S}_b\boldsymbol w)}{\partial \boldsymbol w}+\lambda \cfrac{\partial(\boldsymbol w^{\mathrm{T}}\mathbf{S}_w\boldsymbol w-1)}{\partial \boldsymbol w} \\ & = -(\mathbf{S}_b+\mathbf{S}_b^{\mathrm{T}})\boldsymbol w+\lambda(\mathbf{S}_w+\mathbf{S}_w^{\mathrm{T}})\boldsymbol w \end{aligned} wL(w,λ)=w(wTSbw)+λw(wTSww1)=(Sb+SbT)w+λ(Sw+SwT)w

由于 S b = S b T = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T , S w = S w T \mathbf{S}_b=\mathbf{S}_b^{\mathrm{T}}=(\mu_0-\mu_1)(\mu_0-\mu_1)^T,\mathbf{S}_w=\mathbf{S}_w^{\mathrm{T}} Sb=SbT=(μ0μ1)(μ0μ1)T,Sw=SwT,( S w \mathbf{S}_w Sw是协方差矩阵,举例样本 1 1 1与样本 3 3 3差异是 S 13 = 0.5 \mathbf{S}_{13}=0.5 S13=0.5,那么样本 3 3 3与样本 1 1 1差距 S 31 = 0.5 \mathbf{S}_{31}=0.5 S31=0.5,对角矩阵)所以

∂ L ( w , λ ) ∂ w = − 2 S b w + 2 λ S w w \begin{aligned} % 参数环境是align,公式带编号 \cfrac{\partial L(\boldsymbol w,\lambda)}{\partial \boldsymbol w} & = -2\mathbf{S}_b\boldsymbol w+2\lambda\mathbf{S}_w\boldsymbol w \end{aligned} wL(w,λ)=2Sbw+2λSww

令上式等于 0 0 0即可得

− 2 S b w + 2 λ S w w = 0 S b w = λ S w w \begin{aligned} -2\mathbf{S}_b\boldsymbol w+2\lambda\mathbf{S}_w\boldsymbol w=0 \\ \mathbf{S}_b\boldsymbol w=\lambda\mathbf{S}_w\boldsymbol w \end{aligned} 2Sbw+2λSww=0Sbw=λSww

由于我们想要求解的只有 w \boldsymbol{w} w,而 λ \lambda λ这个拉格朗乘子具体取值多少都无所谓,因此我们可以任意设定 λ \lambda λ来配合我们求解 w \boldsymbol{w} w。我们注意到

S b w = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w \begin{aligned} \mathbf{S}_b\boldsymbol{w}=(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol{w} \end{aligned} Sbw=(μ0μ1)(μ0μ1)Tw

如果我们令 λ \lambda λ恒等于 ( μ 0 − μ 1 ) T w (\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol{w} (μ0μ1)Tw,那么上式即可改写为 S b w = λ ( μ 0 − μ 1 ) \mathbf{S}_b\boldsymbol{w}=\lambda(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}) Sbw=λ(μ0μ1)
将其代入 S b w = λ S w w \mathbf{S}_b\boldsymbol w=\lambda\mathbf{S}_w\boldsymbol w Sbw=λSww即可解得

w = S w − 1 ( μ 0 − μ 1 ) \begin{aligned} % 参数环境是align,公式带编号 \boldsymbol{w}=\mathbf{S}_{w}^{-1}(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}) \end{aligned} w=Sw1(μ0μ1)

S w − 1 \mathbf{S}_{w}^{-1} Sw1求解,通常是对 S w \mathbf{S}_{w} Sw奇异值分解, S w = U Σ V T \mathbf{S}_{w}=U\Sigma V^T Sw=UΣVT, Σ \Sigma Σ是是实对称矩阵,对角线上元素是 S w \mathbf{S}_{w} Sw的奇异值。之后可利用 S w = U Σ V T \mathbf{S}_{w}=U\Sigma V^T Sw=UΣVT求得 S w − 1 = V Σ − 1 U T \mathbf{S}_{w}^{-1}=V\Sigma^{-1}U^T Sw1=VΣ1UT
疑惑:拉格朗日数乘让我们得到两个关于 λ \lambda λ w w w的二元方程, w w w的求解需要 λ \lambda λ的配合,我们令 λ \lambda λ恒等于 ( μ 0 − μ 1 ) T w (\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol{w} (μ0μ1)Tw后,确实满足了 ∂ L ( w , λ ) ∂ w = 0 \begin{aligned}\cfrac{\partial L(\boldsymbol w,\lambda)}{\partial \boldsymbol w} & = 0\end{aligned} wL(w,λ)=0,但是 ∂ L ( w , λ ) ∂ w \begin{aligned}\cfrac{\partial L(\boldsymbol w,\lambda)}{\partial \boldsymbol w} \end{aligned} wL(w,λ)是否满足为 0 0 0呢??如果不为 0 0 0?我们求得 − w T S b w -w^TS_bw wTSbw又是否是最小值??如果 J J J不是最优值,我们求得 w w w λ \lambda λ配合求解的值,那么又有什么意义呢?

Little-Knowledge

LDA可从贝叶斯决策理论阐释,当两类数据先验,满足高斯分布且协方差相等时,LDA可达到最优分类。

Conception

多元推广,高度概括:
假定存在 N N N个类,第i类示例数为 m i m_i mi,定义“全局散度矩阵”

S t = S b + S w = ∑ i = 1 m ( x i − μ ) ( x i − μ ) T \begin{aligned} \mathbf{S}_t & = \mathbf{S}_b+\mathbf{S}_w \\ & = \sum_{i=1}^{m}(x_i-\mu)(x_i-\mu)^T \end{aligned} St=Sb+Sw=i=1m(xiμ)(xiμ)T

μ \mu μ是所有示例的均值向量,类内散度矩阵 S w \mathbf{S}_w Sw定义为每个类别散度矩阵之和

S w = ∑ i = 1 N S w i S w i = ∑ x ∈ X i ( x − μ i ) ( x − μ i ) T \begin{aligned} % 参数环境是align,公式带编号 \mathbf{S}_w & = \sum_{i=1}^{N}\mathbf{S}_{w_i} \\ \mathbf{S}_{w_i} & = \sum_{x \in X_i}(x-\mu_i)(x-\mu_i)^T \end{aligned} SwSwi=i=1NSwi=xXi(xμi)(xμi)T

多分类学习

一对一 (OvO)

假如某个分类中有N个类别,我们将这N个类别进行两两配对(两两配对后转化为二分类问题)。那么我们可以得到个二分类器。(简单解释一下,相当于在N个类别里面抽2个)
之后,在测试阶段,我们把新样本交给这个二分类器。于是我们可以得到个分类结果。把预测的最多的类别作为预测的结果。
img
电影《假如爱有天意》,爱情,战争,奇幻,动画。
我们两两组合分类器,分类器 1 1 1(爱情,战争),分类器 2 2 2(爱情,奇幻),分类器 3 3 3(爱情,动画),分类器 4 4 4(战争,奇幻),分类器 5 5 5(战争,动画),分类器 6 6 6(奇幻,动画)。
测试集《假如爱有天意》,分类器结果分别是爱情,爱情,爱情,战争,战争,奇幻。我们取预测最多的分类结果,将电影《假如爱有天意》分类为爱情。

一对其余 (OvR)

一对其余其实更加好理解,每次将一个类别作为正类,其余类别作为负类。此时共有(N个分类器)。在测试的时候若仅有一个分类器预测为正类,则对应的类别标记为最终的分类结果。例如下面这个例子。
img
注意:此处强调只有一个分类器预测为正例
电影《泰坦尼克号》,爱情,战争,奇幻,动画。
我们两两组合分类器,分类器 1 1 1(是爱情,非爱情),分类器 2 2 2(是战争,非战争),分类器 3 3 3(是奇幻,非奇幻),分类器 4 4 4(是动画,非动画),
测试集《泰坦尼克号》,分类器结果分别是是爱情,非战争,非奇幻,非动画。我们取预测正例,将电影《泰坦尼克号》分类为爱情。
但是假如此处我们的测试集是《假如爱有天意》,它真的不能分为战争吗,答案显然是否定的。所以有多个分类器器时,通常考虑各分类器的预测置信度,也就是权重,分类器 1 1 1(是爱情,非爱情)可信度 1 1 1,分类器 2 2 2(是战争,非战争)可信度 0.9 0.9 0.9,选择置信度最大的。
反思:笔者认为这里完全可以两个结果爱情战都可以采用,完全可以多元二分类。

O v O OvO OvO O v R OvR OvR各有千秋

OvR只需训练N个分类器,而OvO需训练 N ( N − 1 ) / 2 N(N - 1)/2 N(N1)/2个分类器, 因此,OvO的存储开销和测试时间开销通常比OvR更大。但在训练时,OvR的每个分类器均使用全部训练样例,而OvO的每个分类器仅用到两个类的样例,因此,在类别很多时,OvO的训练时间开销通常比OvR更小。至于预测性能,则取决于具体的数据分布,在多数情形下两者差不多。
综上:
OvO的优点是,在类别很多时,训练时间要比OvR少(比较方便区分,区分快)。缺点是,分类器个数多。
OvR的优点是,分类器个数少,存储开销和测试时间比OvO少。缺点是,类别很多时,训练时间长。

多对多(MvM)

输出纠错编码( E C O O C ECOOC ECOOC)
二元码
E C O O C ECOOC ECOOC的思想是对于 N N N训练集做 M M M次划分,每次划分选择一些类别作为正例,剩下的类别作为反例来训练得到一个二分类器,于是可以训练得到 M M M个二分类器 { f 1 , f 2 , f 3 , f 4 , f 5 } \{f_1,f_2,f_3,f_4,f_5\} {f1,f2,f3,f4,f5}
比如只含 C 1 , C 2 , C 3 , C 4 C_1,C_2,C_3,C_4 C1,C2,C3,C4类的训练集用分类器进行分类,正例标记为 1 1 1,反例标记为 − 1 -1 1,得到如下图
f 1 f_1 f1 f 2 f_2 f2 f 3 f_3 f3 f 4 f_4 f4 f 5 f_5 f5海明距离欧式距离
C 1 C_1 C1-1+1-1+1+13 2 3 2\sqrt{3} 23
C 2 C_2 C2+1-1-1+1-144
C 3 C_3 C3-1+1+1-1+112
C 4 C_4 C4-1-1+1+1-12 2 2 2\sqrt{2} 22
测试集-1-1+1-1+1
测试集也被分类器划分好,由于我们数据只有 C 1 , C 2 , C 3 , C 4 C_1,C_2,C_3,C_4 C1,C2,C3,C4四种类别,测试集必然属于 C 1 , C 2 , C 3 , C 4 C_1,C_2,C_3,C_4 C1,C2,C3,C4其中一种。要么就是噪声点或异常点(当然不可能存在),则我们可以用海明距离或者欧式距离表示测试集与 C 1 , C 2 , C 3 , C 4 C_1,C_2,C_3,C_4 C1,C2,C3,C4像似度。值越小,越像似,所以我们可以把该测试集归类为 C 3 C_3 C3
三元码
通俗举例来说将只含 C 1 , C 2 , C 3 , C 4 C_1,C_2,C_3,C_4 C1,C2,C3,C4类的训练集用分类器进行分类,正例标记为 1 1 1,反例标记为 − 1 -1 1,中间态为 0 0 0(可以把它想象成墙头草,两边倒,或者正例反例难以区分),与二元码同理,以此类推。
优点
ECOC编码对分类器的错误有一定的容忍和修正能力。一般来说,对同一个学习任务,ECOC编码越长,纠错能力越强。(当一个分类器分类错误,由于数据集被我们划分了很多次(也就是ECOC编码越长),对于海明距离或欧式距离影响越小(相似度影响越小小))
缺点
编码越长,意味着所需训练的分类器越多,计算、存储开销都会增大;另一方面,对有限类别数,可能的组合数目是有限的,码长超过一定范围后就失去了意义。(就是一个很小数据集,你划分一亿个就有点大题小用了,所以说要适当,下一段就是针对划分多少次问题讨论)
对同等长度的编码,理论上来说,任意两个类别之间的编码距离越远(两个类别相似度很低),则纠错能力越强(易于区分)。更具这个原则计算出理论最优编码(划分多少次,与 L D A LDA LDA差不多,求直线 w w w,我们这里是求编码长度,划分多少次才是最优)。通常我们并不需获得理论最优编码,因为非最优编码在实践中往往己能产生足够好的分类器。另一方面,因为机器学习问题涉及很多因素,有时候区分度不大,就更百度云盘下载验证码一样,人都难以区分字母,我们的MvM正反例就不好设计。

类别不平衡问题

假设数据集中 998 998 998反例,只有 2 2 2正例。就算我们模型学习器直接全判定为反例,正确率也有 99.8 % 99.8\% 99.8%。然而这样学习器并没有什么用。我们真正有价值的是那个正例。就好比买彩票一样,我们直接判定这张彩票 99 % 99\% 99%都中不了奖。然而这并没有什么用。真正有用的是我们预测出那张中奖了。所以有必要了解类别不平衡方法。
于是我们可以设置概率阀值 0.5 0.5 0.5,正例概率大于 0.5 0.5 0.5,即正例概率大于反例概率即可判定为正例,即 y 1 − y > 1 \cfrac{y}{1-y}>1 1yy>1
也可以令 m + m^+ m+表示为正例,令 m − m^- m表示为反例,设置阀值为 m + m − \cfrac{m+}{m^-} mm+ 当预测正例概率大于样本中观测样本概率判定为正例。即 y 1 − y > m + m − \cfrac{y}{1-y}>\cfrac{m+}{m^-} 1yy>mm+。我们可将其变形得到 y 1 − y × m − m + = y ∗ 1 − y ∗ \cfrac{y}{1-y}\times\cfrac{m^-}{m^+}=\cfrac{y^*}{1-y^*} 1yy×m+m=1yy.但是操作往往有很多问题,因为我们未必能从局部数据概率来估计真实概率。
解决方法
1.欠采样:去除一些反例,使正例,反例数目接近。算法有:EasyEnsemble
2.过采样:增加一些正例,使正例,反例数目接近。常见的算法有SMOTE
3.直接对原始训练集进行学习, y 1 − y × m − m + = y ∗ 1 − y ∗ \cfrac{y}{1-y}\times\cfrac{m^-}{m^+}=\cfrac{y^*}{1-y^*} 1yy×m+m=1yy更改阈值
欠采样法丢弃很多反例数据集,过采样法增加很多正例,但是注意不能重复采样,否则会导致过拟合。
代价敏感学习可用 c o s t + / c o s t − cost^+/cost^- cost+/cost代替 m − / m + m^-/m^+ m/m+ c o s t + cost^+ cost+是正例误分类为反例的代价, c o s t − cost^- cost是将反例误分为正例的代价
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值