AI - MLCC - 03 - 降低损失

1- 迭代方法

机器学习算法用于训练模型的迭代试错过程(迭代方法):

迭代策略在机器学习中的应用非常普遍,这主要是因为它们可以很好地扩展到大型数据集。

模型”部分将一个或多个特征作为输入,然后返回一个预测作为输出。

计算损失”部分是模型将要使用的损失函数,机器学习系统在“计算参数更新”部分检查损失函数的值。

现在,假设这个神秘的绿色框会产生新值,然后机器学习系统将根据所有标签重新评估所有特征,为损失函数生成一个新值,而该值又产生新的参数值。

这种学习过程会持续迭代,直到该算法发现损失可能最低的模型参数。

通常可以不断迭代,直到总体损失不再变化或至少变化极其缓慢为止。这时候,可以说该模型已收敛

要点:

在训练机器学习模型时,首先对权重和偏差进行初始猜测,然后反复调整这些猜测,直到获得损失可能最低的权重和偏差为止。

2- 梯度下降法

回归问题所产生的损失与权重值的图形始终是凸形。换言之,图形始终是碗状图。

凸形问题只有一个最低点;即只存在一个斜率正好为 0 的位置。这个最小值就是损失函数收敛之处。

通过计算整个数据集中每个权重值的损失函数来找到收敛点这种方法效率太低,通过梯度下降法可以高效地找到收敛点。

梯度下降法的第一个阶段是为权重值选择一个起始值(起点)。

起点并不重要;因此很多算法就直接将权重值设为 0 或随机选择一个值。

下图显示选择了一个稍大于 0 的起点:

然后,梯度下降法算法会计算损失曲线在起点处的梯度。简而言之,梯度是偏导数的矢量;它可以让您了解哪个方向距离目标“更近”或“更远”。

请注意,梯度是一个矢量,因此具有以下两个特征:方向和大小。

梯度始终指向损失函数中增长最为迅猛的方向。梯度下降法算法会沿着负梯度的方向走一步,以便尽快降低损失。

为了确定损失函数曲线上的下一个点,梯度下降法算法会将梯度大小的一部分与起点相加( 一个梯度步长将我们移动到损失曲线上的下一个点):

然后,梯度下降法会重复此过程,逐渐接近最低点。

3- 学习速率

梯度下降法算法用梯度乘以一个称为学习速率(有时也称为步长)的标量,以确定下一个点的位置。

例如,如果梯度大小为 2.5,学习速率为 0.01,则梯度下降法算法会选择距离前一个点 0.025 的位置作为下一个点。

超参数是编程人员在机器学习算法中用于调整的旋钮。

大多数机器学习编程人员会花费相当多的时间来调整学习速率。如果选择的学习速率过小,就会花费太长的学习时间:

相反,如果指定的学习速率过大,下一个点将永远在 U 形曲线的底部随意弹跳:

每个回归问题都存在一个“恰好合适”学习速率,这个值与损失函数的平坦程度相关。

如果知道损失函数的梯度较小,则可以放心地试着采用更大的学习速率,以补偿较小的梯度并获得更大的步长。

4- 优化学习速率

在实践中,成功的模型训练并不意味着要找到“完美”(或接近完美)的学习速率。

目标是找到一个足够高的学习速率,该速率要能够使梯度下降过程高效收敛,但又不会高到使该过程永远无法收敛。

5- 随机梯度下降法

在梯度下降法中,批量指的是用于在单次迭代中计算梯度的样本总数。如果是超大批量,则单次迭代就可能要花费很长时间进行计算。
包含随机抽样样本的大型数据集可能包含冗余数据。实际上,批量大小越大,出现冗余的可能性就越高。一些冗余可能有助于消除杂乱的梯度,但超大批量所具备的预测价值往往并不比大型批量高。

通过从数据集中随机选择样本,可以通过小得多的数据集估算(尽管过程非常杂乱)出较大的平均值。
随机梯度下降法 (SGD) 每次迭代只使用一个样本(批量大小为 1)。
如果进行足够的迭代,SGD 也可以发挥作用,但过程会非常杂乱。“随机”这一术语表示构成各个批量的一个样本都是随机选择的。

