前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优化机器学习算法的方法总结

优化机器学习算法的方法总结

作者头像
讲编程的高老师
发布2021-03-03 11:19:33
3820
发布2021-03-03 11:19:33
举报

本文是吴恩达《机器学习》视频笔记第65篇,对应第6周第7个视频。

“Advice for applying machine learning:——Deciding what to try next (revisited)”

01

笔记

前面已经学习了如何评价学习算法,讨论了学习算法的偏差、方差,学了学习曲线。那所有这些东西怎样帮助我们改进我们的学习算法呢?通过这一小节一起总结一下。

我们设计的算法如果不好,那它会有一些不符合我们预期的表现。比如较高的偏差,或者较高的方差等。那出现这些情况的时候我们该做一下怎样的改进呢?

算法不理想的时候我们能做的一些尝试

还是看看以前卖房子的例子,假设你设计的房价预测算法很不理想,那该怎么做呢?你可能会有很多种选择:

  1. 收集更多的训练样本,扩大训练集;
  2. 减少特征数量,去除一些和结果不相关的特征;
  3. 增加特征数量,增加一些可能和结果相关但是被忽略的特征;
  4. 增加多项式特征,比如某个特征的平方、或两个特征的乘积等;
  5. 减小正则化系数\lambda
  1. 加大正则化系数\lambda

如果上面可能选择的工作都做一遍的话,显然会耗费大量时间和精力。那到底怎样做才算有的放矢呢?这就要结合算法在交叉验证集或测试集上的具体表现来选择合适的改进方案。

  1. 收集更多的训练样本,扩大训练集;——往往用来解决高方差问题
  2. 减少特征数量,去除一些和结果不相关的特征;——往往用来解决高方差问题
  3. 增加特征数量,增加一些可能和结果相关但是被忽略的特征;——往往用来解决高偏差问题
  4. 增加多项式特征;——往往用来解决高偏差问题
  5. 减小正则化系数;——往往用来解决高偏差问题
  6. 加大正则化系数 ;——往往用来解决高方差问题

高方差和高偏差的问题可以看看上一个关于”学习曲线“的介绍。

神经网络和过拟合问题

下面介绍一些神经网络优化方面的有益经验。

神经网络的优化主要是对其结构的优化,输入、输出的选择,中间层神经元个数的确定、隐藏层的设计等。

当你使用神经网络解决一些问题的时候,有两种选择,用比较简单的网络或用比较复杂的网络:

但是小网络容易出现欠拟合,而大网络容易出现过拟合且运算量会非常大。那咋办呢?

如果你经常使用神经网络的话,你会发现往往神经元个数越多的网络可能效果越好,如果出现过拟合的话可以使用正则化项进行修正。

另外一个要处理的是选择隐藏层的个数,用3个还是2个?这是一个问题。这个时候就可以把你的训练数据拆分成训练集、交叉验证集、测试集三个子集,然后变换隐藏层的个数,再看不同隐藏层个数的网络在验证集上的表现来进行隐藏层的设定。

02

视频

http://mpvideo.qpic.cn/0bf2mubxeaad7aadlq5o5bpvgzodojsqg4qa.f10004.mp4?dis_k=a2d7519f697faf2bc29ea039bd2a9671&dis_t=1614741551&spec_id=MzAxMDYwMTc4Nw%3D%3D1614741551&vid=wxv_1603890288136093699&format_id=10004

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 讲编程的高老师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 算法不理想的时候我们能做的一些尝试
  • 神经网络和过拟合问题
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档