线性回归的简单理解
前面说到逻辑回归,这篇就总结一下自己对线性回归的认识吧。文中截图均来自Andrew Ng 视频,文字总结部分全为原创。
1 从例子说起
以房价预测为案例进行展开:
1.1 一元线性概念
1、假设函数h(x):关于x(户型)的函数
2、拟定代价函数J(θ):是关于θ参数的函数,并且θ可能有多个,例如:θ0,θ1
表示预测值与实际值的平方和误差
3、大多数回归问题的代价函数以误差平方和为基准
如下图所示:
![](https://img.haomeiwen.com/i8166116/03d12b98656dc454.png)
上述分析后得到我们的目标函数以及代价函数,我们的目的就是使得代价函数的损失降到最小。
1.2 代价函数最小值求解
1、如果只有一个θ:求导即可
2、如果θ有多个。比如两个θ:θ0和θ1
此时需要使用梯度下降法来寻找J(θ0,θ1)的局部最小值。
此外,无论是θ有多少个,也都可以使用梯度下降法来找到最小值。
3、使用梯度下降来最小化价值函数:
最小化价值函数就是找到最优的θ的值,使得误差平方和最小,同时这也会使得回归结果达到最佳匹配状态。
1.3 梯度下降描述
1、举例描述:
站在山上某个位置,要寻找最快到达山底的路。先环顾四周,确定一个方向然后迈一步,再停下来环顾四周确定下一步的方向,再迈一步,以此类推,直到走到山底。
所以重点是寻找每一步的最佳方向!!描述如下图所示:
![](https://img.haomeiwen.com/i8166116/3345d6a33f34701f.png)
2、算法定义
![](https://img.haomeiwen.com/i8166116/bd5c671fb98d4468.png)
第一行的表达式就是梯度下降的公式,用于不断更新θj的值。其中 := 符号表示赋值语句。α这个参数代表下山的步伐,也就是快慢,在公式中表示学习速率,他控制了以多大幅度更新参数θj。
梯度下降最重要的部分是同步更新。同步更新的正确步骤在图中左下展示。
3、偏导数的含义与作用
用于更新θj的公式中含有偏导数。以单个θ为例子解释:
![](https://img.haomeiwen.com/i8166116/8437f95d238e02b1.png)
一维中的偏导相当于导数,求出某一点的斜率,因此是个实数。Θj - α*斜率 在第一幅图中会不断向左移动,因此可以找到全局最小值。第二幅图中由于斜率为负值,因此会向右移动。当给定一个合适的α后,每次向最低点移动的步伐会逐渐减小,因此极大可能会收敛在最小值上。
此外,对于α的大小,α如果很小,那么每一次都会以很小的进度进行更新,因此收敛速度很慢。如果α很大,会导致无法收敛在最小值的情况,甚至出现发散的情况。
1.4 两个未知参数的梯度下降举例
例如:两个θ参数:θ0和θ1
1)将价值函数代入偏导函数的公式:
![](https://img.haomeiwen.com/i8166116/a3b0c016a67fe031.png)
2)分别求偏导后如下:
![](https://img.haomeiwen.com/i8166116/70cdf4d502fffa1b.png)
3)将2)中的偏导数代入梯度下降的θ更新公式中:
![](https://img.haomeiwen.com/i8166116/221b19d933ff9b37.png)
不停迭代更新θ0和θ1的值,直到收敛为止,也就是所找到的θ0和θ1使得价值函数最小为止。
2 多元线性回归
1、以上是一个特征值的线性回归方法。所谓的一个特征值就是训练样本中只有房屋面积这样一个属性,而如果拓展到多元线性回归的情况就是指:此时决定房价的属性不仅仅只有一个房屋面积,例如一个训练样本会同时给出面积、楼层、卧室个数以及使用年限等,以此来对房价进行预测。如下图例子
![](https://img.haomeiwen.com/i8166116/f9cc2687fa7ddf85.png)
2、属性(特征)
上图所显示的矩阵就是特征矩阵,所有的不同属性就代表了不同的特征,一般用n代表特征
的个数,上图中n=4,所以特征矩阵就是由(x1,x2,x3,x4所组成);
Xi 代表第i个训练样本,也就是图中的一行。
Xi j 代表第i个训练样本中的第j个特征。
3、假设
多元特征情况下,假设函数可设为:
![](https://img.haomeiwen.com/i8166116/556214461a00a997.png)
公式中有n+1个Θ参数,Θ0所对应的特征设为x0,为了简化方程,令x0=1;
此时,Θ就是一个n+1维的向量,特征x也是一个n+1维的向量,所以上式可简写为:
![](https://img.haomeiwen.com/i8166116/bedd14623780ae9d.png)
4、多特征变量梯度下降
其实与单变量梯度下降的方法类似。
构建以误差平方和为核心的代价函数:
![](https://img.haomeiwen.com/i8166116/6b372ae3eff7048c.png)
其中可带入假设函数:
![](https://img.haomeiwen.com/i8166116/640b12e75c339479.png)
相同的思想,找到使得代价函数最小的那一组参数变量即可。
此时使用批量梯度下降算法
![](https://img.haomeiwen.com/i8166116/69d5f93ba5d9e31d.png)
上图左边是一元线性回归的梯度下降算法。
右边是多元线性回归的梯度下降法。
我的博客 : https://NingSM.github.io
转载请注明原址,谢谢。