1)将所有数据集平均拆分成 5 份。
2)不重复地每次取其中一份作为测试集,用其他四份作为训练集训练模型,之后计算该模型在测试集上的均方误差(假设仍然是采用均方误差来度量性能),记作 $\mathrm { M S E } _ { i \mathrm { c } }$
3)将 5 次的 $\mathrm { M S E } _ { i }$ 取平均值作为整个模型的 MSE。
K折交叉验证方法的公式与 LOOCV 方法的公式在形式上是一致的,只是不再硬性地与集合的样本总数量相关,具体如下所示:
$$
\mathrm { M S E } _ { \mathrm { T O T A L } } { = } \frac { 1 } { K } \sum _ { i = 1 } ^ { K } \mathrm { M S E } _ { i }
$$
从操作步骤中可以看出,K折交叉验证其实是介于 Hold-Out 方法和LOOCV 方法之间的一种折中方法,它同时具有两者的优点和缺点,K值的选取本身就是一种计算成本和结果精度之间的权衡。K越大,每次投入训练集的数据就会越多,而当 K达到N时,K折交叉验证也就等同于 Hold-Out 方法了。一般来说,K值应设置在 5~10 之间。
6.8 本章小结
行文至此,读者已经学完了全书阅读难度最大的一个章节,从下一章起,本书将回归到以人物和事件来介绍人工智能重点分支的叙事风格上。尽管本章的难度与风格在全书中显得有些异类,但笔者仍然坚持将它放在整个机器学习部分的开篇,因为本章是现今极为热门的机器学习技术和学科分支的综述,笔者在有限的篇幅里面,试图尽可能通俗地解答“机器学习是什么”“它能解决哪些问题”“它通过哪些步骤来解决问题”以及“如何验证、评估它的解决效果”这四个基本问题。分析这些问题,也是为了让读者站在一个全局的高度上看清楚机器学习这门技术的全貌,而不是一接触机器学习,马上就去研究具体的学习算法,过快地陷入“具体应该如何去做”的细节之中。
236
第三部分 第三波高潮