概述
训练模型表示通过有标签样本来学习确定所有的权重和偏差的理想值。在监督式学习中,机器学习算法通过以下方式构建模型:检查多个样本并尝试找出可最大限度地减少损失的模型;这个过程称为经验风险最小化。
损失是对糟糕预测的惩罚。也就是说,损失是一个数值,表示对于单个样本而言模型预测的准确程度。如果模型的预测完全准确,则损失为零,否者损失会很大。训练模型的目的是从所有样本中找到一组平均损失“较小”的权重和偏差。例如下图左侧显示的是损失较大的模型,右侧显示的是损失较小的模型。
图3 左侧的损失较大,右侧的损失较小
在数学上需要创建一个函数(损失函数),定量的分析各种损失。
平方损失函数
线性模型使用的是一种称为平分损失(又称为L2损失)的损失函数,单个样本的平方损失如下:
= the square of the difference between the label and the prediction = (observation - prediction(x))2 = (y - y')2
均方误差(MSE)指的是每个样本的平均平方损失。MSE计算方式如下:
其中:
- (x, y)指的是样本,其中
- x指的是模型进行预测时使用的特征集(例如,温度、年龄和交配成功率)。
- y指的是样本的标签(例如,每分钟的鸣叫次数)。
- prediction(x)指的是权重和偏差与特征集x结合的函数。
- D指的是包含多个有标签样本(即(x, y))的数据集。
- N指的是D中的样本数量。
期望风险、经验风险与结构风险之间的关系
-
经验风险是局部的,基于训练集所有样本点损失函数最小化的。
-
期望风险是全局的,是基于所有样本点的损失函数最小化的。
-
经验风险函数是现实的,可求的;
-
期望风险函数是理想化的,不可求的;
只考虑经验风险的话,会出现过拟合的现象,过拟合的极端情况便是模型f(x)对训练集中所有的样本点都有最好的预测能力,但是对于非训练集中的样本数据,模型的预测能力非常不好。怎么办呢?这个时候就引出了结构风险。结构风险是对经验风险和期望风险的折中。
结构风险
对经验风险和期望风险的折中,在经验风险函数后面加一个正则化项(惩罚项),是一个大于0的系数lamada。J(f)表示的是模型的复杂度。
经验风险越小,模型决策函数越复杂,其包含的参数越多,当经验风险函数小到一定程度就出现了过拟合现象。也可以理解为模型决策函数的复杂程度是过拟合的必要条件,那么我们要想防止过拟合现象的方式,就要破坏这个必要条件,即降低决策函数的复杂度。也即,让惩罚项J(f)最小化,现在出现两个需要最小化的函数了。我们需要同时保证经验风险函数和模型决策函数的复杂度都达到最小化,一个简单的办法把两个式子融合成一个式子得到结构风险函数然后对这个结构风险函数进行最小化。
引用
深入了解机器学习 (Descending into ML):训练与损失
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:深入了解深度学习–训练与误差 - Python技术站