文章目录
- 房价预测案例
- 有监督学习算法的工作原理
- 代价函数
- 代价函数实例(一个参数的情况)
- 代价函数实例(两个参数的情况)
- 梯度下降法—最小化代价函数
- 问题描述及梯度下降思路
- 工作原理可视化
- 数学原理
- 梯度下降法应用于线性回归模型
房价预测案例
继续上一章节有监督学习算法的房价预测案例。
案例描述:有包含房子的大小和价格信息的真实数据(散点图)如下。我们要学习一个房价预测算法,在给定房屋大小后,可以相对准确估计其出售价格。
训练集及相关描述
训练集样本数
输入变量/特征(大部分时间是向量)
输出变量/目标变量
其中,表示第 个训练样本,是索引,代表训练集中第行。
例如:
有监督学习算法的工作原理
我们向学习算法提供训练集,学习算法会输出一个函数(hypothesis假设函数),函数将房子的大小作为输入变量,输出房价的预测值。
How do we represent h?
先从最简单的入手:线性函数
此时,假设函数为:其中, 是模型参数(parameter),如下图,选择不同的参数,我们可以得到不同的模型。
我们的目标是,找到合适的值,使得假设函数表示的直线尽可能好的跟训练集数据点拟合。
也就是说,我们要选择合适的,使得预测值尽可能的接近实际值。为了度量“接近”,引出了代价函数。
代价函数
回归常用平方误差代价函数(当然也可以使用其他的代价函数)
目标函数为我们要找到合适的,满足上述最小化要求。
定义代价函数因此,目标函数可以简写成
代价函数实例(一个参数的情况)
为便于可视化代价函数,暂且将假设函数简化为图右所示,其中:
假设真实的函数关系为 尝试不同的绘制代价函数的图像。
- 时,进行相关计算。
- 时,进行相关计算。
- 时,进行相关计算。
…重复上述步骤,五点法作图,得到的图像,如下图所示:
学习算法的优化目标,就是选取合适的,使达到最小(显然此处应该选择)
代价函数实例(两个参数的情况)
尝试绘制代价函数的图像。(省略过程)
这是一个3D曲面图,平面两轴分别为,竖轴的高度就是的值。
方便起见,我们使用等高线图(同心椭圆)替代曲面图,如下图所示。
在同颜色线上的点,虽然的取值各不相同,但值相同。
同心椭圆的中心点,就是取最小值的位置。
假设函数及对应代价函数示例:
通过以上图像,我们可以更好地理解代价函数的意义,如何对应不同的假设函数,以及越接近代价函数最小值的点对应着更好的假设函数。
含更多参数的情况无法进行可视化。
梯度下降法—最小化代价函数
如何找到最小化的代价函数呢?梯度下降是常用的方法之一。
问题描述及梯度下降思路
工作原理可视化
特点:起始点偏移可能导致得到一个完全不同的局部最优解。
数学原理
其中为赋值运算符;为学习率(学习速率),指定步长;为导数项,指定方向;保证同步更新(图片左下角)。导数项的意义
指定移动的方向。导数(梯度)方向是函数值上升最快方向,因此其反方向就是函数值下降之最快方向。
学习速率的意义
指定步长。
如果学习速率过小,梯度下降的很慢,很多步才能到达全局最低点。
如果学习速率过大,梯度下降可能越过最低点,甚至可能无法收敛或者发散。
保持学习率α不变,梯度下降法可以收敛到局部最低点的原因
当我们接近局部最小点时,梯度下降法会自动采用更小的幅度,因为根据定义,在局部最低时导数等于零,所以当我们接近局部最低时,导数项的值会自动变得越来越小,所以梯度下降自动采取较小的幅度。
梯度下降法应用于线性回归模型
分别对求偏导:
线性回归模型的代价函数为凸函数,没有局部最优解,有唯一全局最优解。
Batch指每次计算偏导数,都用到全部的训练集数据。