《scikit-learn机器学习常用算法原理及编程实战》—3.5 算法模型性能优化
【摘要】 本书摘自《scikit-learn机器学习常用算法原理及编程实战》一书中的第3章,第3.5节,编著是黄永昌 .
3.5 算法模型性能优化
当我们辛苦开发出来的机器学习算法不能很好地预测新数据时,该怎么办呢?一般情况下,需要先判断这个算法模型是欠拟合还是过拟合?
如果是过拟合,可以采取的措施如下。
* 获取更多的训练数据:从学习曲线的规律来看,更多的数据有助于改善过拟合问题。
* 减少输入的特征数量:比如,针对书写识别系统,原来使用200×200的图片,总共40000个特征。优化后,我们可以把图片等比例缩小为10×10的图片,总共100个特征。这样可以大大减少模型的计算量,同时也减少模型的复杂度,改善过拟合问题。
如果是欠拟合,说明模型太简单了, 需要增加模型的复杂度。
* 增加有价值的特征:重新解读并理解训练数据。比如针对一个房产价格预测的机器学习任务,原来只根据房子面积来预测价格,结果模型出现了欠拟合。优化后,我们增加其他的特征,比如房子的朝向、户型、年代、房子旁边的学校的质量(我们熟悉的学区房)、房子的开发商、房子周边商业街个数、房子周边公园个数等。
* 增加多项式特征:有的时候,从己知数据里挖掘出更多的特征不是件容易的事情,这个时候,可以用纯数学的方法,增加多项式特征。比如,原来的输入特征只有x1,x2,优化后可以增加特征,变成。这样也可以增加模型复杂度,从而改善欠拟合的问题。回顾上一节的例子,当用一阶多项式拟合数据集时,使用的只有一个特征,而最终我们用三阶多项式来拟合数据时,用的其实就是增加多项式特征这个方法。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)