美文网首页
人生第一篇博客 -- 线性回归矩阵推导

人生第一篇博客 -- 线性回归矩阵推导

作者: 人生一场梦163 | 来源:发表于2019-10-15 22:21 被阅读0次

    最近打算重新学习机器学习算法,这篇文章记录线性回归模型。


    一、线性回归

    给定由d个属性描述的示例\pmb x=(x_1,x_2,...,x_d),其中x_i\pmb x在第i个属性上的取值,线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,即
    f(\pmb x)=w_1x_1+w_2x_2+...+w_dx_d+b,\tag{1}
    一般用向量形式写成
    f(\pmb x)=\pmb w^{\rm{T}} \pmb{x}+b,\tag{2}
    其中\pmb w=(w_1,w_2,...,w_d)\pmb wb学得之后,模型就得以确定。

    二、算法求解

    利用最小二乘对\pmb wb进行估计,将给定数据集D表示为一个m × (d+1)大小的矩阵\bf X,其中每行对应于一个示例,该行前d个元素对应于示例的d个属性值,最后一个元素恒置为1,即\begin{pmatrix} x_{11} & x_{12} & \cdots & x_{1d} & 1 \\ x_{21} & x_{22} & \cdots & x_{2d} & 1 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ x_{m1} & x_{m2} & \cdots & x_{md} & 1 \\ \end{pmatrix} = \begin{pmatrix} x_1^{\rm T} &1 \\ x_2^{\rm T} &1 \\ \vdots & \vdots \\ x_m^{\rm T} &1 \\ \end{pmatrix},
    再把标记(标签)写成向量形式\pmb y=(y_1,y_2,...,y_m),则此优化问题为
    \hat {\pmb w}^*=\mathop{\arg\min}_{\hat{ \pmb w}} (\pmb y - {\bf{X}} \hat{\pmb w})^{\rm T} (\pmb y - {\bf{X}} \hat{\pmb w}). \tag{3}
    E_{\hat{\pmb w}}= (\pmb y - {\bf{X}} \hat{\pmb w})^{\rm T} (\pmb y - {\bf{X}} \hat{\pmb w}),对\hat{\pmb w}求导得到
    \frac{\partial E_{\hat{\pmb w}}}{\partial {\hat{\pmb w}}}=2{\bf X}^{\rm T}({\bf X}\hat{\pmb w}-\pmb y). \tag{4}
    西瓜书并没有给出求导过程,现在给出推导过程如下
    \begin{split} E_{\hat{\pmb w}} &= {\pmb y}^{\rm T}{\pmb y}-{\pmb y}^{\rm T}{\bf X}{\hat{\pmb w}} - \hat{\pmb w}^{\rm T}{\bf X}^{\rm T} \pmb y + \hat{\pmb w}^{\rm T} {\bf X}^{\rm T} {\bf X}\hat{\pmb w} \\ &={\pmb y}^{\rm T}{\pmb y}-{\pmb y}^{\rm T}{\bf X}{\hat{\pmb w}} -(\pmb y^{\rm T} {\bf X} \hat{\pmb w})^{\rm T} + \hat{\pmb w}^{\rm T} {\bf X}^{\rm T} {\bf X}\hat{\pmb w} \\ &={\pmb y}^{\rm T}{\pmb y}-2{\pmb y}^{\rm T}{\bf X}{\hat{\pmb w}} + \hat{\pmb w}^{\rm T} {\bf X}^{\rm T} {\bf X}\hat{\pmb w} \end{split} \tag{5}
    \hat{\pmb w}求导得到
    \frac{\partial E_{\hat{\pmb w}}}{\partial {\hat{\pmb w}}}=-2\pmb y^{\rm T} {\bf X} + 2{\bf X}^{\rm T} {\bf X} \hat{\pmb w} =2{\bf X}^{\rm T}({\bf X}\hat{\pmb w}-\pmb y).\tag{6}
    令上式等于零,可得到\hat{\pmb w}最优解的闭式解(解析解)。但是由于涉及矩阵逆的计算,需要分类讨论。


    {\bf X}^{\rm T}{\bf X}为满秩矩阵或正定矩阵式,令上式等于零可得{\hat{\pmb w}}^* = ({\bf X}^{\rm T}{\bf X})^{-1} {\bf X}^{\rm T} \pmb y.\tag{7}
    但是实际任务中{\bf X}^{\rm T}{\bf X}往往不是满秩矩阵,任务的变量数超过样例数,导致\bf X的列数多于行数,此时可求出多个\hat{\pmb w},它们都能使均方误差最小化,对于这种情况,实际常见的做法是引入正则化(regularization)项。


    reference

    [1]《机器学习》. 周志华 . 2017
    [2] Markdown 数学公式语法 . 2019

    相关文章

      网友评论

          本文标题:人生第一篇博客 -- 线性回归矩阵推导

          本文链接:https://www.haomeiwen.com/subject/afcemctx.html