线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯

线性回归

  • 线性分类
    • 硬输出-感知机
    • 硬输出-线性判别分析
    • 软输出-判别式:逻辑回归
    • 软输出-生成式:高斯判别分析
    • 软输出-生成式:朴素贝叶斯

线性分类

从线性回归到线性分类,通过激活函数或者降维来实现。

线性回归函数 f ( w , b ) = w T x + b f(w,b)=w^Tx+b f(w,b)=wTx+b经过激活函数作用 y = f ( w T x + b ) y=f(w^Tx+b) y=f(wTx+b)作用后变成硬分类问题 y ϵ { 0 , 1 } y\epsilon \left \{0,1 \right \} yϵ{0,1}或者变成软分类问题 y ϵ [ 0 , 1 ] , y\epsilon [0,1], yϵ[0,1],函数 f f f就称为激活函数, f − 1 f^{-1} f1称为 l i n k f u n c t i o n , link function, linkfunction,
硬分类代表模型:感知机,线性判别分析
软分类代表模型:高斯判别分析(生成式模型),逻辑回归(判别式模型)

硬输出-感知机

样本集: { ( x i , y i ) } i = 1 N \left \{ (x_i,y_i)\right \}_{i=1} ^N {(xi,yi)}i=1N
感知机思想:错误驱动。给定一个初始的分类平面 w T x , w^Tx, wTx再一步步移动这个平面使得被错误分类的点越来越少。被错误分类的集合用D表示
模型 f ( x ) = s i g n ( w T x ) , x ϵ R P , w ϵ R P , f(x)=sign(w^Tx),x\epsilon R^P,w\epsilon R^P, f(x)=sign(wTx),xϵRP,wϵRP,其中当
w T x ≥ 0 , s i g n ( w T x ) = 1 ; w T x < 0 , s i g n ( w T x ) = 0 w^Tx \geq 0,sign(w^Tx)=1;w^Tx < 0,sign(w^Tx)=0 wTx0,sign(wTx)=1;wTx<0,sign(wTx)=0
策略定义为被错误分类的点的个数
策略 l o s s f u n c t i o n : L ( w ) = ∑ i = 1 N I { y i w T x i < 0 } , loss function:L(w)=\sum_{i=1} ^N I\left \{ y_iw^Tx_i<0 \right \}, lossfunction:L(w)=i=1NI{yiwTxi<0},也就是当 y i w T x i < 0 y_iw^Tx_i<0 yiwTxi<0时样本是被错误分类的。
通俗点理解就是 w T x i > 0 , y i = 1 → y i w T x i > 0 , w^Tx_i>0,y_i=1\rightarrow y_iw^Tx_i>0, wTxi>0,yi=1yiwTxi>0,分类正确,反之分类错误。然而 L ( w ) L(w) L(w)不可导的,那么这个 l o s s f u n c t i o n loss function lossfunction就需要进行改进。虽然 L ( w ) L(w) L(w)是不可导的,但是 y i w T x i y_iw^Tx_i yiwTxi是可导的。
因此改进之后的 l o s s f u n t i o n loss funtion lossfuntion是这样: L ( w ) = ∑ x i ϵ D − y i w T x i , L(w)=\sum_{x_i\epsilon D}-y_iw^Tx_i, L(w)=xiϵDyiwTxi
w w w求偏导: ▽ w L = − y i x i \bigtriangledown _wL=-y_ix_i wL=yixi
接下来算法只需用随机梯度下降法就能求出来了。
算法:SGD
w ( t + 1 ) ← w t + λ ▽ w L w^{(t+1)}\leftarrow w^{t}+\lambda \bigtriangledown _wL w(t+1)wt+λwL

当然,上述的感知机算法都是基于数据线性可分为前提

硬输出-线性判别分析

