03模型的选择?

示例:

维度非常高(1000多维度),并且每个维度都很重要,数据量很少,是调查结果,只有近万份,数据是很稀疏的,基本上是连续值。

在这种情况下,如何选择模型?为什么?

1. 尝试用线性分类器,比如SVM、LR等,看训练误差和测试误差的差异,这个时候可能出现多种情况:

   1)  如果训练误差远小于测试误差,说明分类器已经过拟合了,考虑如何避免过拟合;

   2)如果训练误差与测试误差差不多,但是测试误差太大,说明模型复杂度很可能不够;

   3)如果训练误差与测试误差差不多,而且测试误差已经足够小,结束。

针对(1),这个时候产生了严重的过拟合现象,意味着样本的数目不够,一般我们无法补充样本。

  • 考虑如何采用提高泛化能力,如果数据没有很特别的性质(系稀疏、低秩等),可以考虑添加正则化项,比如L2正则化,来限制参数的大小,降低模型的复杂度,提供模型 的泛化能力;
  • 考虑数据降维,如主成分分析PCA、线性判别分析LDA等;


降维的目的有二,一个是为了对数据进行可视化,以便对数据进行观察和探索;另外一个目的是简化机器学习模型的训练和预测。

针对(2),可以采用更加复杂的模型,比如带隐变量的模型,比如神经网络,还可选择决策树以及组合类的方法GBDT、随机深林(Random Forest)等,针对不同的情况选择合适的模型之后,观察现在的训练误差和测试误差。

参考:https://blog.csdn.net/rosefun96/article/details/78800869?utm_source=blogxgwz2

原文地址:https://www.cnblogs.com/zhaopengpeng/p/12255348.html