参数线性回归和梯度下降
2014-12-21 22:20
381 查看
本文大量摘自Rachel-Zhang的CSDN博客,侵联删。
m是样本数量,
xi代表第i个样本的特征, yi代表第i个样本的实际值(0或者1)。
看着很像方差吧,如何评价这个直线是否拟合得好呢,就是求这个J的最小值。我们的目的就是找到合适的theta0 和 theta1使得J最小。我们假设theta0=0,那么这个就变成了一个二次函数。
二次函数求极值大家应该都知道怎么求。
如果theta != 0,是一个二元二次函数。就是一个三维的
此处盗图
啊这是两个参数的情况,像是一个3D的碗型。在实际情况中,会有很多参数,就不是图形能体现的了。大家懂这个意思就行了。
我们先在山上选一个点,其实这个点就是由theta0 和 theta1 组成的坐标点,然后往下山的方向走一小步,别往山上走啊。
就这样摩擦摩擦,似魔鬼的步伐,一步两步、一步两步,慢慢下山了。
那么现在问题来了:
如果你步子迈得太小了,走到猴年马月啊。
如果你步子迈得太大了。各种来回晃悠,所以这个步长的选择很重要。
求导过程就省略了,看不懂的就自行先补习高等数学吧。
背景
作为一枚本科木有接触过机器学习而第一份工作就是机器学习相关的本科渣渣。目前硬着头皮边学边用一些机器学习相关的基础内容,写到博客里mark一下,会大量摘抄各位神犇的博客,如有侵权,请联系我,我会及时删除。单参数线性回归
参数线性回归是给出一系列点假设拟合直线为h(x)=theta0+theta1*x, 记Cost Function为:m是样本数量,
xi代表第i个样本的特征, yi代表第i个样本的实际值(0或者1)。
看着很像方差吧,如何评价这个直线是否拟合得好呢,就是求这个J的最小值。我们的目的就是找到合适的theta0 和 theta1使得J最小。我们假设theta0=0,那么这个就变成了一个二次函数。
二次函数求极值大家应该都知道怎么求。
如果theta != 0,是一个二元二次函数。就是一个三维的
此处盗图
啊这是两个参数的情况,像是一个3D的碗型。在实际情况中,会有很多参数,就不是图形能体现的了。大家懂这个意思就行了。
梯度下降
那么我们如何求这个J函数的最小值呢?其实就像下山一样,我们在山上也没法直接到谷底啊,除非你跳崖,问题是就算你能保证你跳崖之后完好无损,你能保证你跳崖的姿势正确能跳到谷底么?所以我们还是一小步一小步地走到谷底吧,步子别太大了,容易扯到蛋。我们先在山上选一个点,其实这个点就是由theta0 和 theta1 组成的坐标点,然后往下山的方向走一小步,别往山上走啊。
就这样摩擦摩擦,似魔鬼的步伐,一步两步、一步两步,慢慢下山了。
那么现在问题来了:
如果你步子迈得太小了,走到猴年马月啊。
如果你步子迈得太大了。各种来回晃悠,所以这个步长的选择很重要。
求导过程就省略了,看不懂的就自行先补习高等数学吧。
相关文章推荐
- 利用梯度下降的方式求线性回归中参数的一些经验总结
- 线性回归与梯度下降法
- 机器学习-梯度下降法实现线性回归
- 使用matlab用优化后的梯度下降法求解达最小值时参数
- 简单分析线性回归中的梯度下降
- 利用梯度下降法实现线性回归的算法及matlab实现
- Octave实现线性回归(梯度下降)
- 线性回归与梯度下降
- 线性回归和批量梯度下降法python
- Matlab梯度下降及正规方程实现多变量的线性回归
- 【机器学习入门】Andrew NG《Machine Learning》课程笔记之二 :基本概念、代价函数、梯度下降和线性回归
- Andrew Ng机器学习公开课笔记 — 线性回归和梯度下降
- 机器学习第二篇——线性回归与梯度下降
- 线性回归与梯度下降(附Matlab实现)
- 机器学习算法入门之(一)梯度下降法实现线性回归
- 在Tensorflow环境下利用梯度下降法进行线性回归
- 最小二乘参数估计---梯度下降法求解参数的sas代码实现
- 梯度下降法,最小二乘法求线性回归
- 机器学习——线性回归(梯度下降和正规方程)
- 梯度下降法求解线性回归之python实现