美文网首页
线性回归

线性回归

作者: 巴拉巴拉_9515 | 来源:发表于2019-07-17 20:32 被阅读0次

一、概念引入

线性回归,就是能够用一个直线/一个平面···较为精确地描述数据之间的关系。常见的格式为:
Y=\theta_0+\theta_1X_1+...+\theta_nX_n

通过计算数据的线性回归,可以得到各个变量X对于Y的权重\theta,可以由已知的X推导出Y值。

例如:银行借贷额度由你的工资和年龄决定。
那么对于借贷额度而言,工资和年龄哪个比较重要?
已知你的工资和年龄,能否推断出银行为你开放借贷额度为多少?


线性回归就是假设借贷额度Y,工资X_1和年龄X_2成线性关系: Y=\theta_0+\theta_1X_1+\theta_2X_2
\theta_1\theta_2表示工资X_1和年龄X_2对于借贷额度的重要性权重。
如果已知\theta_0\theta_1\theta_2的值,就可以根据工资和年龄推断出银行为你开放借贷额度

二、成本函数

那么如何获得\theta_0\theta_1\theta_2的值呢?
引入一个成本函数 J(\theta),有些地方也叫“损失函数”:
J(\theta) = \frac{1}{2m}\sum_{i=1}^m(y^{(i)}-\theta^Tx^{(i)})^2
这个函数的输入对象为m*n的数据:

特征1 特征2 ... 特征n Y
x11 x12 ... x1n y1
x21 x22 ... x2n y2
... ... ... ... ...
xm1 xm2 ... xmn ym

(y^{(i)}-\theta^Tx^{(i)})^2就是第i个实际值y_{(i)}和算法计算值之间的差距平方。

引入成本函数 J(\theta)用来描述算法的拟合效果, J(\theta)越小说明拟合效果越好。

所以求算法最优的参数\theta等价与计算最小J(\theta)\theta的值。

三、梯度下降

那么怎么才能求得最小的 J(\theta)呢?
假设 下图为J(\theta)的空间分布图,X轴、Y轴为\theta_1\theta_2。随着\theta_1\theta_2的变化,J(\theta)的值也在变化。

当然我们的目的是找到J(\theta)最小时的\theta_1\theta_2的值。

是不是和我们上山下山有点像,一开始在A点,朝着下坡的方向走一步到新的A_1;然后朝着下坡的方向再走一步,···,走到局部最低点以后,朝着上坡的方向走一步,一步步走,直到最后知道全局的最低谷。

所谓上坡、下坡其实就是J(\theta)在各个\theta上的偏度,例如计算J(\theta)\theta_j上的偏度:
\frac{\partial J(\theta)}{\partial \theta_j} = \frac{\partial [\frac{1}{2m}\sum_{i=1}^m(y^{(i)}-\theta^Tx^{(i)})^2]}{\partial \theta_j}
=\frac{1}{2m}\frac{\partial [\sum_{i=1}^m(y^{(i)}-\theta^Tx^{(i)})^2]}{\partial \theta_j}
偏导数可以穿透累加器
=\frac{1}{2m}\sum_{i=1}^m\frac{\partial [(y^{(i)}-\theta^Tx^{(i)})^2]}{\partial \theta_j}
微分链接法则
=\frac{1}{2m}\sum_{i=1}^m [2(y^{(i)}-\theta^Tx^{(i)})*\frac{∂}{∂θ_j}(y^{(i)} - \theta^Tx^{(i)})]
=-\frac{1}{m}\sum_{i=1}^m((y^{(i)} - \theta^Tx^{(i)})x_j^{(i)})

经过偏度的计算,知道下一步的方向,但每个人迈一步的长度是有限制的,我们引入学习率\alpha,相当于迈一步的长度(先这么理解)。

以上通过偏导获得下一步的方向,通过设置学习率确定步伐的长度,因此下一个落脚点θ'_j为:
θ'_j=θ_j−α\frac{∂}{∂θ_j}J(θ)

