机器学习面试(一)
1、KNN中的K如何选取的?
答:如果选择较小的值,就相当于用较小的领域中训练实例进行预测,“学习”近似误差会减小,只有输入实例较近或相似的训练实例才会对预测结果起作用,于此同时带来的问题是“学习”的估计误差会增大,换句话说,K值的减小意味着整体模型变得复杂,容易发生过拟合;如果选择较大的值,就相当于用较大领域中的训练实例进行预测,其优点是可以减少学习的估计误差,但缺点是学习的近似误差会增大。这时候,与输入实例较远(不相似的)训练实例也会对预测器也会对预测器起作用,使预测发生误差,且K值的增大就意味着整体的模型变得简单。在实际应用中,K值一般选取一个比较小的数值,例如采用交叉验证法来选择最优的值。
2、防止过拟合的方法
答:early stopping(早停止):在训练中多次迭代后发现模型性能没有显著提高就停止训练;
数据集扩增、正则化L1、L2、交叉验证、特征选择/降维、BatchNormalization、dropout、控制决策树深度等。
3、机器学习中,为何要经常对数据做归一化
答:归一化加快了梯度下降求解最优解的速度;归一化可能提高精度。
4、归一化为什么能提高梯度下降法求解最优解的速度?
答:未使用归一化时,模型训练需要迭代很多次才能收敛;当时用了归一化时,使用梯度下降求解时能较快较准的收敛。
5、归一化有可能提高精度?
答:一些分类器需要计算样本之间的距离(如欧式距离、曼哈顿距离等)。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,可能实际情况是此时值域范围小的特征更重要,从而有可能提高精度。
6、归一化的类型。
答:a.线性归一化;b.标准差标准化;c.非线性归一化。