线性模型

Posted yijuncheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性模型相关的知识,希望对你有一定的参考价值。

1.线性回归

对包含$d$个属性描述的数据${f{x}} = { {x_1},{x_2},...,{x_d}}$,建立一个加权线性模型,$f({f{x}}) = {omega _1}{x_1} + {omega _2}{x_2} + ... + {omega _d}{x_d} + b$,尽可能预测地准确对应的标签值$y$,各权重$omega$直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性。

 

我们先考虑最简单的情况,$d=1$。线性回归试图学得$f(x_i) = {omega }^T {x_i}+ b$,使得$f(x_i) simeq {y_i}$。如何衡量这两个之间的差别呢?均方误差是回归任务中最常用的性能度量,因此我们可以试图让均方误差最小化,

[egin{array}{*{c}}
{({omega ^*},{b^*}) = mathop {arg min }limits_{omega ,b} sumlimits_{i = 1}^m {{{left( {f({x_i}) - {y_i}} ight)}^2}} }\\
{ = mathop {arg min }limits_{omega ,b} sumlimits_{i = 1}^m {{{left( {{omega ^T}{x_i} + b - {y_i}} ight)}^2}} }
end{array}]

均方误差有非常好的几何意义,对应了欧氏距离。基于均方误差最小化来进行求解的方法成为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小。

 技术分享图片

 

求解$omega$和$b$使$E(omega ,b) = sumlimits_{i = 1}^m {{{left( {{omega ^T}{x_i} + b - {y_i}} ight)}^2}} $最小化的过程,称之为线性回归模型的最小二乘“参数估计”。由于$E(omega ,b) $是凸函数,令$omega$和$b$的偏导为零,可以求其最优解的闭式解。 

。。。待补充

更一般的情况,针对数据集$D = { ({{f{x}}_1},{y_1}),({{f{x}}_2},{y_2}),...,({{f{x}}_m},{y_m})} $,其中${{f{x}}_i} = { {x_{i1}},{x_{i2}},...,{x_{id}}} $,包含d维特征。试图学得$f({{f{x}}_i}) = {{f{omega }}^T}{{f{x}}_i} + b$,使得$f({f{x}_i}) simeq {y_i}$,这称之为“多元线性回归”。类似用最小二乘法求得$f{omega}$和$b$最优解的闭式解,但涉及矩阵逆计算,要复杂很多。

。。。待补充

线性回归模型的一般形式为:

[y = {{f{omega }}^T}{f{x}} + b]

如果我们的数据是成指数变化的,那么可以把线性回归模型扩展为:

[ln y = {{f{omega }}^T}{f{x}} + b]

更一般的,考虑单调可微函数$g(ullet)$,将线性回归模型的预测值与真实标记联系起来,那么线性回归模型扩展为:

[y = {g^{ - 1}}({{f{omega }}^T}{f{x}} + b)]

2. logistic回归

那怎么把线性回归模型扩展到分类模型中呢,找一个单调可微函数,将线性回归模型的预测值与真实类别联系起来。

考虑二分类问题,单位阶跃函数是理想的分类函数,若预测值大于0则为{1}正类,小于0则为{0}负类,等于0则可任意判别。但是这样的阶跃函数不连续,不是可微的。因此我们利用对数几率函数(logistic function)来近似单位阶跃函数。

[y = frac{1}{{1 + {e^{ - z}}}}]

技术分享图片

 

将z值转化成一个接近于0或1的y值。

[ln frac{y}{{1 - y}} = {{f{omega }}^T}{f{x}} + b]

 [ln frac{{p(y = 1|x)}}{{p(y = 0|x)}} = {{f{omega }}^T}{f{x}} + b]

该模型是在用线性回归模型的预测值去逼近真实标记的对数($ln$)几率($frac{y}{1 + y}$),其对应的模型成为“logistic回归”。

视y为类后验概率估计$p(y=1|x)$,有:

[y = p(y = 1|x) = frac{1}{{1 + {e^{ - {{f{omega }}^T}{f{x}} - b}}}}]

[y = p(y = 1|x) = frac{1}{{1 + {e^{  {{f{omega }}^T}{f{x}} + b}}}}]

 

极大似然估计的思想为:对于所有的抽样样本,使它们联合概率达到最大的系数便是统计模型最优的系数。

给定数据集D,logistic回归模型最大化“对数似然”

[l({f{w}},b) = sumlimits_{i = 1}^m {ln p({y_i}|{{f{x}}_i};{f{w}},b)} ]

为了便于讨论,令$f{eta}= ({f{w}};b)$,$widehat{f{x}}= (f{x};1)$,对数似然等价为最小化

[l({f{eta }}) = sumlimits_{i = 1}^m {( - {y_i}{{f{eta }}^T}{{widehat {f{x}}}_i} + ln (1 + {e^{{{f{eta }}^T}{{widehat {f{x}}}_i}}}))} ]

可根据经典数值优化算法如梯度下降法等求得其$f{eta }$的最优解,

[{{f{eta }}^*} = mathop {arg min }limits_{f{eta }} l({f{eta }})]

 


logistic回归算法

输入:训练集$D = { ({{f{x}}_1},{y_1}),({{f{x}}_2},{y_2}),...,({{f{x}}_m},{y_m})} $;

           学习率$alpha$;

   终止条件$varepsilon$.

过程:

1:令$f{eta}= ({f{w}};b)$,$widehat{f{x}}= (f{x};1)$

2:针对$l({f{eta }}) = sumlimits_{i = 1}^m {( - {y_i}{{f{eta }}^T}{{widehat {f{x}}}_i} + ln (1 + {e^{{{f{eta }}^T}{{widehat {f{x}}}_i}}}))} $

      利用随机梯度下降法求最优解${{f{eta }}^*} = mathop {arg min }limits_{f{eta }} l({f{eta }})$

3:初始化$f{eta}_0$

4:repeat

5:从训练集D中随机挑选一个数据${f{x}_i}, y_i$

6:以学习率$alpha$的速度朝梯度下降的方向更新参数$f{eta}$

7:end for

8:until $Delta {f{eta }} le varepsilon $

输出:logistic回归模型参数$f{w},b$


 

参考:

机器学习西瓜书 周志华

 





以上是关于线性模型的主要内容,如果未能解决你的问题,请参考以下文章

线性混合模型——广义线性模型

线性模型

线性模型

以下回归模型中属于线性回归模型的都有哪些

广义线性模型GLMGLMMLMMMLMGMMGEE广义线性模型GLM和广义线性混合模型的GLMM区别

广义与一般线性模型及R使用