欢迎使用CSDN-markdown编辑器

来源:互联网 发布:中国高速铁路 知乎 编辑:程序博客网 时间:2024/06/07 23:16

线性回归(Linear Regression)

1.什么是线性回归?

举个例子说明:
预测房价,我们现在拥有某个城市的住房价格和每个房子的占地面积。现在你拥有一套1250平米的房子,请你预测这个房子可以卖多少钱?你可以做一条直线来构建你的模型,如图:
这里写图片描述
从图中的模型你可以看出,你可以以大约220K卖出这套房子。
so,回归问题就是预测问题,根据之前的数据集预测出一个输出值。额外说明一点一个变量的,比如上面这个例子只有房子尺寸这一个变量,这类叫做一元线性回归。同理当你发现一个变量无法很好的构建模型时,便需要使用多元线性回归,即有多个变量。

2.线性回归模型怎么表示?

一种可能的表示方法是:hθ(x)=θ0+θ1x。我们从公式上看变量只有一个,因此也叫一元线性回归。下面对上述公式的说明。

  1. h代表(hypothesis),它代表一个函数,在上例子中类似:f()= ,我们的算法就是要来学习这个h,也就是学习其中的θ0θ1。而它的下表则表示它是以θ为参数的假设。
  2. x在该例子中就是房子的尺寸。

到现在为止可能大家还是有点懵,有以下俩个问题:

  1. 我的数据有俩类,一个x(房子尺寸),另一个则是y(房子价格),为什么在上述的模型假设中只出现了x,没有出现y呢?
  2. 假设函数的参数θ是怎么学习的?

别急下面就来说明。

3.代价函数(Cost Function)

初看代价函数时,我也是不知所谓。但其实它很简单就是用来评价模型准确性的一个函数,说的更直白点就是预测结果和实际结果的差值(PS:这里的差值是一个广义的,不仅仅限于平方差)。代价函数的值越小则说明模型拟合的效果越好(PS:请思考一下,是不是代价函数的结果越小越好?)。现在我们就要来构建这一个代价函数。
这里写图片描述
根据刚刚的定义我们可以列出如下代价函数:

J(θ0,θ1)=12mi=1m(hθ(x)iyi)2

公式解释:

  1. 平方项是因为要避免正负号抵消问题。
  2. 12m是历史习惯,实际上要和不要对计算结果不大。

从代价函数的公式可以看出,预测的结果取决于hθ(x),因此不同的hθ(x)的代价函数结果也不一样,为了使代价函数结果最小就等价于寻找合适的参数θ使误差最小。

3.怎么学习参数θ ?

我们使用梯度下降算法来进行求解。在说明算法之前,让我们再来理解一下代价函数

J(θ0,θ1)=12mi=1m(hθ(x)iyi)2

求解代价函数的最小值,其实相当于在下图中找到最低点。
这里写图片描述

θj=θjαθjJ(θ)

原创粉丝点击