线性分类

一、总体框架

1、机器学习分类

机器学习可以分为:
(1)、频率派:统计机器学习。
(2)、贝叶斯派:概率图模型。

2、线性回归

线性回归的特点:
(1)、线性,其他:
⇒ \Rightarrow 属性非线性:特征转换(例如:多项式回归)

⇒ \Rightarrow 全局非线性(全局线性:直接根据判别函数的值进行分类):线性分类(例如激活函数)

⇒ \Rightarrow 系数非线性(系数线性:系数不变,唯一分类器):神经网络、感知机(感知机的系数可能改变,而神经网络的基础为感知机算法)

(2)、全局性(样本空间的全局性,不做分割处理),其他:
⇒ \Rightarrow 线性样条回归(对样本空间分段线性回归),决策树(将样本空间分割)

(3)、数据未加工,其他:
⇒ \Rightarrow PCA,流形

3、线性回归 VS 线性分类

线性回归 → D i m e n s i o n R e d u c t i o n 激 活 函 数 \xrightarrow[Dimension Reduction]{激活函数} DimensionReduction线性分类: y = f ( w T + b ) , { y ∈ { − 1 , 1 } y ∈ [ 0 , 1 ] y =f(w^T+b),\left\{\begin{aligned}y\in\{-1,1\}\\y\in[0,1]\end{aligned}\right. y=f(wT+b),{y{1,1}y[0,1]
因此线性分类的关键是找到 w T + b w^T+b wT+b和激活函数。

线性回归重在拟合曲线,线性分类基于线性回归,加上激活函数之后,根本的目的是进行分类,其值域只有两种情况: { y ∈ { − 1 , 1 } 硬 分 类 y ∈ [ 0 , 1 ] 软 分 类 \{\begin{aligned}y\in\{-1,1\}硬分类\\y\in [0,1]软分类\end{aligned} {y{1,1}y[0,1]

4、线性分类的类别

线 性 分 类 = { y ∈ { − 1 , 1 } , 硬 分 类 ( 直 接 判 别 类 别 ) ⇒ { 判 别 函 数 模 型 : F i s h e r 、 感 知 机 y ∈ [ 0 , 1 ] , 软 分 类 ( 与 概 率 有 关 ) ⇒ { 生 成 式 模 型 : p ( y ∣ x ) = p ( x ∣ y ) p ( y ) p ( x ) , 需 要 先 对 类 别 本 身 进 行 研 究 判 别 式 模 型 : 直 接 计 算 p ( y ∣ x ) 线性分类=\left\{\begin{array}{l}y\in\{-1,1\},硬分类(直接判别类别)\Rightarrow\{判别函数模型:Fisher、感知机\\ y\in[0,1],软分类(与概率有关)\Rightarrow\{\begin{array}{l}生成式模型:p(y|x)=\frac{p(x|y)p(y)}{p(x)},需要先对类别本身进行研究\\判别式模型:直接计算p(y|x)\end{array}\end{array}\right. 线=y{1,1},){Fishery[0,1]{p(yx)=p(x)p(xy)p(y)p(yx)

常见的线性分类方法都为统计机器学习,以下从模型、loss function、优化问题三个方面对常见线性分类器进行介绍。

二、感知机

感知机算法为硬线性分类器,因此为判别函数模型。

1、数据

数据 X = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } X=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} X={(x1,y1),(x2,y2),...,(xN,yN)}
分错的样本 D = { ( x i , y i ) ∣ y i f ( x i ) < 0 } D=\{(x_i,y_i)|y_if(x_i)<0\} D={(xi,yi)yif(xi)<0}

2、思想

错误驱动。

3、模型

判别函数模型, f ( x ) = s g n ( w T x + b ) , x ∈ R n , w ∈ R n . f(x)=sgn(w^Tx+b),x\in R^n,w\in R^n. f(x)=sgn(wTx+b),xRn,wRn.

4、策略

感知机算法为线性,所以核心是 f ( w T + b ) ⇒ f(w^T+b)\\\Rightarrow f(wT+b)怎样建立目标函数,即找到loss function
⇒ l o s s f u n c t i o n   = ∑ i ∈ D I [ y i ( w T x i + b ) < 0 ] \Rightarrow loss function~=\sum\limits_{i\in D}I[y_i(w^Tx_i+b)<0] lossfunction =iDI[yi(wTxi+b)<0]
⇒ \Rightarrow 示性函数不连续,不好优化

⇒ l o s s   f u n c t i o n = ∑ i ∈ D ( − [ y i ( w T x i + b ) ] ) ⇒ m i n   l o s s   f u n c t i o n ⇒ 梯 度 下 降 ⇒ ( 批 量 梯 度 下 降 B G D ) ∂ ( l o s s   f u n c t i o n ) ∂ w = ∑ i ∈ D − y i x i ⇒ ( 随 机 梯 度 下 降 S G D ) w k + 1 = w k − ( − y ( w T x b ) ) = w k + λ y ( w T x + b ) \Rightarrow loss~function=\sum\limits_{i\in D}(-[y_i(w^Tx_i+b)])\\\Rightarrow min~loss~function\\ \\\Rightarrow梯度下降\\\\\Rightarrow(批量梯度下降BGD)\frac{\partial{(loss~function)}}{\partial w}=\sum\limits_{i\in D}-y_ix_i\\\Rightarrow(随机梯度下降SGD)w_{k+1}=w_k-(-y(w^Tx_b))=w_k+\lambda y(w^Tx+b) loss function=iD([yi(wTxi+b)])min loss functionBGD)w(loss function)=iDyixiSGDwk+1=wk(y(wTxb))=wk+λy(wTx+b)

5、算法

使用SGD,并将样本数据写为增广形式:
(1)、当 x i ∈ w 1 , y i = 1 x_i\in w_1,y_i=1 xiw1,yi=1,若其分类错误,则 w k + 1 = w k + λ y i x i w_{k+1}=w_k+\lambda y_ix_i wk+1=wk+λyixi
(2)、当 x i ∈ w 2 , y i = − 1 , x_i\in w_2,y_i=-1, xiw2,yi=1,若其分类错误,则 w k + 1 = w k − λ y i x i w_{k+1}=w_k-\lambda y_ix_i wk+1=wkλyixi

综上,感知机算法可总结为:
(1)、数据处理:将数据写为增广的形式,并对 x i ∈ w 2 的 数 据 都 乘 上 ( − 1 ) x_i\in w_2的数据都乘上(-1) xiw2(1)

(2)、选取初值: w 0 与 λ w_0与\lambda w0λ

(3)、开始一轮的学习,对每个样本: w k + 1 = { w k ,    w k T x i > 0 w k + λ x i ,    w k T x i < 0 w_{k+1}=\left\{\begin{array}{l}w_{k},~~w^T_kx_i>0\\w_k+\lambda x_i,~~w^T_kx_i<0\end{array}\right. wk+1={wk,  wkTxi>0wk+λxi,  wkTxi<0
一轮过程中,若所有的样本都分类正确则结束,但凡有一个分类错误,本轮结束之后还要下一轮进行检验是否将所有样本都分对。

6、总结

感知机算法总结 { 模 型 : 错 误 驱 动 l o s s   f u n c t i o n : 0 , 1 损 失 优 化 问 题 : 为 了 算 法 实 现 的 方 便 , 对 d a t a 进 行 预 处 理 , 增 广 + 负 样 本 ∗ ( − 1 ) \{\begin{array}{l}模型:错误驱动\\loss~function:0,1损失\\优化问题:为了算法实现的方便,对data进行预处理,增广+负样本*(-1)\end{array} {loss function01便data广+1

三、Fisher线性判别

Fisher为线性硬分类,所以为判别函数模型。

1、数据

D a t a = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } , x i Data=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\},x_i Data={(x1,y1),(x2,y2),...,(xN,yN)}xi为增广形式。
其中 X 1 X_1 X1 w 1 w_1 w1样本集合, X 2 X_2 X2 w 2 w_2 w2样本集合。
∣ X 1 ∣ = N 1 , ∣ X 2 ∣ = N 2 , N = N 1 + N 2 |X_1|=N_1,|X_2|=N_2,N=N_1+N_2 X1=N1,X2=N2,N=N1+N2

2、思想

最小化类内距离,最大化类间距离。

Fisher将数据映射为一维数据,通过阈值进行线性分类,如上图所示:即将 w w w视为一数轴,将样本数据映射到数轴 w w w,则此时样本为 w w w上的点,找到两类的分开阈值进行分类。

分类思想为类内小,类间大,这里的类指的是映射之后的点,因此Fisher算法的目标为求最佳映射方向使得类间距离最大,类内距离最小。

3、模型

将数据映射到 w w w方向,长度为 ∣ x ∣ c o s θ |x|cos\theta xcosθ,而 w T x = ∣ w ∣ ∣ x ∣ c o s θ w^Tx=|w||x|cos\theta wTx=wxcosθ,对所有的数据, ∣ w ∣ |w| w是相同的,所以用 w T x w^Tx wTx表示 x x x w w w方向上的映射。
将数据映射到 w w w方向后考虑如何表示类内距离和类间距离。

(1)、类内距离
考虑样本到均值,即方差(此时的样本为映射后的数据,为一维数据,所以是方差)

m 1 = 1 N 1 ∑ i ∈ N 1 w T x i m_1=\frac{1}{N_1}\sum\limits_{i\in N_1}w^Tx_i m1=N11iN1wTxi
m 1 = 1 N 2 ∑ i ∈ N 2 w T x i m_1=\frac{1}{N_2}\sum\limits_{i\in N_2}w^Tx_i m1=N21iN2wTxi
则类内距离的表示为:
X 1 : 1 N 1 ∑ i ∈ N 1 ( w T x i − m 1 ) 2 X_1:\frac{1}{N_1}\sum\limits_{i\in N_1}(w^Tx_i-m_1)^2 X1:N11iN1(wTxim1)2
X 2 : 1 N 2 ∑ i ∈ N 2 ( w T x i − m 2 ) 2 X_2:\frac{1}{N_2}\sum\limits_{i\in N_2}(w^Tx_i-m_2)^2 X2:N21iN2(wTxim2)2

(2)、类间距离:用每个类的均值代表样本,类间剧为均值差。

X 1 与 X 2 类 间 距 离 : ( m 1 − m 2 ) 2 = ( 1 N 1 ∑ i ∈ N 1 w T x i − 1 N 2 ∑ i ∈ N 2 w T x i ) X_1与X_2类间距离:(m_1-m_2)^2=(\frac{1}{N_1}\sum\limits_{i\in N_1}w^Tx_i-\frac{1}{N_2}\sum\limits_{i\in N_2}w^Tx_i) X1X2(m1m2)2=(N11iN1wTxiN21iN2wTxi)

(3)、目标求最佳映射方向,根据类间和类内距离构建目标:

m 1 = 1 N 1 ∑ i ∈ N 1 w T x i = w T 1 N 1 ∑ i ∈ N 1 x i = w T m 1 ~ m_1=\frac{1}{N_1}\sum\limits_{i\in N_1}w^Tx_i=w^T\frac{1}{N_1}\sum\limits_{i\in N_1}x_i=w^T\tilde{m_1} m1=N11iN1wTxi=wTN11iN1xi=wTm1~
m 2 = 1 N 2 ∑ i ∈ N 2 w T x i = w T 1 N 2 ∑ i ∈ N 2 x i = w T m 2 ~ m_2=\frac{1}{N_2}\sum\limits_{i\in N_2}w^Tx_i=w^T\frac{1}{N_2}\sum\limits_{i\in N_2}x_i=w^T\tilde{m_2} m2=N21iN2wTxi=wTN21iN2xi=wTm2~
其中:
m 1 ~ = 1 N 1 ∑ i ∈ N 1 x i     ,     m 2 ~ = 1 N 2 ∑ i ∈ N 2 x i \tilde{m_1}=\frac{1}{N_1}\sum\limits_{i\in N_1}x_i~~~,~~~\tilde{m_2}=\frac{1}{N_2}\sum\limits_{i\in N_2}x_i m1~=N11iN1xi   ,   m2~=N21iN2xi

对类间距离:
( m 1 − m 2 ) 2 = ( w T m 1 ~ − w T m 2 ~ ) 2 = w T ( m 1 ~ − m 2 ~ ) ( m 1 ~ − m 2 ~ ) T w = w T S b w (m_1-m_2)^2=(w^T\tilde{m_1}-w^T\tilde{m_2})^2=w^T(\tilde{m_1}-\tilde{m_2})(\tilde{m_1}-\tilde{m_2})^Tw=w^TS_bw (m1m2)2=(wTm1~wTm2~)2=wT(m1~m2~)(m1~m2~)Tw=wTSbw
其中, S b = ( m 1 ~ − m 2 ~ ) ( m 1 ~ − m 2 ~ ) T S_b=(\tilde{m_1}-\tilde{m_2})(\tilde{m_1}-\tilde{m_2})^T Sb=(m1~m2~)(m1~m2~)T

对类内距离:
1 N 1 ∑ i ∈ N 1 ( w T x i − m 1 ) 2 = 1 N 1 ∑ i ∈ N 1 ( w T x i − w T m 1 ~ ) 2 = 1 N 1 ∑ i ∈ N 1 w T ( x i − m 1 ~ ) 2 = 1 N 1 ∑ i ∈ N 1 w T ( x i − m 1 ~ ) T ( x i − m 1 ~ ) w = w T S 1 w T \frac{1}{N_1}\sum\limits_{i\in N_1}(w^Tx_i-m_1)^2=\frac{1}{N_1}\sum\limits_{i\in N_1}(w^Tx_i-w^T\tilde{m_1})^2=\frac{1}{N_1}\sum\limits_{i\in N_1}w^T(x_i-\tilde{m_1})^2=\frac{1}{N_1}\sum\limits_{i\in N_1}w^T(x_i-\tilde{m_1})^T(x_i-\tilde{m_1})w=w^TS_1w^T N11iN1(wTxim1)2=N11iN1(wTxiwTm1~)2=N11iN1wT(xim1~)2=N11iN1wT(xim1~)T(xim1~)w=wTS1wT

同理可得 1 N 2 ∑ i ∈ N 2 ( w T x i − m 2 ) 2 = w T S 2 w T \frac{1}{N_2}\sum\limits_{i\in N_2}(w^Tx_i-m_2)^2=w^TS_2w^T N21iN2(wTxim2)2=wTS2wT
其中, S 1 = 1 N 1 ∑ i ∈ N 1 ( x i − m 1 ~ ) T ( x i − m 1 ~ ) S 2 = 1 N 2 ∑ i ∈ N 2 ( x i − m 2 ~ ) T ( x i − m 2 ~ ) S_1=\frac{1}{N_1}\sum\limits_{i\in N_1}(x_i-\tilde{m_1})^T(x_i-\tilde{m_1})\\S_2=\frac{1}{N_2}\sum\limits_{i\in N_2}(x_i-\tilde{m_2})^T(x_i-\tilde{m_2}) S1=N11iN1(xim1~)T(xim1~)S2=N21iN2(xim2~)T(xim2~)
则类内距离为: w T S 1 w 和 w T S 2 w w^TS_1w和w^TS_2w wTS1wwTS2w

(4)、总结:
目标为类内小,类间大,则目标为: m i n w T S 1 w + w T S 2 w w T S b w = w T S w w w T S b w min\frac{w^TS_1w+w^TS_2w}{w^TS_bw}=\frac{w^TS_ww}{w^TS_bw} minwTSbwwTS1w+wTS2w=wTSbwwTSww

其中, S w S_w Sw为类内离散度矩阵, S w = S 1 + S 2 S_w=S_1+S_2 Sw=S1+S2 S i S_i Si w i w_i wi的协方差矩阵;

S b S_b Sb为类间离散度矩阵, S b = ( m 1 ~ − m 2 ~ ) ( m 1 ~ − m 2 ~ ) T S_b=(\tilde{m_1}-\tilde{m_2})(\tilde{m_1}-\tilde{m_2})^T Sb=(m1~m2~)(m1~m2~)T

4、策略

目标为 m i n w T S w w w T S b w min\frac{w^TS_ww}{w^TS_bw} minwTSbwwTSww,则一定存在 w T S b w = 1 w^TS_bw=1 wTSbw=1,因为只与 w w w的方向有关, w w w可伸缩,不影响分类,所以目标可转化为:

m i n    w T S w w s . t      w T S b w = 1 min~~w^TS_ww\\s.t~~~~w^TS_bw=1 min  wTSwws.t    wTSbw=1

(1)、问题转化
带约束的问题,且为凸的
⇒ \Rightarrow Lagrange乘子法
⇒ L ( α , w ) = w T S w w + α ( w T S b w − 1 ) ⇒ ∂ L ( α , w ) ∂ w = 2 S w w + 2 α S b w = 0 ⇒ S w w = − α S b w ⇒ w = − S w − 1 α S b w ⇒ w = − S w − 1 α ( m 1 ~ − m 1 ~ ) ( m 1 ~ − m 2 ~ ) T w ⇒ = − S w − 1 α ( m 1 ~ − m 2 ~ ) C 因 为 只 与 方 向 有 关 , 与 大 小 无 关 , 所 以 忽 略 常 数 ⇒ w ∗ = S w − 1 ( m 1 ~ − m 2 ~ ) \Rightarrow L(\alpha,w)=w^TS_ww+\alpha(w^TS_bw-1)\\\Rightarrow\frac{\partial{L(\alpha,w)}}{\partial{w}}=2S_ww+2\alpha S_bw=0\\\Rightarrow S_ww=-\alpha S_bw\\\Rightarrow w=-S_w^{-1}\alpha S_bw\\\Rightarrow w=-S_w^{-1}\alpha(\tilde{m_1}-\tilde{m_1})(\tilde{m_1}-\tilde{m_2})^Tw\\\Rightarrow=-S_w^{-1}\alpha(\tilde{m_1}-\tilde{m_2})C\\因为只与方向有关,与大小无关,所以忽略常数\\ \Rightarrow w^*=S_w^{-1}(\tilde{m_1}-\tilde{m_2}) L(α,w)=wTSww+α(wTSbw1)wL(α,w)=2Sww+2αSbw=0Sww=αSbww=Sw1αSbww=Sw1α(m1~m1~)(m1~m2~)Tw=Sw1α(m1~m2~)Cw=Sw1(m1~m2~)

其中 S w = S 1 + S 2 , S i S_w=S_1+S_2,S_i Sw=S1+S2Si为协方差矩阵,有系数 1 N 1 \frac{1}{N_1} N11 1 N 2 \frac{1}{N_2} N21,但是因为常数不影响,所以为了计算方便,可以忽略常数,即 S i = ∑ ( x i − m 1 ~ ) ( x − m 1 ~ ) T S_i=\sum(x_i-\tilde{m_1})(x-\tilde{m_1})^T Si=(xim1~)(xm1~)T

5、算法

Fisher线性判别两类问题:
(1)、样本均值: m 1 ~ = 1 N 1 ∑ x i , m 2 ~ = 1 N 2 ∑ x i \tilde{m_1}=\frac{1}{N_1}\sum x_i,\tilde{m_2}=\frac{1}{N_2}\sum x_i m1~=N11xi,m2~=N21xi
(2)、类内离散度矩阵: S 1 = ∑ ( x i − m 1 ~ ) ( x i − m 1 ~ ) T                                        S 2 = ∑ ( x i − m 2 ~ ) ( x i − m 2 ~ ) T S_1=\sum(x_i-\tilde{m_1})(x_i-\tilde{m_1})^T\\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~S_2=\sum(x_i-\tilde{m_2})(x_i-\tilde{m_2})^T S1=(xim1~)(xim1~)T                                      S2=(xim2~)(xim2~)T
(3)、类间距离: m 1 ~ − m 2 ~ \tilde{m_1}-\tilde{m_2} m1~m2~
(4)、 w ∗ = S w − 1 ( m 1 ~ − m 2 ~ ) w^*=S_w^{-1}(\tilde{m_1}-\tilde{m_2}) w=Sw1(m1~m2~)
(5)、判别阈值通常可取(判别点的取值看投影后的数据分布): { m 1 + m 2 2 = 1 2 w ∗ T ( m 1 ~ + m 2 ~ ) N 1 m 1 + N 2 m 2 N = w ∗ T m ~ , m ~ = 1 N ∑ x i \left\{\begin{array}{l}\frac{m_1+m_2}{2}=\frac{1}{2}w^{*T}(\tilde{m_1}+\tilde{m_2}) \\\frac{N_1m_1+N_2m_2}{N}=w^{*T}\tilde{m},\tilde{m}=\frac{1}{N}\sum x_i\end{array}\right. {2m1+m2=21wT(m1~+m2~)NN1m1+N2m2=wTm~,m~=N1xi

四、logostic回归

感知机、Fisher线性判别函数模型为硬分类,现讨论软分类。
软分类: { 生 成 式 模 型 : 高 斯 判 别 分 析 判 别 式 模 型 : l o g i s t i c    r e g r e s s i o n \left\{\begin{array}{l}生成式模型:高斯判别分析\\判别式模型:logistic ~~regression\end{array}\right. {logistic  regression
现讨论logistic regression。

1、思想

(1)、logistic regression为判别模型,所以要求P(y|x)。
(2)、线性分类基于线性回归,所以根本要找得是 f ( w T + b ) f(w^T+b) f(wT+b),则问题为如何找 f f f,将 w T + b w^T+b wT+b转化为概率p(y|x)。
(3)、logistic regression使用sigmod函数, σ ( z ) = 1 1 + e − z \sigma(z)=\frac{1}{1+e^{-z}} σ(z)=1+ez1
Sigmod函数

(4)、通过sigmod函数如何将 f ( w T x + b ) f(w^Tx+b) f(wTx+b)与p(y|x)联系:一般 y = s g n ( f ( w T x + b ) ) y=sgn(f(w^Tx+b)) y=sgn(f(wTx+b)),即类别与 f ( w T x + b ) f(w^Tx+b) f(wTx+b)的正负有关,所以若 y = { 1 , w T x + b > 0 0 , w T x + b < 0 y=\left\{\begin{array}{l}1,w^Tx+b>0\\0,w^Tx+b<0\end{array}\right. y={1,wTx+b>00,wTx+b<0
则转化为概率: P ( y = 1 ∣ x ) = 1 1 + e − ( w T x + b ) P(y=1|x)=\frac{1}{1+e^{-(w^Tx+b)}} P(y=1x)=1+e(wTx+b)1,则当 w T x + b > 0 , P ( y = 1 ∣ x ) > 1 2 , 否 则 < 1 2 w^Tx+b>0,P(y=1|x)>\frac{1}{2},否则<\frac{1}{2} wTx+b>0,P(y=1x)>21,<21,即当 w T x + b > 0 w^Tx+b>0 wTx+b>0时, x ∈ w 1 x\in w_1 xw1的概率大,根据Baytes最小错误率判别, y = 1 y=1 y=1

2、模型

已知 p ( y ∣ x ) p(y|x) p(yx),即 p ( y ∣ w , b ) p(y|w,b) p(yw,b)求参数用MLE,以下(蕴含的条件是样本之间相互独立):
J ( w ) = ∏ i = 1 N P ( y = 1 ∣ w ) y i ( 1 − P ( y = 1 ∣ w ) ) 1 − y i J(w)=\prod\limits_{i=1}^NP(y=1|w)^{y_i}(1-P(y=1|w))^{1-y_i} J(w)=i=1NP(y=1w)yi(1P(y=1w))1yi
则对数似然函数:
J ( w ) = ∑ i = 1 N y i l o g P ( y = 1 ∣ w ) + ( 1 − y i ) l o g ( 1 − P ( y = 1 ∣ w ) ) J(w)=\sum\limits_{i=1}^Ny_ilogP(y=1|w)+(1-y_i)log(1-P(y=1|w)) J(w)=i=1NyilogP(y=1w)+(1yi)log(1P(y=1w))

3、策略

以下数据使用增广形式。
a r g   m a x w               ∑ i = 1 N y i l o g P ( y = 1 ∣ w ) + ( 1 − y i ) l o g ( 1 − P ( y = 1 ∣ w ) ) = ∑ i = 1 N y i l o g ( 1 1 + e − w T x i ) − ( 1 − y i ) l o g ( e − w T x i 1 + e − w T x i ) = ∑ i = 1 N y i ( 0 − l o g ( 1 + e w T x ) ) − ( 1 − y i ) ( − w T x − l o g ( 1 + e − w T x ) ) = ∑ i = 1 N ( − w T x i + y i w T x i − l o g ( 1 + e − w T x ) ) \underset{w~~~~~~~~~~~~~}{arg~max}\sum\limits_{i=1}^Ny_ilogP(y=1|w)+(1-y_i)log(1-P(y=1|w))\\=\sum\limits_{i=1}^Ny_ilog(\frac{1}{1+e^{-w^Tx_i}})-(1-y_i)log(\frac{e^{-w^Tx_i}}{1+e^-{w^Tx_i}})\\=\sum\limits_{i=1}^Ny_i(0-log(1+e^{w^Tx}))-(1-y_i)(-w^Tx-log(1+e^{-w^Tx}))\\=\sum\limits_{i=1}^N(-w^Tx_i+y_iw^Tx_i-log(1+e^{-w^Tx})) w             arg maxi=1NyilogP(y=1w)+(1yi)log(1P(y=1w))=i=1Nyilog(1+ewTxi1)(1yi)log(1+ewTxiewTxi)=i=1Nyi(0log(1+ewTx))(1yi)(wTxlog(1+ewTx))=i=1N(wTxi+yiwTxilog(1+ewTx))

∂ J ( w ) ∂ w = ∑ i = 1 N ( − x i + y i x i + 1 1 + e − w T x e − w T x x i ) = ∑ i = 1 N ( y i − 1 1 + e − w T x ) x i = ∑ i = 1 N ( y i − f ( w , x i ) ) x i \frac{\partial{J(w)}}{\partial{w}}=\sum\limits_{i=1}^N(-x_i+y_ix_i+\frac{1}{1+e^{-w^Tx}}e^{-w^Tx}x_i)\\=\sum\limits_{i=1}^N(y_i-\frac{1}{1+e^{-w^Tx}})x_i\\=\sum\limits_{i=1}^N(y_i-f(w,x_i))x_i wJ(w)=i=1N(xi+yixi+1+ewTx1ewTxxi)=i=1N(yi1+ewTx1)xi=i=1N(yif(w,xi))xi

梯度为BGD,难求,使用SGD。

4、算法

(1)、输入数据, D a t a = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } Data=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} Data={(x1,y1),(x2,y2),...,(xN,yN)}
(2)、生成式模型,MLE: m a x   J ( w ) = ∑ i = 1 N l o g P ( y = 1 ∣ x i ) y i ( 1 − P ( y = 1 ∣ x i ) ) 1 − y i max~J(w)=\sum\limits_{i=1}^NlogP(y=1|x_i)^{y_i}(1-P(y=1|x_i))^{1-y_i} max J(w)=i=1NlogP(y=1xi)yi(1P(y=1xi))1yi
∇ J ( w ) = ∑ i = 1 N ( y i − f ( w T x i ) ) x i \nabla J(w)=\sum\limits_{i=1}^N(y_i-f(w^Tx_i))x_i J(w)=i=1N(yif(wTxi))xi
(3)、SGD(MLE,所以迭代加上梯度):

w k + 1 = w k + α ( y i − f ( w T x i ) ) x i w_{k+1}=w_k+\alpha(y_i-f(w^Tx_i))x_i wk+1=wk+α(yif(wTxi))xi
(4)、停止条件:
达到一定迭代次数;
达到一定的精确度,例如 w k w_k wk可正确分类多少样本。

5、logistic regression’s loss function

J(w)为max,而loss function一般为min,所以可以将-J(w)作为loss function。所以:
L ( w ) = − ∑ i = 1 N y i l o g f ( w , x i ) + ( 1 − y i ) l o g ( 1 − f ( w , x i ) ) L(w)=-\sum\limits_{i=1}^Ny_ilogf(w,x_i)+(1-y_i)log(1-f(w,x_i)) L(w)=i=1Nyilogf(w,xi)+(1yi)log(1f(w,xi))
l o s s   f u n c t i o n = { − l o g ( f ( w , x i ) ) , y i = 1 − l o g ( 1 − f ( w , x i ) ) , y i = 0 loss~function=\left\{\begin{array}{l}-log(f(w,x_i)),y_i=1\\-log(1-f(w,x_i)),y_i=0\end{array}\right. loss function={log(f(w,xi)),yi=1log(1f(w,xi)),yi=0
分析:
y i = 1 , l o s s   f u n c t i o n 随 f ( w , x i ) 的 增 大 而 减 小 , 这 是 合 理 的 , 因 为 f ( w , x i ) 增 大 , 说 明 其 大 概 率 ∈ w 1 , 所 以 损 失 小 。 当 y i = 0 , l o s s   f u n c t i o n 随 着 f ( w , x i ) 增 大 而 增 大 , 也 是 合 理 。 y_i=1,loss~function随f(w,x_i)的增大而减小,这是合理的,因为f(w,x_i)增大,说明其大概率\in w_1,所以损失小。\\当y_i=0,loss~function随着f(w,x_i)增大而增大,也是合理。 yi=1,loss functionf(w,xi)f(w,xi)w1yi=0,loss functionf(w,xi)

6、小结

线性函数: w T x w^Tx wTx
激活函数: f ( z ) = 1 1 + e − z f(z)=\frac{1}{1+e^{-z}} f(z)=1+ez1
判别函数转化为概率:激活函数 ⇒ P ( y = 1 ∣ x ) = f ( x ) = 1 1 + e − w T x \Rightarrow P(y=1|x)=f(x)=\frac{1}{1+e^{-w^Tx}} P(y=1x)=f(x)=1+ewTx1
参数求解:MLE(SGD VS BGD)

五、高斯判别模型

高斯判别模型为生成式模型,即相比判别式模型,其需对类被本身的分布进行研究。

1、数据

D a t a = { ( x 1 , y 2 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } Data=\{(x_1,y_2),(x_2,y_2),...,(x_N,y_N)\} Data={(x1,y2),(x2,y2),...,(xN,yN)}

2、思想

生成式模型有 P ( y ) P(y) P(y) P ( x ∣ y ) P(x|y) P(xy),希望估计 P ( y ∣ x ) P(y|x) P(yx)进行分类。如果已经知道 P ( y ) P(y) P(y) P ( x ∣ y ) P(x|y) P(xy),则可求出 P ( y ∣ x ) P(y|x) P(yx),也不用再学习模型,关键是只知服从什么分布,不知具体参数,所以要求出分布的参数。使用MAP估计出分布的参数之后,再使用Baytes最小错误率进行类别分类。

3、模型

关键是假设 P ( y ) 和 P ( x ∣ y ) , P(y)和P(x|y), P(y)P(xy)涉及概率分布时一般y的取值为1与0,这是为了表达的一致性(例如logistic regression)。
y y y服从伯努利分布 ⇒ P ( y = 1 ) = p , P ( y = 0 ) = 1 − p \Rightarrow P(y=1)=p,P(y=0)=1-p P(y=1)=p,P(y=0)=1p
p ( x ∣ y = 1 ) = N ( μ 1 , Σ ) p ( x ∣ y = 0 ) = N ( μ 2 , Σ ) p(x|y=1)= N(\mu_1,\Sigma)\\p(x|y=0)=N(\mu_2,\Sigma) p(xy=1)=N(μ1,Σ)p(xy=0)=N(μ2,Σ)
p ( x ∣ y = 1 ) 和 p ( x ∣ y = 0 ) p(x|y=1)和p(x|y=0) p(xy=1)p(xy=0)的协方差矩阵相同可以理解,因为无论 x x x为哪一类,其每一维的独立性应该是一致的,因为 Σ \Sigma Σ表示的是 x x x的不同维之间是否有相关性,所以可以假设为相同。

4、策略

P ( y ) 与 P ( x ∣ y ) P(y)与P(x|y) P(y)P(xy),则使用MAP估计 ( μ 1 , μ 2 , Σ , p ) (\mu_1,\mu_2,\Sigma,p) (μ1,μ2,Σ,p),求得 P ( y ∣ x ) P(y|x) P(yx)
θ = ( μ 1 , μ 2 , Σ , p ) , L ( θ ) = ∏ i = 1 N P ( y i ) P ( x i ∣ y i ) ⇒ l o g L ( θ ) = ∑ i = 1 N l o g P ( x i ∣ y i ) + l o g P ( y i ) = ∑ x I ∈ w 1 l o g P ( x i ∣ y i ) + l o g P ( y i ) + ∑ x i ∈ w 2 l o g P ( x i ∣ y i ) + l o g P ( y i ) = ∑ i = 1 N l o g N ( μ 1 , Σ ) y i N ( μ 2 , Σ ) 1 − y i + l o g p y i ( 1 − p ) 1 − y i \theta=(\mu_1,\mu_2,\Sigma,p),L(\theta)=\prod\limits_{i=1}^NP(y_i)P(x_i|y_i)\xRightarrow []{log}L(\theta)=\sum\limits_{i=1}^NlogP(x_i|y_i)+logP(y_i)\\=\sum\limits_{x_I\in w_1}logP(x_i|y_i)+logP(y_i)+\sum\limits_{x_i\in w_2}logP(x_i|y_i)+logP(y_i)\\=\sum\limits_{i=1}^NlogN(\mu_1,\Sigma)^{y_i}N(\mu_2,\Sigma)^{1-y_i}+logp^{y_i}(1-p)^{1-y_i} θ=(μ1,μ2,Σ,p)L(θ)=i=1NP(yi)P(xiyi)log L(θ)=i=1NlogP(xiyi)+logP(yi)=xIw1logP(xiyi)+logP(yi)+xiw2logP(xiyi)+logP(yi)=i=1NlogN(μ1,Σ)yiN(μ2,Σ)1yi+logpyi(1p)1yi

(1)、求p:
∂ L ( p ) ∂ p = ∑ i = 1 N y i − p p ( 1 − p ) = 0 ⇒ p = ∑ i = 1 N y i N \frac{\partial{L(p)}}{\partial{p}}=\sum\limits_{i=1}^N\frac{y_i-p}{p(1-p)}=0\Rightarrow p=\frac{\sum\limits_{i=1}^Ny_i}{N} pL(p)=i=1Np(1p)yip=0p=Ni=1Nyi
(2)、求 μ 1 \mu_1 μ1:
∂ L ( μ 1 ) ∂ μ 1 = 0 ⇒ μ 1 = ∑ x i ∈ w 1 x i N 1 \frac{\partial{L(\mu_1)}}{\partial{\mu_1}}=0\Rightarrow\mu_1=\frac{\sum\limits_{x_i\in w_1}x_i}{N_1} μ1L(μ1)=0μ1=N1xiw1xi

(3)、求 μ 2 \mu_2 μ2
∂ L ( μ 2 ) ∂ μ 2 = 0 ⇒ μ 2 = ∑ x i ∈ w 2 x i N 2 \frac{\partial{L(\mu_2)}}{\partial{\mu_2}}=0\Rightarrow\mu_2=\frac{\sum\limits_{x_i\in w_2}x_i}{N_2} μ2L(μ2)=0μ2=N2xiw2xi

(4)、求 Σ \Sigma Σ
∂ L ( Σ ) ∂ Σ = 0 ⇒ Σ = 1 N [ ∑ x i ∈ w 1 ( x i − μ 1 ) ( x I − μ 1 ) T + ∑ x i ∈ w 2 ( x i − μ 2 ) ( x i − μ 2 ) T ] \frac{\partial{L(\Sigma)}}{\partial{\Sigma}}=0\Rightarrow \Sigma=\frac{1}{N}[\sum\limits_{x_i\in w_1}(x_i-\mu_1)(x_I-\mu_1)^T+\sum\limits_{x_i\in w_2}(x_i-\mu_2)(x_i-\mu_2)^T] ΣL(Σ)=0Σ=N1[xiw1(xiμ1)(xIμ1)T+xiw2(xiμ2)(xiμ2)T]

5、算法

高斯判别分析 ⇒ \Rightarrow 生成式模型 ⇒ P ( y ) , P ( x ∣ y ) ⇒ M A P \Rightarrow P(y),P(x|y)\Rightarrow MAP P(y),P(xy)MAP估计参数

六、朴素贝叶斯判别

朴素贝叶斯判别为生成式模型,则要考虑 P ( y ) , P ( x ∣ y ) P(y),P(x|y) P(y)P(xy)来估计 P ( y ∣ x ) P(y|x) P(yx),前面的高斯判别分析中 P ( y ) , P ( x ∣ y ) P(y),P(x|y) P(y)P(xy)为高斯分布,朴素贝叶斯决策的问题也在于如何得到 P ( y ) 和 P ( x ∣ y ) P(y)和P(x|y) P(y)P(xy)

1、思想

朴素贝叶斯决策的本质思想为朴素贝叶斯假设(为了计算简便),即条件独立性假设,为最简单的概率图模型。

朴素贝叶斯决策假设的独立为:给定y的条件下,x的每维是相互独立的(注意:是x的每一维独立,而不是样本间独立)。

2、数据

D a t a = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } Data=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} Data={(x1,y1),(x2,y2),...,(xN,yN)},x的每一维相互独立。

3、模型

P ( x ∣ y ) = ∏ i = 1 n P ( x i ∣ y ) , 其 中 P ( x i ∣ y ) = n u m ( y 类 中 样 本 中 x i 的 取 值 相 同 的 样 本 ) N 1 P(x|y)=\prod\limits_{i=1}^nP(x_i|y),其中P(x_i|y)=\frac{num(y类中样本中x_i的取值相同的样本)}{N_1} P(xy)=i=1nP(xiy),P(xiy)=N1num(yxi)

4、策略

由数据得到 P ( y ) 和 P ( x ∣ y ) P(y)和P(x|y) P(y)P(xy)的估计,使用贝叶斯最小错误率决策。

5、算法

y ^ = a r g   m a x y              P ( y ∣ x ) ⇒ a r g   m a x y              P ( y ) P ( x ∣ y ) P ( x ) ⇒ a r g   m a x y              P ( y ) P ( x ∣ y ) \hat{y}=\underset{y~~~~~~~~~~~~}{arg~max}P(y|x)\\\Rightarrow \underset{y~~~~~~~~~~~~}{arg~max}\frac{P(y)P(x|y)}{P(x)}\\\Rightarrow\underset{y~~~~~~~~~~~~}{arg~max}P(y)P(x|y) y^=y            arg maxP(yx)y            arg maxP(x)P(y)P(xy)y            arg maxP(y)P(xy)
其中,P(y)服从伯努利分布, P ( x ∣ y ) = ∏ i = 1 n P ( x i ∣ y ) P(x|y)=\prod\limits_{i=1}^nP(x_i|y) P(xy)=i=1nP(xiy)

终于写完了+ -+
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值