训练模型通过有标签样本来学习(确定)所有的权重和偏差的理想值。
损失是对槽糕预测的惩罚,损失是一个数值,模型的预测完全正确,则损失为零,反之,模型的预测越槽糕,损失越大。
平方损失:一种常见的损失函数,线性回归模型就是使用该平方损失
均方误差:每个样本的平均平方损失,计算均方误差,要算出所有样本预测的平方损失之和,除于样本的数量
其中:
- (x, y)指的是有标签样本。
- x 指样本所要预测的特征集。
- y 指特征 x 对应正确的标签。
- prediction(x) 指权重和偏差和特征集 x 的结合函数,计算出预测值。
- D 指多个有标签样本的数据集 (即 {x1, y1}, {x2, y2}, {x3, y3})。
- M 指 D 有标签样本的数量。
虽然均方误差常用于机器学习,但是它既不是唯一实用的损失函数,也不适用于所有模型的损失函数。常见的损失函数有对数损失函数,HingeLoss0-1损失函数,绝对值损失函数。
降低损失的几种方法
迭代方法
机器学习系统将根据所有标签重新评估所有特征,为损失函数生成一个新值,而该值又产生新的参数值。这种学习过程会持续迭代,直到该算法发现损失可能最低的模型参数。通常,您可以不断迭代,直到总体损失不再变化或至少变化极其缓慢为止。这时候,我们可以说该模型已收敛。
在训练机器学习模型时,首先对权重和偏差进行初始猜测,然后反复调整这些猜测,直到获得损失可能最低的权重和偏差为止。
梯度下降法
梯度是一个偏导数(对某一个数进行求导)的矢量,矢量有大小和方向。梯度下降法是沿着负梯度的方向走,以便能找到最小损失。
-
随机梯度下降法:可能一下子得到局部最优解,收敛局部最优解的过程更为复杂。
-
批梯度下降法:全局最优解,遍布所有数据,参数更新很慢
-
小批量随机梯度下降法: 每次使用部分样本,可以减少参数更新次数。稳定收敛。
优化学习速率
学习速率,梯度矢量具有方向和大小。梯度下降法算法用梯度乘以一个称为学习速率(有时也称为步长)的标量,以确定下一个点的位置。例如,如果梯度大小为 2.5,学习速率为 0.01,则梯度下降法算法会选择距离前一个点 0.025 的位置作为下一个点。
超参数,用于调整学习速率。
- 学习速率过小,会花费太长的时间学习。
- 学习速率过大,会在最底部 u 两则来回随意调换,永远达不到最低点。
- 学习速率恰到好处。
部分理想的学习速率
- 一维空间的理想学习速率 ( 是 对 x 的二阶导数)
-
二维或多维空间中的理想学习速率是海森矩阵(由二阶偏导数组成的矩阵)的倒数。
注:所有的资料整理参考来自Google速成AI课程