样本集: { ( x i , y i ) } i = 1 N , x i ϵ R p , y i ϵ { c 1 = 1 , c 2 = − 1 } \left \{ (x_i,y_i)\right \}_{i=1} ^N,x_i\epsilon R^p,y_i\epsilon\left\{ c_1=1,c_2=-1 \right \} {(xi,yi)}i=1N,xiϵRp,yiϵ{c1=1,c2=1}
x c 1 = { x i ∣ y i = + 1 } , x c 2 = { x i ∣ y i = − 1 } x_{c_1}=\left \{x_i|y_i=+1 \right \},x_{c_2}=\left \{x_i|y_i=-1 \right \} xc1={xiyi=+1},xc2={xiyi=1}
令集合 x c 1 = N 1 , x c 2 = N 2 , x_{c_1}=N_1,x_{c_2}=N_2, xc1=N1,xc2=N2,所以 N 1 + N 2 = N N_1+N_2=N N1+N2=N
思想:类内小,类间大
如图所示:
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第1张图片
同类的数据间隔尽量小(类内方差尽量小),而不同类数据星星和圈圈之间的距离尽量大(类间大)。
我们投影的方向是 w , w, w,也就是超平面对应的法向量。
点到平面的投影的线为 z , z i = w T x i z,z_i=w^Tx_i zzi=wTxi
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第2张图片
所以不同类的均值可以表示出来:

线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第3张图片
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第4张图片
那么类间的距离就可以用 ( z ˉ 1 − z ˉ 2 ) 2 (\bar z_1-\bar z_2)^2 (zˉ1zˉ2)2表示;
类内的距离就用 S 1 + S 2 S_1+S_2 S1+S2表示。
那么为了达到我们的目的,也就是类内小,类间大,目标函数可以定义如下:
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第5张图片
令:
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第6张图片
化简我们的 J ( w ) J(w) J(w)表达式,可得:
在这里插入图片描述
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第7张图片
这里的 S b S_b Sb就是类间方差, S w S_w Sw是类内方差。
对w求偏导,令 ∂ J ( w ) ∂ w = 0 , \frac{\partial J(w)}{\partial w}=0, wJ(w)=0求得:
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第8张图片
由于我们只关心 w w w的方向而不管其大小,那么 w ∝ S w − 1 ( x ˉ c 1 − x ˉ c 2 ) w \propto S_w^{-1}(\bar x_{c_1}-\bar x_{c_2}) wSw1(xˉc1xˉc2);如果 S w − 1 S_w^{-1} Sw1是个对角矩阵或者单位矩阵,那么 w ∝ ( x ˉ c 1 − x ˉ c 2 ) w \propto (\bar x_{c_1}-\bar x_{c_2}) w(xˉc1xˉc2)

软输出-判别式:逻辑回归

样本集: { ( x i , y i ) } i = 1 N , x i ϵ R p , y i ϵ { 0 , 1 } \left \{ (x_i,y_i)\right \}_{i=1} ^N,x_i\epsilon R^p,y_i\epsilon\left\{ 0,1 \right \} {(xi,yi)}i=1N,xiϵRp,yiϵ{0,1}

引入sigmoid function:
在这里插入图片描述
其函数图像如下:
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第9张图片
代入有:
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第10张图片
接下来用极大似然估计求解 w ^ = a r g m a x w l o g P ( Y ∣ X ) \hat{w}=\underset w {argmax}logP(Y|X) w^=wargmaxlogP(YX)就可以了。

软输出-生成式:高斯判别分析

样本集: { ( x i , y i ) } i = 1 N , x i ϵ R p , y i ϵ { 0 , 1 } \left \{ (x_i,y_i)\right \}_{i=1} ^N,x_i\epsilon R^p,y_i\epsilon\left\{ 0,1 \right \} {(xi,yi)}i=1N,xiϵRp,yiϵ{0,1}

我们知道对于概率判别模型,我们可以直接求y值进行分类;而概率生成模型则是通过比较y=0和y=1的大小进行判断,根据贝叶斯公式 P ( y ∣ x ) = P ( x ∣ y ) P ( y ) P ( x ) P(y|x)=\frac{P(x|y)P(y)}{P(x)} P(yx)=P(x)P(xy)P(y)我们知道,概率生成模型和分母项 P ( x ) P(x) P(x)无关,所以可以对联合概率建模 P ( y ∣ x ) ∝ P ( x ∣ y ) P ( y ) , P(y|x)\propto P(x|y)P(y), P(yx)P(xy)P(y)也就是后验=似然*先验

