Andrew Ng 机器学习笔记 02 :线性回归与梯度下降
2018-03-14 15:50
585 查看
代价函数/损失函数:(cost function / lost function)
目标:衡量模型预测出来的值h(θ)与真实值y之间的差异,当取到代价函数J的最小值时,就得到了最优的参数θ。在线性回归中,最常用的是均方误差(Mean squared error),具体形式为:
数据集:训练集(training set) ,验证集(validation set) ,测试集(test set)
训练样本:(training example x(i),y(i) )
线性回归模型:(linear regression)如:hθ(x)=θ0+θ1x
x:输入变量(features)
h:假设函数(hypothesis)
hθ(x):用参数θ和x预测出来的y值;
y:原训练样本中的y值,也就是标准答案
i:第i个样本
m:样本数量(number of training examples)
θi:模型参数
代价函数的直观体现
图1:不同参数θi可以拟合出不同的直线图2:代价函数J(θ)随参数的变化而变化
图3:有多个参数θ时,代价函数表现为曲面图
图4:将三维曲面图转换为轮廓图 ( contour plots / contour figures )
图中颜色相同的线为等高线,表示J(θ0,θ1)相等的所有点的集合。
导数
导数定义如下:导数反映的是函数f(x)在x轴上某一点处沿着x轴正方向的变化率/变化趋势。
如果f’(x)>0,说明f(x)的函数值在x点沿x轴正方向是趋于增加的;
如果f’(x)<0,说明f(x)的函数值在x点沿x轴正方向是趋于减少的。
偏导数
偏导数定义如下:一个多变量的函数的偏导数,是它关于其中一个变量的导数,而保持其他变量恒定(相对于全导数,在其中所有变量都允许变化) 函数f关于变量x的偏导数写为 f'x或∂f/∂x 。偏导数符号∂是全导数符号d的变体。 偏导数反映函数y=f(x1,x2,…,xn)在某一点处沿某一坐标轴(x1,x2,…,xn)正方向的变化率。
对于f = x2 + xy + y2,求出函数在点(1, 1, 3)的对x的偏导数;对应的切线与xOz平面平行。
方向导数
方向导数定义如下:导数和偏导数的定义中,均是沿坐标轴正方向讨论函数的变化率。
而方向导数则是求某一点在某一趋近方向上的导数值,反映函数在特定方向上的变化率。
梯度
梯度的定义如下:梯度即函数在某一点最大的方向导数,函数沿梯度方向函数有最大的变化率,梯度的值是最大方向导数的值。
梯度下降 ( Gradient Descent )
优化目标函数,就是沿着负梯度方向去减小函数值,以此达到最优点。θ0, θ1初始值不同的时候,我们会找到不同局部最小值,这个特点正是"梯度下降"算法的特点。
一般线性回归的代价函数都是凸函数,只有一个全局最优值,如下图:
梯度下降算法:
所有的参数必须需要同步更新,即先计算temp0,temp1的值,再赋值给θ0, θ1
:= 表示赋值,例如a := b 表示把b的值赋值给a
= 表示判断是否相等,例如 a = b表示判断a等于b
重复上述过程,直到函数收敛,得到的θ0, θ1值即为最佳参数值
α表示learning rate 学习速率:α的值太大,则迭代的步伐太大,会导致直接跨过谷底到达另一端,所谓“步子太大,迈过山谷”。α的值太小,则迭代的步伐太小,下降的速率太小,导致求解过程太慢。当函数接近局部最小值的时候,偏导数的值将会逐渐递减,使得梯度下降法自然变成“小步子”。
J(θ0,θ1)对于θ0和θ1分别求导,可得:
证明过程如下:
若假设函数hθ(x)不止2个参数,可能会有n+1个参数θ0,θ1,θ2 ... θn,此时对应特征向量x有n维,因此可以得到n个参数的线性回归模型:
对应的梯度下降算法:
展开求偏导数后,可得:
这里的梯度下降算法也称为”Batch” 梯度下降: 因为梯度下降的每一步都使用了所有的训练样本。
相关文章推荐
- 斯坦福大学机器学习笔记--第一周(5.线性回归的梯度下降)
- 机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)
- 【学习笔记】斯坦福大学公开课(机器学习) 之一:线性回归、梯度下降
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(5.线性回归的梯度下降)
- 机器学习推导笔记1--机器学习的任务、步骤、线性回归、误差、梯度下降
- 机器学习笔记一二 - 线性规划 梯度下降 正规方程
- 机器学习入门:线性回归及梯度下降
- 【机器学习】线性回归的梯度下降法
- 【机器学习】线性回归的梯度下降法 续
- 机器学习入门(6)--(单变量)梯度下降与线性回归
- 机器学习,线性回归关于梯度下降法和正规方程的流程
- 机器学习入门:线性回归及梯度下降
- 【机器学习详解】线性回归、梯度下降、最小二乘的几何和概率解释
- 机器学习入门:线性回归及梯度下降(附matlab代码)
- 吴恩达网易公开课_机器学习【第2课】笔记:线性回归,梯度,正规方程组
- 线性回归及梯度下降-机器学习1
- 机器学习入门:线性回归及梯度下降
- 机器学习(1)--梯度下降与线性回归
- CS229学习笔记之线性回归与梯度下降
- Ng深度学习笔记 1-线性回归、监督学习、成本函数、梯度下降