1. 怎样评估一个机器学习算法的好坏?
机器学习的目的就是为了能够让先前未观测到的数据在训练模型上有良好的表现。这种在先前未观测到的输入上表现良好的能力称为泛化(generalization)。所以,泛化能力越强的模型对应的算法越好。
2. 泛化误差具体怎样表达?
通过度量模型在测试集上的性能,来评估机器学习模型的泛化误差。所以,模型在训练的过程中是最小化训练误差,而我们关注的是测试误差(泛化误差)
3. 什么是欠拟合、过拟合?
欠拟合(underfitting):模型不能在训练集上获得足够低的误差。
过拟合(overfitting):训练误差和测试误差之间的差距太大。
欠拟合和过拟合也可以用偏差和方差来解释,欠拟合的时候偏差会比较大,偏差描述的是模型的期望输出与真实输出之间的差异;过拟合的时候方差会比较大,方差刻画了不同训练集得到的模型的输出与这些模型期望输出的差异
4. 为什么过拟合现象比较常见?
假设某一数据集其对应的模型为‘真’模型,而我们往往是通过提高模型的复杂度来避免欠拟合现象的产生,同时又很难把网络设计成和‘真’模型一样,所以就会因为网络模型复杂度太高而产生过拟合。
5. 机器学习中如何解决欠拟合?
调整模型容量,模型容量是指其拟合各种函数的能力。比如,增加新特征。
6. 机器学习中如何解决过拟合?
1) 合适的模型(simpler model structure)
2) 正则化(regularization)
3) 数据增强(data augmention)
4) 随机失活(Dropout)
5) 批规范化(batch normalization)
6) Bagging和其他集成方法
7) 提前终止
8) 微调(fine-tuning)