hermitwyc的个人博客分享 http://blog.sciencenet.cn/u/hermitwyc

博文

线性回归-最小二乘法和梯度下降法mwy

已有 3809 次阅读 2019-5-5 14:05 |系统分类:科研笔记

  什么是一元线性模型呢?监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。对于二维空间线性是一条直线;对于三维空间线性是一个平面,对于多维空间线性是一个超平面。 

1.最小二乘法

  对于一元线性回归模型, 假设从总体中获取了n组观察值(X1Y1),(X2Y2), ,(XnYn)。对于平面中的这n个点,可以使用无数条曲线来拟合。要求样本回归函数尽可能好地拟合这组值。综合起来看,这条直线处于样本数据的中心位置最合理。 选择最佳拟合曲线的标准可以确定为:使总的拟合误差(即总残差)达到最小。有以下三个标准可以选择: 

 (1)用残差和最小确定直线位置是一个途径。但很快发现计算残差和存在相互抵消的问题。

 (2)用残差绝对值和最小确定直线位置也是一个途径。但绝对值的计算比较麻烦。

 (3)最小二乘法的原则是以残差平方和最小确定直线位置。用最小二乘法除了计算比较方便外,得到的估计量还具有优良特性。这种方法对异常值非常敏感。 

最常用的是最小二乘法(Least SquareOLS):所选择的回归模型应该使所有观察值的残差平方和达到最小。(Q为残差平方和),即采用平方损失函数。 

  样本回归模型:

image.png 

  其中ei为样本(Xi,Yi)的误差。 

  平方损失函数:

image.png 

  则通过Q最小确定这条直线,即确定β0β1,把它们看作是Q的函数,就变成了一个求极值的问题,可以通过求导数得到。求Q对两个待估参数的偏导数: 

image.png 

  根据数学知识我们知道,函数的极值点为偏导为0的点。 

  解得:

image.png 

  这就是最小二乘法的解法,就是求得平方损失函数的极值点。 

  实例:

数据编号

1

2

3

4

实验次数w

2

1

1

1

x

0.1

0.2

0.3

0.4

y

1.1

1.9

3.1

3.9

  要拟合得到形如y = a + b x 的函数,求解函数中系数的方程组为

image.png 

image.png 

  其中,ω 为权重,对应每个实验点的实验次数,4个实验点只有第一个点重复做了一次且得到相同结果(如果结果不同则另算一个实验点),其它都没有重复实验,因此总次数为5次。

ψ i= ω 0+ω 1x1+...+ω ixik

image.png 

image.png 

image.png 

image.png 

image.png 

image.png 

可得:

5a+1.1b=11.1

1.1a+0.31b=3.09

解得:

 image.png

故拟合方程为

 image.png





2.梯度下降法

  梯度下降法的基本思想可以类比为一个下山的过程。假设这样一个场景:一个人被困在山上,需要从山上下来(找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致可视度很低。因此,下山的路径就无法确定,他必须利用自己周围的信息去找到下山的路径。这个时候,他就可以利用梯度下降算法来帮助自己下山。具体来说就是,以他当前的所处的位置为基准,寻找这个位置最陡峭的地方,然后朝着山的高度下降的地方走,然后每走一段距离,都反复采用同一个方法,最后就能成功的抵达山谷。

  我们同时可以假设这座山最陡峭的地方是无法通过肉眼立马观察出来的,而是需要一个复杂的工具来测量,同时,这个人此时正好拥有测量出最陡峭方向的能力。如果测量的频繁,可以保证下山的方向是绝对正确的,但又非常耗时如果测量的过少,又有偏离轨道的风险。所以需要找到一个合适的测量方向的频率,来确保下山的方向不错误,同时又不至于耗时太多

  我们利用这个方法,反复求取梯度,最后就能到达局部的最小值,这就类似于我们下山的过程。而求取梯度就确定了最陡峭的方向,那么梯度的反方向就是函数在给定点下降最快的方向,也就是场景中测量方向的手段。这就是梯度下降法。

  Θ1=Θ0 - α▽J(Θ)

  此公式的意义是:J是关于Θ的一个函数,我们当前所处的位置为Θ0点,要从这个点走到J的最小值点,也就是山底。首先我们先确定前进的方向,也就是梯度的反向(即负号),然后走一段距离的步长,也就是α,走完这个段步长,就到达了Θ1这个点。

  注:α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离。α不能太大也不能太小,太小的话,可能导致迟迟走不到最低点,太大的话,会导致错过最低点

image.pngα太小

 

image.pngα太大

实例:

  我们假设有一个单变量的函数

  J(θ) = θ2

  函数的微分J(θ) = 2θ
  初始化,已知起点为θ0=1学习率为α = 0.4
  根据梯度下降的计算公式

  Θ1=Θ0 - α▽J(Θ)
  我们开始进行梯度下降的迭代计算过程:

image.png
  如图,经过四次的运算,也就是走了四步,基本就抵达了函数的最低点,也就是山底

image.png 

 




https://blog.sciencenet.cn/blog-3413658-1177223.html

上一篇:第四章朴素贝叶斯法PPT
下一篇:第一章作业
收藏 IP: 111.14.154.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-19 21:22

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部