当你在应用机器学习时你应该想什么.PDF

当你在应用机器学习时你应该想什么.PDF

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
当你在应用机器学习时你应该想什么

当你在应用机器学习时你应该想什么 张皓 zhangh0214@ 如今, 机器学习变得十分诱人, 它已在网页搜索, 商品推荐, 垃圾邮件检测, 语音识别, 图像识别, 自然语言处理等诸多领域发挥重要作用. 和以往我们显式地通过编程告诉计算 机如何进行计算不同, 机器学习是一种数据驱动方法(data-driven approach). 然而, 有 时候机器学习像是一种魔术, 即使是给定相同的数据, 一位机器学习领域专家和一位新 手训练得到的结果可能相去甚远. 本文简要讨论了实际应用机器学习时九个需要注意的重 要方面. 我该选什么学习算法? 这可能是你面对一个具体应用场景想到的第一个问题. 你可能会想机器学习里面这么 多算法, 究竟哪个算法最好. 很不幸的是, 没有免费午餐定理(No Free Lunch Theorem)告诉我们对于任意两个学习算法, 如果其中一个在某些问题上比另一个好, 那么 一定存在一些问题另一个学习算法更好. 因此如果考虑所有可能问题, 所有算法都一样好. 好吧, 你可能会接着想, 没有免费午餐定理假定所有问题都有相同机会发生, 但我 只关心对我现在面对的问题, 哪个算法更好. 又很不幸的是, 有可能你把机器学习里面 所谓十大算法都试了一遍, 然后感觉机器学习这东西根本没用, 这些算法我都试了, 没 一个效果好的. 前一段时间约战比武的话题很热, 其实机器学习和练武术有点像, 把太 极二十四式朝对方打一遍结果对方应声倒下这是不可能的. 机器学习算法是有限的, 而现 实应用问题是无限的, 以有限的套路应对无限的变化, 一定是会存在有的问题你无法用现 有的算法解决的, 岂有不败之理? 因此, 该选什么学习算法要和你要解决的具体问题相结合. 不同的学习算法有不同的 归纳偏好(inductive bias), 你使用的算法的归纳偏好是否适应要解决的具体问题直接决定 了学得模型的性能, 有时你可能需要改造现有算法以应对你要解决的现实问题. 我该选什么目标函数? 目标函数用于刻画什么样的模型是好的, 和选择学习算法一样, 选什么目标函数也要 和具体问题相结合. 大部分的教材和文献重点在呈现算法, 对目标函数和优化方法的选择 通常使用缺省值. 以分类问题为例, 我们缺省地优化分类均等代价(cost)下的错误率. 但是 在你所要解决的问题中, 问问自己这些问题:  你真正关心的是错误率吗(比如还有查准率(precision), 查全率(recall)等其他指标)?  数据中有没有类别不平衡(class-imbalance)的现象(比如信用卡欺诈检测中, 欺诈用 户数远小于正常用户数)?  不同类型错误所造成的损失是一样的吗(比如医疗诊断中, 错误地把患者诊断为健康人 与错误地把健康人诊断为患者的代价截然不同)?  还有没有其他类型的代价(除了误分类代价外, 还有测试代价, 标记代价, 特征 (feature)代价等)? 除此之外还有其他的一些问题. 这些问题存不存在, 要不要考虑, 该怎么考虑都是和你要处 理的实际问题有关, 最终体现在你的目标函数之中. 我该选什么优化方法? 我是谁? 我从哪里来? 我往哪里去?是哲学里避不开的三个问题, 而选什么算法? 选什么目标函数? 选什么优化方法?是机器学习里经常遇到的三个问题, 这三者的组合就 构成了一个机器学习解决方案基本框架. 通常, 我们使用现有的数值优化方法对目标函数 进行优化, 比如梯度下降(gradient descent), 牛顿法等. 但是当目标函数非凸(non-convex), 有多个局部极小(local minima)时, 选什么优化 方法会对结果产生直接影响. 比如深度学习中通常目标函数有多个局部极小, 使用不同的 参数初始化方法(如高斯(Gaussian)随机初始化, Xavier初始化, MSRA 初始化等), 不同的 优化方法(如SGD, 带动量(momentum)的SGD, RMSProp, ADAM等), 或不同的学习率 (learning rate)策略等, 都会对结果有很大影响. 另一方面, 即使目标函数是凸函数, 设计合适的优化方法可能会使你的训练过程有质 的飞跃. 比如SVM 的优化是一个二次规划(quadratic programming)问题, 可以通过调 用现成的QP 软件包

您可能关注的文档

文档评论(0)

shaofang00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档