Victo

我的网络笔记本,用于收藏和总结一些知识。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::

原文链接:《线性回归最小二乘法和梯度下降法

问题描述

  首先我们定义问题,线性回归要解决的问题就是根据给出的数据学习出一个线性模型。
  例如我们最常说的身高和体重的关系,以及房屋面积和房价的关系,这里给出一个瑞典汽车保险数据集
  数据集 可以直接复制出来用
两列分别表示
索赔要求数量
对所有索赔的总赔付,以千瑞典克朗计
数据前五行

1 108 392,5
2 19 46,2
3 13 15,7
4 124 422,2
5 40 119,4

 

我们按照这个数据集作出图如下

  大概观察一下可以用线性模型去定义,现在的问题是根据现有的这个数据集合,我们要学习出一个模型,然后给出索赔要求数量我们能够预测总赔付。
下面给出两种解决方法,并分析这两种方法区别。

最小二乘法

定义损失函数如下:

 

上面是损失函数,我们现在目的使得损失函数尽可能的小,就是求如上Q的最小值,函数求极值问题,这里就用到了导数,导数的意义是导数大于0的x处函数递增,导数小于0处x的函数递减,导数为0既为函数的极值点

证明也很简单,这里给个证明的链接,剩下就是几次求和的事儿了。 

多元线性回归

梯度下降法

 我们要求解的问题和上面一样,同样定义的模型和损失函数都一样,模型为线性模型,损失函数为平方差值和最小,同样这里要求解的是线性方程的参数。

首先我们给每个参数赋值一个随机数,然后按照下面公式进行迭代:

 

随机梯度下降

上面公式我们发现,每迭代一次我们都要遍历所有的数据去求和,如果数据量大的话可能计算一次很耗时,于是就有了随机梯度下降,这样虽然解决了数据量大的问题,但是学习速度比较曲折,并且学习到的结果可能只是几个局部最优解。如果数据量小建议用批量梯度下降: 

 

 

posted on 2019-03-25 17:18  VictoKu  阅读(524)  评论(0编辑  收藏  举报