购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 机器学习的核心要义

通过第1讲的学习,读者已经掌握了基本的BP网络的搭建方式。为了提高网络性能,读者很容易想到的做法是使用更多、更深的隐藏层。那么神经网络的隐藏层越多、网络越深,是不是神经网络的表现就越好?相信有着机器学习敏锐嗅觉的读者肯定会说不。若是神经网络隐藏层越多,模型效果就越好,那我们哪里还需要担心数据量不够、数据预处理、网络结构和超参数调优等问题呢,直接加隐藏层就好了,显然加深网络并不是好主意。虽然较多的隐藏层能够提取输入不同层次的特征,最大限度地拟合输入数据,但是在数据量一定的情况下,盲目加深隐藏层必然导致模型效果变差,模型变差的直接原因便是过拟合。所以,在探究深度神经网络的性能之前,先来好好梳理一下机器学习中的核心问题之一:如何防止过拟合?

下面先来看一下有监督机器学习的核心哲学。总体来说,所有的有监督机器学习都可以用如下公式来概括。

式(2.1)便是有监督机器学习中的损失函数计算公式,其中第一项为针对训练数据集的经验误差项,也就是常说的训练误差;第二项为正则化项,也称为惩罚项,用于对模型复杂度的约束和惩罚,正则化项的具体形式稍后详细阐述。因此,所有的有监督机器学习的核心任务就是正则化参数的同时最小化经验误差,多么简约的哲学啊!在各类机器学习模型中,其中的差别就是不断改变经验误差项。不信你看:当第一项经验误差项是平方损失(Suqare Loss)时,机器学习模型便是线性回归;当第一项变成指数损失(Exponential Loss)时,模型则是著名的Adaboost(一种集成学习树模型算法);而当第一项为合页损失(Hinge Loss)时,模型便是大名鼎鼎的SVM了!

综上所述,第一项经验误差项很重要,它能不断地改变模型形式,在训练模型时要最大限度地把它变小。但在很多时候,决定机器学习模型生死的关键通常不是第一项,而是第二项正则化项。正则化项通过对模型参数施加约束和惩罚,让模型时时刻刻保持被过拟合的警惕。所以,这里再回到前文提到的有监督机器学习的核心任务:正则化参数的同时最小化经验误差。通俗来说就是训练集误差小,测试集误差也小,模型有着较好的泛化能力;或者是模型偏差小,方差也小。

但是很多时候模型的训练并不如我们所愿。如果你是一名在机器学习领域摸爬滚打已久的选手,想必你更能体会到模型训练的艰辛和使训练集、测试集误差同时小的不容易。很多时候,我们都会把经验误差,也就是训练误差降到极低,但模型一到测试集上,瞬间天崩地裂,模型表现一塌糊涂。这种情况便是本讲要探讨的主题:过拟合。所谓过拟合,是指在机器学习模型训练过程中,模型对训练数据学习过度,将数据中包含的噪声和误差也学习了,使得模型在训练集上表现很好,而在测试集上表现很差的一种现象。再回顾一下第1讲中的说法,机器学习简单而言就是归纳学习数据中的普遍规律,一定得是普遍规律,像这种将数据中的噪声也一起学习了的,归纳出来的便不是普遍规律,那就是过拟合。欠拟合、正常拟合与过拟合的表现形式,如图2.1所示。

图2.1 欠拟合、正常拟合与过拟合的表现形式

鉴于过拟合的普遍性和关乎模型的生死性,可以认为,在机器学习实践中,与过拟合做长期坚持不懈的斗争是机器学习的核心要义。而机器学习的一些其他问题,诸如特征工程、扩大训练集数量、算法设计和超参数调优等都是为防止过拟合这个核心问题而服务的。 OdrZypTvAgjsQkjXU5vEObhXguvZhvFPrfZzZgZ5rSWiORSgt3JR1R0ZIXrqJw/b

点击中间区域
呼出菜单
上一章
目录
下一章
×