一、线性模型

1.线性回归

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

 

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

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

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

 

 

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

\[\begin{array}{l}
\frac{{\partial E(\omega ,b)}}{{\partial \omega }} = 2\sum\limits_{i = 1}^m {\left( {\omega {x_i} + b - {y_i}} \right){x_i} = 0} \\
\frac{{\partial E(\omega ,b)}}{{\partial b}} = 2\sum\limits_{i = 1}^m {\left( {\omega {x_i} + b - {y_i}} \right)} = 0
\end{array}\]

\[\begin{array}{l}
\omega \sum\limits_i^m {x_i^2} + b\sum\limits_i^m {{x_i}} - \sum\limits_i^m {{y_i}{x_i}} = 0\\
\omega \sum\limits_i^m {{x_i}} + mb - \sum\limits_i^m {{y_i}} = 0
\end{array}\]

\[\begin{array}{l}
\omega = \frac{{\sum\limits_i^m {{y_i}} ({x_i} - \frac{1}{m}\sum\limits_i^m {{x_i}} )}}{{\sum\limits_i^m {x_i^2} - \frac{1}{m}{{(\sum\limits_i^m {{x_i}} )}^2}}}\\
b = \frac{1}{m}\sum\limits_i^m {({y_i} - \omega {x_i})}
\end{array}\]

 

更一般的情况,针对数据集$D = \{ ({{\bf{x}}_1},{y_1}),({{\bf{x}}_2},{y_2}),...,({{\bf{x}}_m},{y_m})\} $,其中${{\bf{x}}_i} = \{ {x_{i1}},{x_{i2}},...,{x_{id}}\} $,包含d维特征。试图学得$f({{\bf{x}}_i}) = {{\bf{\omega }}^T}{{\bf{x}}_i} + b$,使得$f({\bf{x}_i}) \simeq {y_i}$,这称之为“多元线性回归”。

类似用最小二乘法求得${\bf{\hat \omega }} = ({\bf{\omega }};b)$最优解的闭式解,相应的数据集表示为,

\[{\bf{X}} = \left( {\begin{array}{*{20}{c}}
{{\bf{x}}_{\bf{1}}^{\bf{T}}}&1\\
{{\bf{x}}_{\bf{2}}^{\bf{T}}}&1\\
{...}&1\\
{{\bf{x}}_{\bf{m}}^{\bf{T}}}&1
\end{array}} \right)\]

\[{\bf{y}} = ({y_1};{y_2};...{y_m})\]

令优化目标值${E_{{\bf{\hat \omega }}}} = {({\bf{y}} - {\bf{X\hat \omega }})^T}({\bf{y}} - {\bf{X\hat \omega }})$,求偏导为0,得$\bf{\hat \omega }$最优解的闭式解,

\[{{{\bf{\hat \omega }}}^*} = \mathop {\arg \min }\limits_{{\bf{\hat \omega }}} {({\bf{y}} - {\bf{X\hat \omega }})^T}({\bf{y}} - {\bf{X\hat \omega }})\]

\[\frac{{\partial {E_{{\bf{\hat \omega }}}}}}{{{\bf{\hat \omega }}}} = \frac{{\partial {{({\bf{y}} - {\bf{X\hat \omega }})}^T}}}{{{\bf{\hat \omega }}}}({\bf{y}} - {\bf{X\hat \omega }}) + {({\bf{y}} - {\bf{X\hat \omega }})^T}\frac{{\partial ({\bf{y}} - {\bf{X\hat \omega }})}}{{{\bf{\hat \omega }}}}\]

\[ =  - {{\bf{X}}^{\bf{T}}}({\bf{y}} - {\bf{X\hat \omega }}) - {({\bf{y}} - {\bf{X\hat \omega }})^T}{\bf{X}}\]

(标量的转置等于其本身)

\[ = 2{{\bf{X}}^{\bf{T}}}({\bf{X\hat \omega }} - {\bf{y}})\]

但涉及矩阵逆计算,要复杂很多,下面做一个简单的讨论。当${{\bf{X}}^{\bf{T}}}{\bf{X}}$为满秩矩阵或正定矩阵时,可求其逆矩阵,

\[{\bf{\hat \omega }} = {({{\bf{X}}^{\bf{T}}}{\bf{X}})^{ - 1}}{{\bf{X}}^{\bf{T}}}{\bf{y}}\]

多元线性回归模型为,

 \[f({{{\bf{\hat x}}}_i}) = {\bf{\hat x}}_i^T{({{\bf{X}}^{\bf{T}}}{\bf{X}})^{ - 1}}{{\bf{X}}^{\bf{T}}}{\bf{y}}\]

然而,现实任务中然而,现实任务中 xTx 往往不是满秩矩.例如在许多任务中我们会遇到大量的变量,其数目甚至超过样例数,导致 X 的列数多于行, xTx 显然不秩。此时可解出多个解它们都能使均方误差小化。选择哪个解作为输出 ,将由学习算法的归纳偏好决定, 常见的做法是引入正则化 (regularization)项.

 

 

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

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

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

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

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

\[y = {g^{ - 1}}({{\bf{\omega }}^T}{\bf{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}} = {{\bf{\omega }}^T}{\bf{x}} + b\]

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

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

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

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

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

 

极大似然估计的思想为:对于所有的抽样样本,使它们联合概率${p({y_i}|{{\bf{x}}_i};{\bf{w}},b)}$达到最大的系数便是统计模型最优的系数。

给定数据集D,因为对数函数ln(x)是单调增函数,且可以把乘除转换成加减,利于数学计算,所以logistic回归模型最大化“对数似然”,

\[l({\bf{w}},b) = \sum\limits_{i = 1}^m {\ln p({y_i}|{{\bf{x}}_i};{\bf{w}},b)} \]

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

\[l({\bf{\beta }}) = \sum\limits_{i = 1}^m {( - {y_i}{{\bf{\beta }}^T}{{\widehat {\bf{x}}}_i} + \ln (1 + {e^{{{\bf{\beta }}^T}{{\widehat {\bf{x}}}_i}}}))} \]

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

\[{{\bf{\beta }}^*} = \mathop {\arg \min }\limits_{\bf{\beta }} l({\bf{\beta }})\]

 


logistic回归算法

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

           学习率$\alpha$;

   终止条件$\varepsilon$.

过程:

1:令$\bf{\beta}= ({\bf{w}};b)$,$\widehat{\bf{x}}= (\bf{x};1)$

2:针对$l({\bf{\beta }}) = \sum\limits_{i = 1}^m {( - {y_i}{{\bf{\beta }}^T}{{\widehat {\bf{x}}}_i} + \ln (1 + {e^{{{\bf{\beta }}^T}{{\widehat {\bf{x}}}_i}}}))} $

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

3:初始化$\bf{\beta}_0$

4:repeat

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

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

7:end for

8:until $\Delta {\bf{\beta }} \le \varepsilon $

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


 

参考:

机器学习西瓜书 周志华

 

posted on 2018-11-08 22:17  yijun0730  阅读(320)  评论(0编辑  收藏  举报

导航