机器学习

线性回归的简单理解

2017-11-17  本文已影响220人  0过把火0

前面说到逻辑回归,这篇就总结一下自己对线性回归的认识吧。文中截图均来自Andrew Ng 视频,文字总结部分全为原创。

1 从例子说起

以房价预测为案例进行展开:

1.1 一元线性概念

1、假设函数h(x):关于x(户型)的函数
2、拟定代价函数J(θ):是关于θ参数的函数,并且θ可能有多个,例如:θ0,θ1
表示预测值与实际值的平方和误差
3、大多数回归问题的代价函数以误差平方和为基准
如下图所示:


上述分析后得到我们的目标函数以及代价函数,我们的目的就是使得代价函数的损失降到最小。

1.2 代价函数最小值求解

1、如果只有一个θ:求导即可
2、如果θ有多个。比如两个θ:θ0和θ1
此时需要使用梯度下降法来寻找J(θ0,θ1)的局部最小值。
此外,无论是θ有多少个,也都可以使用梯度下降法来找到最小值。
3、使用梯度下降来最小化价值函数:
最小化价值函数就是找到最优的θ的值,使得误差平方和最小,同时这也会使得回归结果达到最佳匹配状态。

1.3 梯度下降描述

1、举例描述:
站在山上某个位置,要寻找最快到达山底的路。先环顾四周,确定一个方向然后迈一步,再停下来环顾四周确定下一步的方向,再迈一步,以此类推,直到走到山底。
所以重点是寻找每一步的最佳方向!!描述如下图所示:



2、算法定义


第一行的表达式就是梯度下降的公式,用于不断更新θj的值。其中 := 符号表示赋值语句。α这个参数代表下山的步伐,也就是快慢,在公式中表示学习速率,他控制了以多大幅度更新参数θj。
梯度下降最重要的部分是同步更新。同步更新的正确步骤在图中左下展示。

3、偏导数的含义与作用
用于更新θj的公式中含有偏导数。以单个θ为例子解释:


一维中的偏导相当于导数,求出某一点的斜率,因此是个实数。Θj - α*斜率 在第一幅图中会不断向左移动,因此可以找到全局最小值。第二幅图中由于斜率为负值,因此会向右移动。当给定一个合适的α后,每次向最低点移动的步伐会逐渐减小,因此极大可能会收敛在最小值上。
此外,对于α的大小,α如果很小,那么每一次都会以很小的进度进行更新,因此收敛速度很慢。如果α很大,会导致无法收敛在最小值的情况,甚至出现发散的情况。

1.4 两个未知参数的梯度下降举例

例如:两个θ参数:θ0和θ1
1)将价值函数代入偏导函数的公式:



2)分别求偏导后如下:



3)将2)中的偏导数代入梯度下降的θ更新公式中:

不停迭代更新θ0和θ1的值,直到收敛为止,也就是所找到的θ0和θ1使得价值函数最小为止。

2 多元线性回归

1、以上是一个特征值的线性回归方法。所谓的一个特征值就是训练样本中只有房屋面积这样一个属性,而如果拓展到多元线性回归的情况就是指:此时决定房价的属性不仅仅只有一个房屋面积,例如一个训练样本会同时给出面积、楼层、卧室个数以及使用年限等,以此来对房价进行预测。如下图例子


2、属性(特征)
上图所显示的矩阵就是特征矩阵,所有的不同属性就代表了不同的特征,一般用n代表特征
的个数,上图中n=4,所以特征矩阵就是由(x1,x2,x3,x4所组成);
Xi 代表第i个训练样本,也就是图中的一行。
Xi j 代表第i个训练样本中的第j个特征。
3、假设
多元特征情况下,假设函数可设为:


公式中有n+1个Θ参数,Θ0所对应的特征设为x0,为了简化方程,令x0=1;
此时,Θ就是一个n+1维的向量,特征x也是一个n+1维的向量,所以上式可简写为:

4、多特征变量梯度下降
其实与单变量梯度下降的方法类似。
构建以误差平方和为核心的代价函数:
image.png
其中可带入假设函数:

相同的思想,找到使得代价函数最小的那一组参数变量即可。
此时使用批量梯度下降算法

上图左边是一元线性回归的梯度下降算法。
右边是多元线性回归的梯度下降法。

我的博客 : https://NingSM.github.io

转载请注明原址,谢谢

上一篇 下一篇

猜你喜欢

热点阅读