在日常数据建模过程中,针对模型性能效果的综合评估,我们往往会通过某些量化指标来量化分析,但归根结底是对模型误差的评价。我们经常提到的模型泛化能力,是模型客观泛化误差的体现,模型的泛化误差程度越小,说明模型的场景应用效果越好。但是,我们要保证模型具有较低的泛化误差,具体是反映在模型的测试误差要小,而不能通过训练误差来分析,原因是训练误差是泛化误差的偏低估计表现,泛化能力较强的模型必然是测试误差很小的模型。但是,我们需要注意的是,要保证模型的测试误差较小,前提是需确保模型的训练误差在一个很小的范围内。简单的逻辑概况,只有在训练数据上拟合出精准度较好的模型,才能在新的测试数据上体现出较优秀的应用效果。
围绕以上模型评价的逻辑关系,我们需要客观认识模型的训练误差与测试误差,虽然在模型评估时经常采用测试数据的模型指标来量化评价,但是将训练数据与测试数据的模型指标进行对比,将使模型的效果分析更为客观。若希望获取一个测试误差较小的模型,本质上是尽可能保证模型拟合的训练误差要小,因此本文将重点介绍下影响模型训练误差的两个最重要因素,分别为模型变量的复杂度、建模样本的数据量。针对这两个分析维度,我们来结合具体实例来探究二者对模型训练误差的影响趋势。
对于常见预测模型的建立,核心目标是根据训练样本数据来拟合出预测模型的参数,在训数据集上建立模型并得到的模型误差,称为训练误差(经验误差)。这里以回归预测模型为例,最为典型的训练误差为模型在训练数据的MSE(Mean Square Error,均方误差)。当然,回归模型预测指标还有平均绝对误差、平均绝对误差百分比等,但MSE相对更为常用,具体公式表示如下:
编辑
添加图片注释,不超过 140 字(可选)
其中,N表示样本数据量,E表示期望,L表示损失函数,表示真实值,表示真实值。MSE是误差总和的平均值,也是平方损失函数的期望。MSE的取值越小,说明模型误差越低,模型效果越好。
1、模型复杂度越高,训练误差越小
模型的待估参数越多,模型的复杂度越高,对于回归预测模型可以通过以下公式表示,其中y为模型输出变量,为输入变量,为变量参数,为随即误差项。
编辑
添加图片注释,不超过 140 字(可选)
上式的的个数越多,说明模型的复杂度越高。在合适的训练样本量情况下,增加模型的复杂度会有效降低模型的训练误差,理由是较高复杂度的模型对样本数据信息刻画的更为细致,使模型的预测值与真实值更为接近,从而保证了模型的训练误差减少。
现围绕回归预测模型的实例,来分析下模型的复杂程度对训练误差的影响,具体是根据随机模拟数据来建立回归预测模型。假设输入变量X与输出变量y之间的真实关系,可以通过图1的数据关系曲线(黑色实线)来表示。由于其他随机因素会对输出变量产生影响,这里令,其中服从均值为0、方差为的正态分布随机数。各个样本观测数据对应图中的黑色圆点,可以看出并非所有圆点均在数据关系曲线上。
编辑
添加图片注释,不超过 140 字(可选)
图1 数据输入输出关系
针对以上样本数据的构建过程,具体可以通过图2的python代码过程来实现,最终输出的可视化展示如上图1所示。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图2 数据分布可视化实现
在分析模型复杂度对模型误差的影响时,我们通过构建不同维度的多项式线性模型来进行对比,具体从1项多项式依次增加至5项多项式,模型的复杂度逐渐增加,各模型的表示形式分别如下:
编辑
添加图片注释,不超过 140 字(可选)
从以上多项式模型形式可以看出,随着自变量X项的维度升高,模型的复杂度增加,我们通过图3过程来实现各模型曲线的拟合效果,输出的可视化结果如图4所示。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图3 多项式模型拟合实现
编辑
添加图片注释,不超过 140 字(可选)
图4 多项式模型曲线可视化
通过各多项式模型的拟合曲线可以了解到,最简单的回归方程(1项式)对应上图中的实直线,显然模型对样本数据观测点的拟合效果是比较差的。同时,我们看到随着项维的增加(从2项式到5项式),模型曲线的训练效果逐渐增强,可以较大程度的拟合样本观测数据,其中5项式模型的拟合效果最佳。因此,从这里可以说明,在一定范围内,模型的复杂度增加可以有效提升模型的拟合效果。
此外,为了进一步客观反映模型复杂度对拟合效果的优化能力,我们通过不同复杂度模型的评价指标MSE(均方误差)来进行量化对比,具体实现过程如图5所示,输出的可视化展示结果如图6所示。
编辑
添加图片注释,不超过 140 字(可选)
图6 模型复杂度的训练误差可视化 图5 模型复杂度对训练误差影响分析
编辑
添加图片注释,不超过 140 字(可选)
图6 模型复杂度的训练误差可视化
图6展示了不同复杂度模型的训练误差MSE结果,其中模型的复杂度最高维度为的9项式模型。从中可以很直观的看到,随着模型复杂度的增加,模型误差MSE明显呈现下降的趋势,但随着模型复杂度达到一定范围,模型误差MSE保持稳定。其中,从1项式到5项式模型的指标MSE变化情况,模型误差下降幅度非常直观,这与图4模型拟合曲线的对比结果是完全对应的。
2、样本数据量增加,训练误差减小
除了模型的复杂度对模型误差影响较大外,建模样本的数据量也是非常重要的一个因素,接下来我们在保证模型一定复杂度的情况下,来探究下样本数据量对模型拟合效果的影响趋势。这里假设以5项式回归模型为前提,分别定义不同规模的样本数据量,来依次训练拟合模型,然后通过模型误差指标MSE来量化评估模型性能,具体实现过程如图7所示,输出的可视化结果如图8所示。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图7 样本数据量对训练误差影响分析
编辑
添加图片注释,不超过 140 字(可选)
图8 样本数据量的训练误差可视化
图8结果展示了5项式回归模型的训练误差MSE随训练样本量增加而变化的分布情况,可以直观了解到,在样本量较少的场景下,模型的学习能力有限,导致模型的训练误差波动程度较大,但仍然可以表现出模型误差随样本数据量增大而下降的趋势。同时,随着样本数据量的不断增加,模型误差波动程度较小,且下降趋势更为直观。当样本数据量达到一定规模后,模型的训练误差将持续保持在一个较平稳的状态,此时样本数据量对模型性能影响程度较小。因此,在一定范围内,随着模型训练样本数据量的增加,模型的训练误差会呈现下降的趋势,在上图的模型MSE曲线可以直接得到体现。
在模型复杂度确定的场景下,模型训练误差随样本量增加而下降的原因,主要是较小规模的训练样本,难以体现出自变量与因变量的线性关系,使得机器学习模型不能真正学习到样本数据内在的联系,从而直接影响了模型的应用效果。
综合以上内容,我们先后通过模型的复杂度、样本的数据量这两个维度,具体分析了二者对模型训练拟合的影响效果。通过实例研究与结果对比,直观的了解到对应模型规律:
(1)随着模型复杂度的增加,模型的训练误差降低;
(2)随着样本数据量的增加,模型的训练误差降低。
当然,以上数据分析结果需要保证在一定合理的范围内,例如模型复杂度影响,需要保证较合理的样本数据量,而样本数据量的影响,需要以模型具有合适的复杂度为前提条件。在日常建模过程中,无论采用何种机器学习算法来建立相应模型,以上结论都是适用的,具体需要结合场景情况来构建并优化模型。
为了便于大家对以上内容的进一步了解与熟悉,本文额外附带了相关python代码与样本数据,详情请移至知识星球查看相关内容。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
更多详细内容,详细可关注:
编辑切换为居中
添加图片注释,不超过 140 字(可选)
...
~原创文章
还没有评论,来说两句吧...