你实践中学到的最重要的机器学习经验是什么?

在知乎看到「你实践中学到的最重要的机器学习经验是什么?」这个问题,相信经验对于许多刚准备入门机器学习的同学来说是必不可少的,因此AI研习社选取了3个精华回答给到大家~如果你也有好经验,欢迎在本篇文章留言或移步社区讨论(http://t.cn/RYYgrSy)。

@宋一松(http://t.cn/RYMBkBB)说:

如果是说工业界的实践的话,我觉得最重要的经验是:

永远重视造工具

Best Engineer Builds Tools

在机器学习领域,好的工具包括但不限于:

  • 可以方便地添加新数据,新feature,且多人可以同步进行互不干扰
  • 可以快速地训练出一个新模型
  • 可以一键部署模型到生产环境,做A/B测试
  • 可以实时看到A/B测试结果,什么指标涨了什么跌了
  • 可以立刻做深入分析,发现什么情况下新模型表现得好,什么情况下不行
  • 可以快速地循环反复上述步骤

为什么这很重要?因为这决定了你是可以三天做一次迭代还是三周做一次,还是三个月

机器学习有其玄学的一面。面对这种不确定性,一个粗暴却有效的手段就是多试,快速迭代。但很多人根本快不起来。他们把大量时间浪费在了setup和等待上。setup数据,setup模型的训练,等待模型的训练,setup实验,等待实验的结果。

如果你迭代的周期是别人的五倍,那你需要比别人准五倍才能拉平。这还是假设大家都是单线程的情况下。如果别人的工具足够好,可以同时起五个实验,你要怎么办,比别人准二十五倍?

实际工作中,我见过弱团队用好工具,却没见过强团队用差工具。

Best Engineer Builds Tools.

@李韶华(http://t.cn/RYMrzPG)说:

理解模型的基本假设,看自己的数据是否符合这种假设。任何模型都是有某种假设的,如果数据不符合这种假设,就不太可能学出有意义的模型并用于预测。

比如LDA(主题模型),假设是在同样一批文档中经常共现的词,语义上往往是相关的。这种特性不仅在自然语言中成立,在一些领域,比如每个人经常访问的网址集合,可能也是成立的,所以LDA也可以拿过去用。但如果数据不符合这个特性,套用LDA就是没有意义的,比如每个球队里的队员,可能并没有因为属于一个球队而具有什么相似性。

再举个例子,CNN(卷积神经网络),它的基本假设是特征的不同维度之间有局部相关性,卷积操作可以抓住这只局部相关性,形成新的特征。比如自然语言里,有重复出现的bigram,或者图像里代表性的局部像素块。不满足这种局部相关性的数据,比如收到的邮件序列,这种局部相关性很弱,那用CNN就不能抓到有用的特征。

最后,高斯copula,在量化金融里曾被广泛使用,把债券之间非高斯的相关性用copula转化成高斯然后拟合。然而这个模型隐含的假设是这种相关性符合瘦尾分布(thin tailed distribution),即罕见事件发生的概率非常非常低。这个不合理假设导致对黑天鹅事件概率严重低估,曾被视为2008年金融危机的根源之一。

@赵耀(http://t.cn/RYMrLuv)说:

0:不要恐慌。这一点并不跟任何机器学习技能有关,但极其重要。某种意义上机器学习是一个算法即是正义,特征即是真理,参数维护自由,命中全靠信仰的游戏。它是很强大,能让很多曾经看来不可能的事情发生。但同时,有太多可能会出错,而这些错误很有可能同时发生。总之,辛辛苦苦调好一个算法,跑了一天,运行出来的结果跟瞎猜差不多是非常正常的事。然后就需要各种各样的(玄)tricky (学)parts来拯救世界。此时就是检验信仰的时候了,请相信你的算法。问题可能是训练集太小,预处理不好,参数初始化位置不对,学习率过大,甚至是梯度打错了一个字符等等等等。总之,他们是可以被解决的。不要恐慌,保持耐心,控制变量,逐步解决。终于,等到凌晨四点,或者若干天之后的凌晨四点,当有意义的结果和日出同时到来,你会被莫大的幸福感所淹没。此时请到窗边伸展双臂摆一个Y字。Long May The Sunshine!

1:确定所有的输入都是足够有意义的。前面有很多答案都强调了训练样本的问题,非常对。以我的本行,脑机接口(http://t.cn/RqWibBL)举例。我们要让电脑理解猴子的想法,进而达到猴子脑控机械的目的。那么我们的输入是什么呢?显然,直接来自运动皮层的脑电信号肯定是要的。然而别的信号,比如房间的温度,猴子的年龄,大圣昨天吃的是黄桃还是橘子,大圣跟六耳最近是相处愉快还是非常想打一架,今天作为奖励的苹果汁是不是无糖的。这些都有可能影响到猴子的想法。但我们要把这些都作为解码器的输入吗?当然不是。通常情况下,我们只要来自运动皮层的神经冲动。而且在训练的时候,我们要给猴子足够的奖励,以确保它专心于任务。这样得到的训练样本才是有意义的。

2:预处理。这一点跟上一点都是为了保证进算法之前,我们能拿到描述这一事物的足够好的特征(feature)。还是接上面的例子。我们有了来自运动皮层的脑电信号。初始每个电极提供一个高频采样的电压值,我们是不是可以直接拿这个电压序列开始拟合呢?最好不要,我们要滤掉电压信号中跟神经冲动无关的部分,分清楚这些神经冲动分别来自于哪些神经元,最后用神经元的发放率(firing rates)来作为解码的输入。

3:不要迷信算法。说机器学习很玄学是在吐槽,它本身并不是巫术。还是延续这个例子,很多时候,预处理也是一串数学变换。既然有在非线性情况下也能应用的很好的算法,我们为什么还要预处理呢?直接全扔进去让神经网络一层一层自己捏呗?最好不要,且不说相当多问题都没有对深度学习而言足够数量的训练样本。即使是真有,这么做也并不会减少工作量,反而会在日复一日的调参数中变成科比。另一方面的问题是,我们认真选了feature,有了足够干净的输入,那是不是用更复杂的算法会有更好的结果呢?高概率不是。如果简单的模型可以产生能接受的结果,那么没有必要进一步复杂化。原因简而言之:没有什么算法的外推比得上线性模型。

4:想清楚结果的评价标准。这一点相对宽泛,比较常用的是结果的计算精度和在线计算所需要的时间之间的取舍。但并不仅限于此,一个好的评价标准可以使一个模型变为state of art,比如脑机接口领域的ReFIT Kalman Filter(http://t.cn/RYMgUAq)

当然,即使做到了以上四点。搭出模型之后还是需要相当长,枯燥,玄幻的调整,才能最终有效工作。这时请牢记最上面的第0条。保持冷静,五月四日与你同在。

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2017-12-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

简单有效的多标准中文分词

-欢迎 加入AI技术专家社群>> 本文介绍一种简洁优雅的多标准中文分词方案,可联合多个不同标准的语料库训练单个模型,同时输出多标准的分词结果。通过不同语料库之间...

2787
来自专栏新智元

【1996~2016】盘点 20 年 AAAI 人工智能最佳论文

【新智元导读】新智元汇集计算机科学领域1996年到2016年人工智能领域最佳论文,附上题目及摘要的中文翻译,并对这些作品进行系统考察,从中可以看出人工智能这门学...

4489
来自专栏美团技术团队

强化学习在美团“猜你喜欢”的实践

“猜你喜欢”是美团流量最大的推荐展位,位于首页最下方,产品形态为信息流,承担了帮助用户完成意图转化、发现兴趣、并向美团点评各个业务方导流的责任。经过多年迭代,目...

3144
来自专栏AI研习社

IJCAI 2018 广告算法大赛落下帷幕,Top 3 方案出炉

雷锋网 AI 研习社消息,IJCAI-18 阿里妈妈搜索广告转化预测比赛近日落下帷幕,本次比赛为阿里妈妈与 IJCAI2018、天池平台联合举办,总奖池 370...

1523
来自专栏数据派THU

资源 | 25个深度学习开源数据集,have fun !

2725
来自专栏专知

【干货|如何打开黑盒子模型?】41页最新机器学习可解释模型综述论文,143篇参考文献,2300次下载

【导读】最近一期的计算机顶级期刊ACM Computing Surveys (CSUR)出版,包含了来自意大利比萨大学的研究人员发布的一篇构建机器学习可解释性综...

1595
来自专栏全栈数据化营销

品牌知觉图:精准找到空白市场定位,数据化衡量品牌效果

如何知道自己品牌留给客户的是什么印象呢?如何印证品牌推广和塑造的效果呢?如何有效寻找在品牌建设中的空白点和机会点呢? 这次就介绍在品牌建设中会经常用到的品牌知觉...

43211
来自专栏Vamei实验室

信号与频谱

信号(singal)简介 我们在生活中经常遇到信号。比如说,股票的走势图,心跳的脉冲图等等。在通信领域,无论是的GPS、手机语音、收音机、互联网通信,我们发送和...

2169
来自专栏AI科技评论

学界 | 一窥 ACL 2018 最佳论文

AI 科技评论按:随着定于 7 月 15 日的开会日期逐渐临近,自然语言处理顶会 ACL 2018 继公开了接收论文名单之后,今天也公布了包含 3 篇长论文 与...

1085
来自专栏腾讯高校合作

盘点2016-2017 EDA及芯片领域的神经网络热点论文

我们结合2017年的 FPGA 和 ISSCC 会议上的代表性工作,给出了神经网络的一些新热点和研究趋势。

42215

扫码关注云+社区

领取腾讯云代金券