模型 y ^ = a r g m a x y ϵ { 0 , 1 } P ( y ∣ x ) = a r g m a x y P ( y ) P ( x ∣ y ) \hat y=\underset{y\epsilon\left \{0,1\right\}}{argmax}P(y|x)=\underset y {argmax}P(y)P(x|y) y^=yϵ{0,1}argmaxP(yx)=yargmaxP(y)P(xy)

那么y是服从伯努利分布 P ( y ) = ϕ y ( 1 − ϕ ) 1 − y P(y)=\phi^y(1-\phi)^{1-y} P(y)=ϕy(1ϕ)1y

x服从于高斯分布, x ∣ y = 1 ∼ N ( μ 1 , ε ) y x|y=1 \sim N(\mu_1,\varepsilon )^y xy=1N(μ1,ε)y, { x i ∣ y i = 1 , i = 1 , . . . , N } \left \{x_i|y_i=1,i=1,...,N\right \} {xiyi=1,i=1,...,N},此集合作为 c 1 c_1 c1,集合内元素的总个数为 N 1 N_1 N1,对应的方差为 S 1 S_1 S1
x ∣ y = 0 ∼ N ( μ 2 , ε ) y x|y=0 \sim N(\mu_2,\varepsilon )^y xy=0N(μ2,ε)y, { x i ∣ y i = 0 , i = 1 , . . . , N } \left \{x_i|y_i=0,i=1,...,N\right \} {xiyi=0,i=1,...,N},集合作为 c 2 c_2 c2,集合内元素的总个数为 N 2 N_2 N2,对应的方差为 S 2 S_2 S2

P ( x i ∣ y i ) = N ( μ 1 , ε ) y ∗ N ( μ 2 , ε ) 1 − y P(x_i|y_i)=N(\mu_1,\varepsilon )^y*N(\mu_2,\varepsilon )^{1-y} P(xiyi)=N(μ1,ε)yN(μ2,ε)1y

对数似然就能写成如下公式:
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第11张图片
求得 ϕ ^ = N 1 N , \hat \phi=\frac{N_1}{N}, ϕ^=NN1,

ε ^ = 1 N ( N 1 S ! + N 2 S 2 ) \hat\varepsilon=\frac{1}{N}(N_1S_!+N_2S_2) ε^=N1(N1S!+N2S2)

μ ^ 1 = ∑ i = 1 N y i x i N 1 \hat\mu_1=\frac{\sum{i=1}{N}y_ix_i}{N_1} μ^1=N1i=1Nyixi

μ ^ 2 = ∑ i = 1 N y i x i N 2 \hat\mu_2=\frac{\sum{i=1}{N}y_ix_i}{N_2} μ^2=N2i=1Nyixi

软输出-生成式:朴素贝叶斯

样本集: { ( x i , y i ) } i = 1 N , x i ϵ R p , y i ϵ { 0 , 1 } \left \{ (x_i,y_i)\right \}_{i=1} ^N,x_i\epsilon R^p,y_i\epsilon\left\{ 0,1 \right \} {(xi,yi)}i=1N,xiϵRp,yiϵ{0,1}

思想:朴素贝叶斯假设,也叫条件独立性假设。
朴素贝叶斯是最简单的概率图(有向图)模型。
条件独立性假设如图所示:
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第12张图片
也就是给定y的情况下,x1和x2相互独立。
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第13张图片
做这个假设的目的就是为了简化运算,考虑高维情况。

朴素贝叶斯的目的也是给定x和y,判断其属于0还是1。
模型
线性分类-感知机,线性判别分析,逻辑回归,高斯判别分析,朴素贝叶斯_第14张图片
对于P(y),如果是二分类问题,其属于伯努利分布;如果是多分类问题,其属于categrial分布。
对于P(x|y),假定其遵循条件独立性假设。如果x是离散的,其属于categorical分布;如果x是连续的,其属于高斯分布。

求解可以直接用极大似然估计求解出来,在此就不做过多介绍了。

你可能感兴趣的:(机器学习)