青岛网站建设方案服务,yandex搜索入口,心雨在线高端网站建设,闲鱼上做网站目录
一、模型表示
二、代价函数
三、代价函数的直观理解#xff08;1#xff09;
四、代价函数的直观理解#xff08;2#xff09;
五、梯度下降
六、梯度下降的直观理解
七、线性回归的梯度下降 在本篇内容中#xff0c;我们将介绍第一个机器学习算法——线性回归…目录
一、模型表示
二、代价函数
三、代价函数的直观理解1
四、代价函数的直观理解2
五、梯度下降
六、梯度下降的直观理解
七、线性回归的梯度下降 在本篇内容中我们将介绍第一个机器学习算法——线性回归算法。更重要的是我们将借助这个算法带你了解一个完整的监督学习流程。
一、模型表示
我们通过一个例子来开始预测房价。我们拥有一个数据集记录了美国俄勒冈州波特兰市的若干房子面积及其对应的成交价格。横轴表示房子的面积平方英尺纵轴表示房价千美元。如果有一套房子面积是 1250 平方英尺想知道大概能卖多少钱。你可以通过构建一个预测模型来实现比如你可以用一条直线来拟合数据从而推断出这套房子可能值大约 22 万美元左右。 这是监督学习算法的一个例子。 因为在训练过程中每个数据样本都包含一个“正确答案”也就是我们已经知道的真实输出每个房子的实际售价。而且这还是一个回归问题的例子因为预测一个具体的数值输出房子的价格。
在监督学习中我们有一个数据集这个数据集被称训练集如下图。 在课程中使用以下符号来描述训练集和模型结构 m训练样本数量 x特征/输入变量例如房子面积 y目标变量/输出变量例如房子价格 第 i 个训练样本 h学习算法输出的假设函数hypothesis 一个典型的监督学习过程如下 收集训练数据比如不同面积的房子及其对应价格。 将这些数据输入给学习算法。 算法“学习”出一个函数 h也就是我们的预测模型。 当想预测一套房子的售价时只需将其面积作为输入使用这个函数 h 得到预测价格。 换句话说我们希望找到一个函数 h使得它能近似地预测出输入 x房屋面积对应的输出 y价格。这可以用线性函数表示为 因为这里只有一个特征房子面积所以我们称这种情况为单变量线性回归。
二、代价函数
在这一节中我们将定义代价函数的概念这有助于我们弄清楚如何把最有可能的直线与我们的数据相拟合。在上一节中我们得到的假设函数为一个线性函数形式 选择不同的参数 和 会得到不同的假设函数 如下图。 称为模型参数我们要做的是选择出一组合适的参数 和 使得模型预测值 与实际值 y 的差距最小。这里给出标准定义在线性回归中要解决的是最小化问题。 最小化公式加平方是为了使差距极其小 对所有训练样本的差距进行求和是为了尽量减少平均误差 由于假设函数表示为 因此问题变成找到 和 的值使以下公式最小 就是代价函数这个函数也叫作 平方误差代价函数它是回归问题中最常见也是最合理的选择之一。
三、代价函数的直观理解1 在这一节中为了更好地使代价函数J可视化我们使用一个简化的代价函数可以让我们更好的理解代价函数的概念。 将假设函数的参数 视为0 那么代价函数就变为 优化目标就是尽量减少 的值 实际上有两个关键函数是我们需要去了解的。一个是假设函数 第二个是代价函数 。假设函数h是对于给定的 的值是一个关于 x 的函数。代价函数J是关于参数 的函数。假设有三个点的训练集(1,1) (2,2) (3,3) 当 时代价函数J的值计算如下。 得出当 时因此 绘制的两个函数的图形如下。 当 时代价函数J的值计算如下。 得出当 时 绘制的两个函数的图形如下。 同理计算出其它代价函数J的值比如 当 时 当 时 最终得到的代价函数J的图形如下。 学习算法的优化目标是通过选择 的值获得最小的 。在这条曲线中当 时 最小。通过观察也可以得出这是条完美拟合训练集数据的直线。
四、代价函数的直观理解2
在本节课程中我们将更深入地学习代价函数的作用并借助图形化方式等高线图来帮助我们直观地理解其行为与最小值位置。下面是本节用到的公式与上节不一样的是保留参数 和 。 假设函数 模型参数 代价函数 优化目标 采用关于住房价格的训练集假设绘制假设函数h和代价函数J的图形。其中代价函数J是关于 和 的函数是一个3D曲面图横轴为 和 竖轴为代价函数J。 为了更好地展现图形 我们使用等高线图来展示代价函数轴为 和 每个椭圆形显示一系列 值相等的点这些同心椭圆的中心点是代价函数的最小值。右下图是代价函数的等高线图左下图是代价函数的最小值椭圆的中心点对应的假设函数的图形。 五、梯度下降
在本节课程中我们将使用梯度下降法替代在上节中的人工方法来自动寻找代价函数J最小值对应的参数 和 也更适合处理在遇到更复杂、更高维度、更多参数的难以可视化的情况。 问题概述假设有个代价函数 我们需要用一个算法来最小化这个代价函数。 梯度下降法的思路首先给定 和 的初始值通常为 然后不停地一点点地改变 和 的值来使J变小直到找到J的最小值或局部最小值。 通过图像可以更直观地理解梯度下降法是如何最小化代价函数J的。下图是横轴为 和 竖轴为代价函数J 并对 和 赋以不同的初始值。 把这个图像想象为公园中的两座山然后你正站在山上的一个点上在梯度下降算法中我们要做的就是旋转360度看看周围并问自己要尽快下山的话我应该朝什么方向迈步然后你按照自己的判断迈出一步重复上面的步骤从这个新的点你环顾四周并决定从什么方向将会最快下山然后又迈进了一小步并依此类推直到你接近局部最低点的位置。对 和 赋以不同的初始值会得到如图中两个不同的局部最低点这是梯度下降法的一个特点。 如下图是梯度下降法的数学定义将会重复更新 的步骤直到收敛。 其中是 α 学习率用来控制梯度下降时迈出的步子有多大。如果 α 值很大会用大步子下山梯度下降就很迅速如果 α 值很小会迈着小碎步下山梯度下降就很慢。 是代价函数J的导数这跟微积分有关系。
要正确实现梯度下降法还需要同时更新 和 左下图的同时更新是正确的右下图没有同时更新是错误的。 六、梯度下降的直观理解
梯度下降算法的数学定义如下其中α 是学习率 是导数项。本节课程将直观认识这两部分的作用以及更新过程有什么意义。 下面将直观解释导数项的意义如下图像是一个只有参数 的简化的代价函数 的图像梯度下降算法的更新规则 导数项 可以说是 点关于代价函数 的切线的斜率斜率可以表示 其中β 是直线与 x 轴正方向的夹角。因此图中是个正斜率也就是正导数同时学习率 α 永远是个正数所以 更新后变小了要往左移更接近最低点。 取另一个点 如上图计算得出是负斜率也就是负导数所以 更新后变大了要往右移更接近最低点。
接下来介绍学习率 α 的作用如果 α 太小如下图结果就是会一点点地挪动需要很多步才能到达全局最低点。 如果 α 太大如下图那么梯度下降法可能会越过最低点甚至可能无法收敛或者发散。 如果 已经处在一个局部的最低点如下图由于最低点的斜率为0也就是导数等于0所以 将保持不变那么梯度下降法更新其实什么都没做它不会改变参数的值。 接下来解释即使学习速率 α 保持不变时梯度下降也可以收敛到局部最低点。如下图在梯度下降法的更新过程中随着越接近最低点导数斜率越来越小梯度下降将自动采取较小的幅度 更新的幅度就会越小直到收敛到局部极小值这就是梯度下降的做法。所以实际上没有必要再另外减小 α 。 七、线性回归的梯度下降
在本节课程我们要将梯度下降法和代价函数结合得到线性回归的算法它可以用直线模型来拟合数据。如下图是梯度下降算法和线性回归模型线性回归模型包含了假设函数和平方差代价函数。 将梯度下降法和代价函数结合即最小化平方差代价函数关键在于求出代价函数的导数 根据微积分公式在 j 等于0和1时推导出的偏导数公式如下 根据公式计算出偏导数项的值就可以代入到梯度下降法中不断地对参数进行同步更新直到收敛得到线性回归的全局最优解。 在上面的算法中有时也称为”批量梯度下降”指的是在梯度下降的每一步中我们都用到了所有的训练样本。在梯度下降中在计算微分求导项时我们需要进行求和运算需要对所有 m 个训练样本求和。而事实上有时也有其他类型的梯度下降法不是这种批量型的不考虑整个的训练集而是每次只关注训练集中的一些小的子集。
如果之前有学过高等线性代数应该知道有一种计算代价函数 J 最小值的解法而不需要使用梯度下降这种迭代算法。这是另一种称为正规方程(normal equations)的方法。实际上在数据量较大的情况下梯度下降法比正规方程要更适用一些。