【MachineLearning】之 线性回归(理论)

Topic
  1. 什么是线性回归?原理及实现
  2. 什么是最小二乘法?
  3. 最小二乘法代数求解
  4. 最小二乘法矩阵求解

本篇是理论篇,实战篇:线性回归实战


一、线性回归


先来回想下: 回归
回归 面对的一群连续值,从这群连续的点钟找出误差最小的线,从而来预估其他点

这里写图片描述
通过找到一条直线去拟合数据点的分布趋势的过程,就是线性回归的过程

然而这种线可能会有很多,那么如何从中找出最合适的线呢?
找到红线?
这里写图片描述




二、最小二乘法代数求解


最小二乘法是用于求解线性回归拟合参数 w 的一种常用方法,(均方误差最小

先来理解下 平方损失函数

y(x,w)=b+wx y ( x , w ) = b + w x

对数据进行拟合时,得到拟合的整体误差(即蓝色线段的长度总和)
这里写图片描述

平方损失函数

如果一个数据点为( xi,yi x i , y i ),那么它对应的误差损失)为:

yi(b+wxi) y i − ( b + w x i )

那么损失总和:

i=1n(yi(b+wxi)) ∑ i = 1 n ( y i − ( b + w x i ) )

更倾向于使用 均方误差 作为衡量损失的指标
i=1n(yi(b+wxi))2 ∑ i = 1 n ( y i − ( b + w x i ) ) 2

(1) 平方损失函数:

f=i=1n(yi(b+wxi))2 f = ∑ i = 1 n ( y i − ( b + w x i ) ) 2


(2)目标求 min(f) m i n ( f ) 最小时, 对应的 w w

分别对 wb 求导,一阶偏导,并令其为零

fw=2(wi=1nx2i=1n(yb)x)=0

fb=2(mbi=1n(ywx))=0 ∂ f ∂ b = 2 ( m b − ∑ i = 1 n ( y − w x ) ) = 0


(3)求得:

w=ni=1y(xx1)ni=1x21m(ni=1x)2 w = ∑ i = 1 n y ( x − x 1 ) ∑ i = 1 n x 2 − 1 m ( ∑ i = 1 n x ) 2

均值:
x1=1ni=1mx x 1 = 1 n ∑ i = 1 m x

b=1mi=1n(ywx) b = 1 m ∑ i = 1 n ( y − w x )


(4)结果

这样,就求出了 平方损失函数最小时对应的 w 参数值,这也就是最佳拟合直线




三、 最小二乘法矩阵求解

为什么又要用矩阵来运算呢?代数计算方法不好吗?
  1. 并不是代数计算方式不好,只是在小数据集情况下,二者运算的效率相近
  2. 当面临 十万 或 百万规模的数据时,矩阵计算的效率就会高很多


(1) y=wx+b y = w x + b ,表达矩阵形式为:

x1x2x3...xn111...1(1) (1) [ x 1 1 x 2 1 x 3 1 . . . . . . x n 1 ]

即: y=XW y = X W


(2)平方损失函数 : f=ni=1(yi(b+wxi))2 f = ∑ i = 1 n ( y i − ( b + w x i ) ) 2

f=i=1n(yXW)2=i=1n(yXW)T(yXW)(2) (2) f = ∑ i = 1 n ( y − X W ) 2 = ∑ i = 1 n ( y − X W ) T ( y − X W )


(3)对 矩阵求偏导数

f=2XTXW2XTy=0(3) (3) f = 2 ∗ X T X W − 2 ∗ X T y = 0

注意:

这里将 W 看做是系数变量,即 WT=W W T = W ,W是常量,固定的W转置是等价的。


(4)求得

当 矩阵 XTX X T X 满秩(先不考虑不满秩)时, (XTX)1XTX=E ( X T X ) − 1 X T X = E , 且 EW=W E W = W

所以, (XTX)1XTXW=(XTX)1XTy ( X T X ) − 1 X T X W = ( X T X ) − 1 X T y

得到:

W=(XTX)1XTy W = ( X T X ) − 1 X T y




最后


看到这边是否有些疲惫,奖励自己一杯肥仔快乐水吧!!!

下一篇将介绍 线性回归实战

加油!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值