例如,J(\theta)=\theta^2; 偏导数J'(\theta)=2\theta
设置初始起点为(1,1),学习率\alpha=0.4
\theta^0=1
\theta^1=\theta^0-\alpha*J'(1)=0.2
\theta^2=\theta^1-\alpha*J'(0.2)=0.04
\theta^3=\theta^2-\alpha*J'(0.04)=0.008
\theta^4=\theta^3-\alpha*J'(0.008)=0.0016
······慢慢达到谷底
如果初始起点为(1,1),学习率为0.2
\theta^0=1
\theta^1=\theta^0-\alpha*J'(1)=0.6
\theta^2=\theta^1-\alpha*J'(0.6)=0.576
\theta^3=\theta^2-\alpha*J'(0.576)=0.3456
\theta^4=\theta^3-\alpha*J'(0.3456)=0.20736
\theta^5=\theta^4-\alpha*J'(0.20736)=0.124416
\theta^6=\theta^5-\alpha*J'(0.124416)=0.0746496
\theta^7=\theta^6-\alpha*J'(0.0746496)=0.04478976
\theta^8=\theta^7-\alpha*J'(0.04478976)=0.026873856
······慢慢达到谷底
如果初始起点为(1,1),学习率为0.8
\theta^0=1
\theta^1=\theta^0-\alpha*J'(1)=-0.6


以上过程可以发现,学习率\alpha的大小和步伐的大小有关,学习率\alpha越大,步伐越大。

初始值的设置会影响到最终J(θ)的最小值,它可能是局部最小值,也可能是全局最小值。

学习速度的设置也会影响到梯度下降的性能和结果:
1)当设置过小时,由于沿着最陡峭方向每次迈进的步伐太小,而导致收敛时间过长;
2)当设置过大时,很有可能会直接越过最小值,而无法得到J(θ)的最小值。

通过梯度下降的方法,我们得到Y=\theta_0+\theta_1X_1+...+\theta_nX_n的最优参数\theta,此时的拟合模型是最优的,和真实数据差距最小的。

至此,我们得到训练样本X和Y之间的关系和每个X对于Y的权重。

五、备注

(1)微积分基本法则

法则一:对 y(x)=cx^n ,其针对 x 的偏导数为 ∂xf(x)=cnx^{n−1}

法则二:偏导数可以穿透累加器,即\frac{∂}{∂x_0}\sum_{i=0}^nF(x_i)=\sum_{i=0}^n\frac{∂}{∂x_0}F(x_i)

法则三:微分链接法则,比如 f(x) 是以 x 为自变量的函数,令 J(x)=g(f(x)) ,则 J(x) 的微分方程为
\frac{∂}{∂x}J(x)=g′(f(x))×f′(x)

(2)参考资料

[1] 视频学习:https://www.bilibili.com/video/av39800693?from=search&seid=7055609900300366029
[2] 线性回归算法推导:http://blog.kamidox.com/gradient-descent.html
[3]单变量梯度下降案例:https://blog.csdn.net/weixin_42278173/article/details/81511646

相关文章

  • 机器学习实战——回归

    本章内容】 线性回归 局部加权线性回归 岭回归和逐步线性回归 例子 【线性回归】 wHat = (X.T*X).I...

  • 线性回归模型

    参考:1.使用Python进行线性回归2.python机器学习:多元线性回归3.线性回归概念 线性回归模型是线性模...

  • 通俗得说线性回归算法(二)线性回归实战

    前情提要:通俗得说线性回归算法(一)线性回归初步介绍 一.sklearn线性回归详解 1.1 线性回归参数 介绍完...

  • 第一次打卡

    线性回归主要内容包括: 线性回归的基本要素线性回归模型从零开始的实现线性回归模型使用pytorch的简洁实现线性回...

  • 2020-02-14

    线性回归:线性回归分为一元线性回归和多元线性回归,一元线性回归用一条直线描述数据之间的关系,多元回归是用一条曲线描...

  • 逻辑回归和线性回归对比

    简单说几点 线性回归和逻辑回归都是广义线性回归模型的特例。他们俩是兄弟关系,都是广义线性回归的亲儿子 线性回归只能...

  • 算法概述-02

    1.逻辑回归和线性回归的联系和区别: 逻辑回归和线性回归的都是广义的线性回归。 线性回归是根据最小二乘法来建模,逻...

  • 【机器学习实践】有监督学习:线性分类、回归模型

    线性模型 为线性模型 分类和回归的区别 分类:离散回归:连续本文主要关注线性回归模型 常用线性回归模型类型 OLS...

  • 统计学习基础复习浓缩版

    1.简单线性回归 2.多元线性回归 3.多项式回归 4.广义线性回归(含逻辑斯谛回归) 广义线性回归模型通过拟合响...

  • Linear Regression

    在线性回归模型中,我们分为单元线性回归和多元线性回归(Multivariate Linear Regression...

网友评论

      本文标题:线性回归

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