模型的选择
将现实的问题映射到这四个大类,比如,搜索排序的问题,可以转化为“点击”“不点击”的分类问题,逻辑回归分类的输出是概率,就可以根据这个概率实现排序。
复杂的模型,如深度学习、SVM,需要很多的数据来喂饱他,数据量太小的话,会容易过拟合。到底多少的数据量能够满足深度学习的要求呢?这个没有标准答案,还需要看你数据的分布是怎样的。
模型选择跟数据形态有关系,文本、多媒体、还是结构化数据?比如文本数据,可以用朴素贝叶斯。
即 超参数 的选择。
比如选用多项式回归,那么选择多少阶呢?
试试不同的超参数,然后评估效果的好坏来验证。
常用的调参方法是: 网格搜索+交叉验证
K折交叉验证的意思是,把测试数据切成K份,每次用其中一份作为验证集,其他的数据用来训练。
可以用K折交叉验证,也可以直接切出验证集(留出法)。
比赛中用K折交叉验证比较多,因为数据集是有限的,需要充分利用。而工业中直接切出验证集比较多,因为工业中的数据量大,根据大数定理,验证集能够代表整体。
交叉验证是一种评估模型和超参数的方式,不是用来调参的。交叉验证的K个模型最后都不会直接用,流程是:
1、选一组超参数(或选一种模型)。
2、然后进行K折交叉验证,发现使用这组参数(或这个模型)的时候,这K个模型的准确度比较好,就确定使用这组超参(或模型)。
3、然后用全量的数据来训练出真正要用的模型。
2024-06-11 广告