机器学习之线性模型

本文章是对周志华机器学习在学习过程中的笔记以及理解

线性回归

线性模型即学得一个与输入维数相同的向量,通过点积加偏置的来预测函数,即:

                               f(x)=w_1x_1+w_2x_2+......+w_dx_d 

  向量形式:                             f(x)=w^Tx+b    

由于w直观的表达了各属性在预测中的重要性,所以线性模型具有很好的可解释性。

线性回归要做的就是:  f(x_i)=wx_i+b,f(x_i)\approx y_i

而我们要做的是确定w和b使均方误差尽可能小,即(也可以用极大似然法得到):

                       $(w^*,b^*)=\arg\min\limits_{(w^*,b^*)}\sum\limits_{i=1}\limits^{m}(y_i-wx_i-b)^2. $                                 (1)

我们可以将该式子看成是w和b的函数,对其求导来求出w和b,然后得到其最小值(为何直接求导得到的是最小值而不是最大值,因为如果是凸函数,导数为0的地方即为最小值,而判断其是不是凸函数,可以用其二阶海塞矩阵,如果是半正定的,就可以确定是凸函数),最终得到:

                                  b=\frac{1}{m}\sum\limits_{i=1}\limits^{m}(y_i-wx_i),

                                  w=\frac{\sum\limits_{i=1}\limits^{m}{y_i(x_i-\bar x)}}{\sum\limits_{i=1}\limits^{m}{x_i^2-\frac{1}{m}}(\sum\limits_{i=1}\limits^{m}{x_i})^2},

不难看出:               b=\bar y-w\bar x,这样便可以求得w,b

多元线性回归:

f(x)=w^Tx_i+b=\begin{pmatrix} w_1 &w_2 &...... &w_d &w_{d+1} \end{pmatrix}\bigl(\begin{smallmatrix} \\ x_{i1} \\ x_{i2} \\ .... \\ x_{id} \\1 \end{smallmatrix}\bigr)=f(\hat{x_i})=\hat{w^T}{\hat{x_i}},

将此式子带入到(1)中:

       E_{\hat{w}}=\sum\limits_{i=1}\limits^{m}(y_i-\hat{w^T}{\hat{x_i}})^2=(y_1-\hat{w^T}\hat{x_1},.......y_m-\hat{w^T}\hat{x_m})(y_1-\hat{w^T}\hat{x_1},.......y_m-\hat{w^T}\hat{x_m})^T=(y-X\hat{w})^T(y-X\hat{w})

同理,我们对w求导 :             \frac{\partial E_{w}}{\partial \hat{w}}=2X^T(X\hat{w}-y).                                     (2)

这里用到的是矩阵微分求导的知识,感兴趣的可以去查阅资料学习,主要就用了两个公式

由于设计矩阵的逆运算,先对一种简单的情况讨论,XX^T为满秩矩阵,令(2)为0可得

                                           \hat{w}^*=(X^TX)^{-1}X^Ty

                                          f(\hat{x}_{i}^T)=\hat{x}_i^T(X^TX)^{-1}X^Ty

这样便可求得,不是满秩矩阵我目前也不会,等我会了再补充。

广义线性模型:                 y=g^{-1}(w^Tx+b)

g(y)与x之间有线性关系.

 Logistics 回归

  这是一种分类模型,常用的即S函数     y=\frac{1}{1+e^{-z}}                                           (3)

                  

\left\{\begin{matrix} 1,z>0 \\0.5,z=0 \\1,z<0 \end{matrix}\right.,

我们之所以不用分段函数直接表示,主要是因为这样的S函数是单调可微。

对于上面的g(.),一种很经典的变化如下:

                                           y=\frac{1}{1+e^{-(w^T+b)}}

对这种形式做变化可以得到:

                                           ln\frac{y}{1-y}=w^Tx+b

这种形式称为对数几率,同样我们还是需要确定式子中的w和b,将y视为类后验概率估计p(y=1|x),则该式子可以写成:

                                         ln\frac{p(y=1|x)}{p(y=0|x)}=w^Tx+b

于是可得:

                                       p(y=1|x)=\frac{e^{w^T+b}}{1+e^{w^T+b}},

                                       p(y=0|x)=\frac{1}{1+e^{w^T+b}}

采用极大似然估计($\beta=(w:b)$):

                                    L(\beta)=\prod \limits_{i=1}\limits^{m}p(y_i|\hat{x}_{i};\beta) 

这种连乘之后我们再求导会非常麻烦,对其取对数处理(都是增函数,极值点一样):

                                   \delta(w,b)=\sum\limits_{i=1}\limits^{m}lnp(y_i|\hat{x}_{i},\beta)

 我们可以将此式子合并一下:

                         p(y_i|x_i;\beta)=y_ip_1(\hat{x}_i;\beta)+(1-y_i)p_0(\hat{x}_i;\beta)       

最后带入可得:

                        \delta(\beta)=\sum\limits_{i=1}\limits^{m}(-y_i\beta^{T}\hat{x}_i+ln(1+e^{\beta^T\hat{x_i}}))

该式子可以通过经典的数值优化算法,如梯度下降法和牛顿法

线性判别分析

线性判别分析的思想(LDA):设法将样例投到一条直线上,使得同类样例的投影尽可能的接近,异类样例的投影点尽可能的原理。

 若将数据投影到直线w上,则两类样本的中心在直线上的投影分别为w^Tu_0w^Tu_1,两类样本的协方差分别为w^T\sum_0ww^T\sum_1w,我们需要将同类样例投影点的协方差尽可能小,让中心点之间的距离尽可能的大:

                              J=\frac{​{\left \| w^Tu_0-w^Tu_1 \right \|}_2^2}{w^T\sum_0w+w^T\sum_1w}=\frac{w^T(u_0-u_1)(u_0-u_1)^Tw}{w^T(\sum_0+\sum_1)w}

定义类内散度矩阵:                  S_w=\sum_0+\sum_1

类间散度矩阵:                         S_b=(u_0-u_1)(u_0-u_1)^T

则J可以重新写成:                     J=\frac{w^TS_bw}{w^TS_ww}

这就是S_bS_w的广义瑞利商,现在只需求出w的方向即可,令w^TS_ww=1,则原式子可以等价于:                                            \min\limits_{w} -w^TS_bw

                                                s.t. w^TS_ww=1

再由拉格朗日数乘法,上个式子等价于:S_bw=\lambda\ S_ww

                                                           S_bw=\lambda\ (u_0-u_1)

可得:                                              w=S_w^{-1}(u_0-u_1),

这样便可以求得w的方向.

                                    

                                       

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值