机器学习中的线性回归

基本形式

给定由d个属性描述的示例 x=(x1;x2;...;xd) x = ( x 1 ; x 2 ; . . . ; x d ) ,其中 xi x i x x 在第i个属性的取值,线性模型试图学的一个通过属性的线性组合在进行预测的函数,即

f(x)=w1x1+w2x2+...wdxd+b f ( x ) = w 1 x 1 + w 2 x 2 + . . . w d x d + b
一般用向量形式写成
f(x)=wTx+b f ( x ) = w T x + b
其中 w=(w1,w2,...,wd) w = ( w 1 , w 2 , . . . , w d ) . w w b学得之后,模型就确定了。

思路

给定数据集 D=(x1,y1),(x2,y2),...,(xm,ym) D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) , 其中 xi=(xi1;xi2;...,xid),yiR x i = ( x i 1 ; x i 2 ; . . . , x i d ) , y i ∈ R .

试图学得

f(xi)=wTxi+b,使f(xi)yi f ( x i ) = w T x i + b , 使 得 f ( x i ) ≃ y i

采用均方误差(square loss)作为损失函数来衡量 f(x) f ( x ) y y 之间的差别。均方误差是回归任务中最常用的性能度量,具有非常好的几何意义,它对应了常用的“欧氏距离”(Euclidean distance)。基于均方误差来最小化来进行模型求解的方法称为“最小二乘法”(Least square method)。(最小二乘法用途很广,不仅限于线性回归)

最小二乘法求解过程

  1. w b b 吸收入向量形式w^=(w;b), 相应的,数据集D表示为一个形状为 m(d+1) m ∗ ( d + 1 ) 的矩阵 X X :
    X=(x11x12...x1d1x21x22...x2d1xm1xm2...xmd1)=(x1T1x2T1xmT1)
    再把标签也写成向量形式 y=(y1;y2;...;ym) y = ( y 1 ; y 2 ; . . . ; y m ) .

    • 确立损失函数
      Ew^=(yXw^)T(yXw^)=yXw^2 E w ^ = ( y − X w ^ ) T ( y − X w ^ ) = ‖ y − X w ^ ‖ 2
    • 那么我们要做的是求 w^=argminw^Ew^=argminw^(yXw^)T(yXw^) w ^ ∗ = arg ⁡ min w ^ E w ^ = arg ⁡ min w ^ ( y − X w ^ ) T ( y − X w ^ ) . 这里 Ew^ E w ^ 是关于 w,b w , b 的凸函数,当他关于 w w b的导数均为零时,可以得到 w w b的最优解。
    • 损失函数对 w^ w ^ 求导:
      Ew^w^=2XT(Xw^y) ∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y )
      .
    • 令上式为零,解得 w^ w ^ 最优解的闭式解
    • 最优解的讨论:
      • XTX X T X 为满秩矩阵或正定矩阵时,可解得
        w^=(XTX)1XTy w ^ ∗ = ( X T X ) − 1 X T y
        其中 (XTX)1 ( X T X ) − 1 是矩阵 (XTX) ( X T X ) 的逆矩阵。此时,学到的线性回归模型为
        f(x^i)=x^Ti(XTX)1XTy f ( x ^ i ) = x ^ i T ( X T X ) − 1 X T y
      • 现实任务中 XTX X T X 往往不是满秩矩阵,比如说有些任务中,样本特征数 d d 大于样本数m,导致 X X 的列数大于行数,此时XTX不满秩。此时可解出多个 w^ w ^ ,它们都能使均方误差最小化。选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化
      • 上述最优解公式涉及到了矩阵求逆的过程,在实际问题中,如果样本矩阵 X X 的维度很大,那么求XTX的逆矩阵就会很慢。这时可以不直接求解析解,而是用梯度下降等方法来求最优解。
    • 注:本文主要参考了周志华《机器学习》3.1&3.2节,以及Andrew Ng.的机器学习课程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值