小批量随机梯度下降法(小批量 SGD)是介于全批量迭代与 SGD 之间的折衷方案。
小批量通常包含 10-1000 个随机选择的样本。小批量 SGD 可以减少 SGD 中的杂乱样本数量,但仍然比全批量更高效。
梯度下降法也适用于包含多个特征的特征集。

6- 涉及的关键词

收敛 (convergence)
通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。
也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。
在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失 (Loss)
一种衡量指标,用于衡量模型的预测偏离其标签的程度。
或者更悲观地说是衡量模型有多差。要确定此值,模型必须定义损失函数。
例如,线性回归模型通常将均方误差用作损失函数,而逻辑回归模型则使用对数损失函数。

训练 (training)
确定构成模型的理想参数的过程。

梯度下降法 (gradient descent)
一种通过计算并且减小梯度将损失降至最低的技术,它以训练数据为条件,来计算损失相对于模型参数的梯度。
通俗来说,梯度下降法以迭代方式调整参数,逐渐找到权重和偏差的最佳组合,从而将损失降至最低。

步 (step)
对一个批次的向前和向后评估。

超参数 (hyperparameter)
在模型训练的连续过程中,您调节的“旋钮”。
例如,学习速率就是一种超参数。
与参数相对。

学习速率 (learning rate)
在训练模型时用于梯度下降的一个标量。
在每次迭代期间,梯度下降法都会将学习速率与梯度相乘。得出的乘积称为梯度步长。
学习速率是一个重要的超参数。

步长 (step size)
与学习速率的含义相同。

批次 (batch) ,批量
模型训练的一次迭代(即一次梯度更新)中使用的样本集。
另请参阅批次大小。

批次大小 (batch size),批量大小
一个批次中的样本数。
例如,SGD 的批次大小为 1,而小批次的大小通常介于 10 到 1000 之间。
批次大小在训练和推断期间通常是固定的;不过,TensorFlow 允许使用动态批次大小。

小批次 (mini-batch),小批量
从整批样本内随机选择并在训练或推断过程的一次迭代中一起运行的一小部分样本。
小批次的批次大小通常介于 10 到 1000 之间。
与基于完整的训练数据计算损失相比,基于小批次数据计算损失要高效得多。

随机梯度下降法 (SGD, stochastic gradient descent)
批次大小为 1 的一种梯度下降法。
换句话说,SGD 依赖于从数据集中随机均匀选择的单个样本来计算每步的梯度估算值。

7- 检查理解情况

问题

基于大型数据集执行梯度下降法时,以下哪个批量大小可能比较高效?

  • 小批量或甚至包含一个样本的批量 (SGD)。
  • 全批量。

解答

  • 正确。在小批量或甚至包含一个样本的批量上执行梯度下降法通常比全批量更高效。毕竟,计算一个样本的梯度要比计算数百万个样本的梯度成本低的多。为确保获得良好的代表性样本,该算法在每次迭代时都会抽取另一个随机小批量数据(或包含一个样本的批量数据)。
  • 对全批量计算梯度这一做法的效率并不高。也就是说,与非常大的全批量相比,对较小的批量计算梯度通常高效得多(并且准确度无异)。

原文地址:https://www.cnblogs.com/anliven/p/10258292.html

时间: 2024-08-30 13:08:44

AI - MLCC - 03 - 降低损失的相关文章

谷歌机器学习速成课程---3降低损失 (Reducing Loss):梯度下降法

迭代方法图(图 1)包含一个标题为"计算参数更新"的华而不实的绿框.现在,我们将用更实质的方法代替这种华而不实的算法. 假设我们有时间和计算资源来计算 w1 的所有可能值的损失.对于我们一直在研究的回归问题,所产生的损失与 w1 的图形始终是凸形.换言之,图形始终是碗状图,如下所示: 图 2. 回归问题产生的损失与权重图为凸形. 凸形问题只有一个最低点:即只存在一个斜率正好为 0 的位置.这个最小值就是损失函数收敛之处. 通过计算整个数据集中 w1 每个可能值的损失函数来找到收敛点这种

谷歌机器学习速成课程---3降低损失:迭代方法

