训练集、验证集和测试集辨析

刚刚接触机器学习,对训练集、验证集和训练集的概念感觉十分迷糊,查询了一些资料,记录一下自己的理解。
以简单的Ridge回归为例子说明,损失函数模型如下:

\(J(\theta) = \frac{1}{2}(\textbf{X}\theta - \textbf{Y})^\mathrm{T}(\textbf{X}\theta - \textbf{Y}) + \frac{1}{2}\alpha\Vert x \Vert_2^2\)

在训练该模型需对超参数\(\alpha\)进行选择,传统的做法是将数据分为训练集和测试集,在训练集上训练模型应用一系列不同的\(\alpha\)得到对应的\(\theta\),然后再在测试集上评估每一个\(\alpha\)所对应的模型,选择最好的那个模型,然后继续再测试集上评价该模型的泛化能力,但此时测试集同时承担了选择超参数和验证泛化能力的“责任”,显然不太合理,这就引入了验证集上的概念,在训练集上训练处不同超参数对应的模型,再在验证集上评估择优(选择超参数),最后再在测试集上验证其泛化能力。

推荐一篇博客,解释的很清楚:https://blog.csdn.net/weixin_41712499/article/details/82882542

posted @ 2022-05-17 15:57  lcxxx  Views(69)  Comments(0Edit  收藏  举报