算法岗常见面试题(三):欠拟合和过拟合

欠拟合

欠拟合是指模型不能在训练集上获得足够低的误差,即,模型在训练集上表现很差,没有学习到数据背后的规律。

解决欠拟合的方法

  • 添加新特征,挖掘“上下文特征”、“组合特征”
  • 增加模型复杂度
  • 减少正则化系数

过拟合

训练误差和测试误差之间的差距太大,即,模型在训练集上表现很好,但在测试集上表现很差,模型泛化能力差。

如何判断过拟合

可以通过查看训练集误差和验证集误差的方式查看过拟合,如果训练集误差和验证集误差差距大,训练集误差在下降,而验证集误差在上升,则可能是过拟合了。

解决过拟合的方法(大华一面)

  1. 交叉验证,通过交叉验证得到较优的模型参数
  2. 特征选择,减少特征数或者使用较少的特征组合,对于按区间离散化的特征,增大划分区间。(当样本特征数很多,而样本数很少的时候,很容易陷入过拟合。可以以多元方程式为例,样本少时,如果方程式中的参数越多,越容易过拟合。)
  3. 正则化,常用的有L1、L2正则。而且L1正则化可以自动进行特征选择;如果有正则项可以考虑增大正则项参数lambda。
  4. 增加训练数据可以有效的避免过拟合。减少了噪声的影响。
  5. bagging,将多个弱分类器bagging一下效果会更好,比如随机森林等。
  6. 随机森林:由多个决策树组成,每个决策树不相同。
  7. 随机:
  8. 样本随机 - 构建决策树时使用重采样;
  9. 特征随机 - 不会使用数据的全部特征。
  10. 优点:善于处理特征遗失数据、不平衡数据、高维数据
  11. 降低模型复杂度。

正则化为什么可以解决过拟合

主要原理是通过引入权重参数来限制模型复杂度,从而提高模型的泛化能力。正则化可理解为是一种“罚函数法”,即对不希望得到的结果施以惩罚,从而使得优化过程趋向于希望目标。

为什么提前停止可以解决过拟合问题

【AI学习之深度学习系列---提前终止_laojiangseu的博客-CSDN博客_提前终止算法】

提前终止是指:在测试误差开始上升之前,就停止训练,即使此时训练尚未收敛(即训练误差未达到最小值)。

#算法面经#
全部评论
你大华是啥时候面试的
点赞 回复 分享
发布于 2023-03-26 12:18 湖北
楼主你应该就是做算法岗的吧
点赞 回复 分享
发布于 2023-03-26 12:42 浙江

相关推荐

爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
09-26 20:06
点赞 评论 收藏
分享
3 16 评论
分享
牛客网
牛客企业服务