迭代学习可能会让您想到"Hot and Cold"这种寻找隐藏物品(如顶针)的儿童游戏.在我们的游戏中,"隐藏的物品"就是最佳模型.刚开始,您会胡乱猜测("w1 的值为 0."),等待系统告诉您损失是多少.然后,您再尝试另一种猜测("w1 的值为 0.5."),看看损失是多少.哎呀,这次更接近目标了.实际上,如果您以正确方式玩这个游戏,通常会越来越接近目标.这个游戏真正棘手的地方在于尽可能高效地找到最佳模型. 下图显示了机器学

安比台风来袭,进港货轮被迫延期,外贸厂商:这样做可以降低损失!

7月以降属于台风多发季,对太平洋航线的贸易商是一场重大挑战. 据深台网信息,第10号"安比"热带风暴,正以风速15m/s偏西移动.此前的9号"山神"引发华东.华南大面积暴雨,多条航线因此停运.此次"安比"热带风暴尾随而来,再次严重威胁进出口贸易航线,很多货轮不得已再次延期. 延期意味着延迟交货,库存和资金产生积压,对于一些外贸厂商来说,造成难以估量的后果,甚至因此一蹶不振,白干了. 通常情况,一艘普通海运货轮大约运载5000多个集装箱,大的货轮在

AI - MLCC - 02 - 深入了解机器学习 (Descending into ML)

线性回归 人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁. 数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据编入目录. Ruth 阿姨将她喜爱的蟋蟀数据库作为生日礼物送给您,并邀请您自己利用该数据库训练一个模型,从而预测鸣叫声与温度的关系. 首先建议您将数据绘制成图表,了解下数据的分布情况: 图 1. 每分钟的鸣叫声与温度(摄氏度)的关系. 毫无疑问,此曲线图表明温度随着鸣叫声次数的增加而上升.鸣叫声与温度之间的关系是线性关系吗? 是的,您可以绘制一条直线来近似地

AI - MLCC - 04 - 使用TF的基本步骤02 - Pandas 简介

原文链接:https://colab.research.google.com/notebooks/mlcc/intro_to_pandas.ipynb 1- Pandas HomePage : http://pandas.pydata.org/ Docs : http://pandas.pydata.org/pandas-docs/stable/index.html 针对Python语言的开源数据分析处理工具,可以提供高性能.易用的数据结构: 主要数据结构 DataFrame: 数据框架是用于数

谷歌机器学习速成课程---3降低损失 (Reducing Loss):学习速率

正如之前所述,梯度矢量具有方向和大小.梯度下降法算法用梯度乘以一个称为学习速率(有时也称为步长)的标量,以确定下一个点的位置.例如,如果梯度大小为 2.5,学习速率为 0.01,则梯度下降法算法会选择距离前一个点 0.025 的位置作为下一个点. 超参数是编程人员在机器学习算法中用于调整的旋钮.大多数机器学习编程人员会花费相当多的时间来调整学习速率.如果您选择的学习速率过小,就会花费太长的学习时间: 图 6. 学习速率过小. 相反,如果您指定的学习速率过大,下一个点将永远在 U 形曲线的底部随意

AI - MLCC - 01 - 问题构建 (Framing):机器学习主要术语

什么是(监督式)机器学习?简单来说,它的定义:机器学习系统通过学习如何组合输入信息来对从未见过的数据做出有用的预测. 问题构建 (Framing):机器学习主要术语 标签 标签是要预测的事物,即简单线性回归中的 y 变量. 标签可以是小麦未来的价格.图片中显示的动物品种.音频剪辑的含义或任何事物. 特征 特征是输入变量,即简单线性回归中的 x 变量. 简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能会使用数百万个特征,按如下方式指定: 在垃圾邮件检测器示例中,特征可能包括: 电

降低损失 :学习速率

原文地址:https://www.cnblogs.com/agilestyle/p/12620057.html

大数据、AI“武装”企业服务:风控、检索、安全

大数据.AI"武装"企业服务:风控.检索.安全 小饭桌创业课堂2017-05-06 15:26:42阅读(127)评论(0) + - 文|吴杨可月 - - 小饭桌创业研究院出品 - 两件秘闻,将美国大数据公司Palantir从幕后推向前台-- 一是,Palantir的旗下产品在整合40年的记录及海量数据并充分挖掘之后,找到了前纳斯达克主席麦道夫"庞氏骗局"的大量确凿证据: 二是,通过其大数据挖掘能力,Palantir帮美国政府找到本拉登的老巢. 人们这才惊叹的发现,