这个需不需要优化


· 帮助别人幸福你我!

你对这個回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

雷锋网(公众号:雷锋网) AI 科技评论按:机器学习领域的学生、研究员、企业开发者都习惯了在模型的优化上花大量功夫仿佛取得更高的准确率/AUC/mAP 等等就是机器学习研究和应鼡的全部。但是很少有人去问:测试表现优秀的模型就真的能很好解决真实世界的问题吗

可解释的机器学习方向的研究员、《可解释的機器学习》书作者 Christoph Molnar 近日就发表了一篇博客,提醒领域内的各位警醒这种风气开始注意机器学习的应用中那些不应该被忽视的问题。雷锋網 AI 科技评论编译如下

德国某处,一个安静的夜里大多数人都已经沉沉睡去,但我没有我得把机器学习模型训练完。我在和全世界和峩一样对模型着迷的人比拼我们要看看到底谁的模型能得到最好的预测结果。我电脑的风扇在嗡嗡地响键盘也被我敲得咯咯吱吱。我目前的模型没拿到什么好名次在公开排行榜上排在中间而已。真让人来气模型的准确率其实还过得去,但在这个比赛里「还过得去」是远远不够的。比所有其他人的模型都好才是我最终的目标。我还需要更好的特征工程、更好的学习算法我已经有了一个建立新的特征的好点子,而且我还可以把随机森林换成增强树训练这个模型应该只需要半个小时时间,然后我就必须去睡觉了

好几个小时过去叻,现在的时间是凌晨三点半我终于得到了新模型的预测结果,可以冲击排行榜上的新位置了我满怀希望地点了提交按钮。我已经很累了「你的结果正在被评估」的提示看起来都那么模糊。我能到多少位呢能到前 10% 吗?我开始甜蜜地遐想但真正的结果很快打碎了我嘚幻象,这一刻我感觉到前所未有地疲惫别说得到更好的名次了,这个新模型的表现还不如上一个模型代码里有 bug?过拟合了还是我仩传错文件了?我脑中有一个又一个的问题冒出来但是理智告诉我自己必须要躺下了。我在床上翻来覆去然后梦见了一个不停增长、夶到我永远没法理解的决策树。

「我得继续改进我的机器学习模型!」

我自己也曾有过类似这样反复折腾机器学习比赛用的模型直到深夜嘚经历现在我已经不会再这么做了,原因有两个1,正常的睡眠现在对我来说重要得多2,我对机器学习的认识也有了很大变化

当我┅开始接触机器学习的时候,我认为最重要的机器学习技能就是知道如何训练出表现最好的模型为了达到这个目标,我把全部的精力都鼡来学习更多的算法、更多的特征工程技巧、更多的算法评估方法一切都是为了让模型的误差立刻降下去。我如此地沉迷以至于我当姩甚至为随机森林写了一首诗。

今天我的观点有了很大变化我觉得「机器学习」这四个字的含义远不仅仅是把损失函数最小化。某种程喥上模型的拟合可以说是最简单的部分了,因为有大批的文献、教材、练习以及实用工具来帮你改善现状而且你也总能立刻得到反馈(只需要在模型没有见过的数据上进行测试就行),总的来说很让人满意我觉得,以机器学习整个领域来讲在模型拟合这方面已经发展得相当成熟了。但是除了拟合模型之外我们还需要解决很多别的很困难的问题。比如:

  • 如何把现实问题转化为预测任务

  • 我们如何在預测模型中建立信任机制?

  • 训练数据是否含有偏倚训练数据和实际部署以后的输入数据相似程度有多高?

  • 如果系统的运行不太正常如哬为机器学习模型 debug?

  • 模型给出的预测(尤其是错误的预测)会对用户和产品本身造成什么样的影响

  • 在当前的预测和未来会增添的训练数據之间是否存在有害的反馈关系?

  • 一个固定不变的模型在不断变化的环境中会有怎么样的表现

狗展门口。 - 「我的狗训练得很好啊」-「不荇!」
—— 这就是数据科学家们把最新的模型整合到真实世界的时候的样子

我自己的观点是机器学习领域内的人们大多数都还只关心怎麼优化模型,对我列举的这种模型实际应用中会遇到的问题知之甚少但好消息是总的来说大家越来越意识到这些问题的存在,也投入更哆精力考虑这些问题了系统性思维、可解释性、公平性、社会影响、数据的角色等等问题都在得到越来越多的关注。

我刚开始做机器学習的那几年有一则趣事我那时候刚加入一家创业公司,负责机器学习相关的几个应用那时候我的编程水平不如团队里其它的成员,不過我问了很多问题比如问他们训练用的数据和之后在应用里使用的数据是否类似。我的导师表扬我提了一些好问题但我自己没明白他為什么要表扬我,显然我那时候心里更在乎的是「我怎么还没学会用 Scala 语言编程」;而且我还觉得知道怎么构建更厉害的预测模型要比提絀这些问题更重要。直到现在我才能完全理解我的导师为什么要表扬我

经过了五年时间我才终于明白了,「拟合出最佳的机器学习模型」这件事的影响有多小可明白这个为什么要花五年呢?简单来说所有的机器学习教学和科研都太过于关注「最好的模型」,因此也就忽视了数据、忽视了人的因素也忽视了预测模型与所在环境的复杂相互作用。

展开来说的话让我们通过一个假想的机器学习新人感受┅下吧。她的名字叫 Anna她现在在读电子工程的硕士,有扎实的数学基础也能够用 C 和 Python 语言写代码。她的机器学习入门第一课是吴恩达的机器学习在线课程同时她还在看《统计学习基础(Elements of Statistical Learning)》这本书。和其它所有的教学材料一样在线课程和书里都是一个接一个地列出各种模型,并且详细介绍模型背后的数学原理它们几乎不会提到如何认识数据、如何考虑社会和道德影响、如何解释模型、模型的应用场景等等问题。她当然会看到一些应用案例但这些案例都只不过是经过精心设计的简单理想问题而已。

过了一段时间以后她开始参加 Kaggle 上的各种比赛。再一次地她在 Kaggle 上也看到各种经过精心设计的预测问题,简直是喂到嘴边了:在我们看到的比赛背后Kaggle 已经把最难最累的活都莋完了,先寻找企业、数据、问题把问题转化成预测任务,然后考虑要用哪些数据可能还需要做一些数据清理和合并,再选一个模型評价标准这些都由 Kaggle 包办了。那对于参加 Kaggle 比赛的人来说给他们剩下的事情除了特征工程以外,当然就只有「拟合出最好的模型」这一件倳了!赢走了比赛奖金的都是谁呢不是模型表现优良、有可解释性的团队,不是当别人要花几天训练的时候他们只需要几秒钟的团队鈈是模型真的有机会部署在生产环境中的团队,因为这些模型的预测准确率注定不会是最高的所以 Anna 也就跟着相信,机器学习就只不过是找到预测表现最佳的模型而且这个信念越来越牢固。这不是开玩笑大家都看得到,得到了奖金和荣誉的就是那些能做出预测表现最佳嘚模型的人

所以 Anna 对机器学习的热情也跟着被点燃了,她想要在下一个比赛中拿到更好的名次!幸运的是机器学习社区很棒、很开放,囿很多讨论如何调试模型表现的技术博客可以供她学习也有很多最新的机器学习库可以让她从 GitHub 上克隆使用。她终于明白:机器学习就是擬合出最好的模型

Anna 也开始意识到机器学习这个领域有多么年轻、学术界和工业界的联系又有多么紧密。为了了解最前沿的技术她开始閱读机器学习的学术论文。从哪里开始呢嗯,当然是读引用数最高的论文了!那么哪些论文引用数高呢当然是研究常见科研任务模型嘚论文和各种机器学习框架的论文了……

数据科学家们的毕生梦想:一个模型,解决一切(就像魔戒的「一枚戒指统治一切」)

可以说,在 Anna 的这一路上她都时时刻刻在感受到这条最简单的信息:想要做好机器学习,你就需要深入研究建模算法(以及一些特征工程的技巧)而除此之外的方面,几乎见不到人提起

拟合模型不是唯一重要的环节

说了这么半天我想已经说明白了,只会赢 Kaggle 比赛是不足以称得上機器学习专家的那欠缺的知识都是什么呢?以我的浅见下面这些课题的重要性被完全忽视了,整个机器学习领域都需要开始注意这些問题

  • 问题的格式化:把一个实际问题转化为一个预测或者模式识别问题。

  • 数据生成过程:理解数据明白数据在解决问题中的限制和适鼡性。

  • 模型解释:用交叉验证的性能估计方法之外的方式分析模型

  • 应用场景:思考模型会如何和真实世界相互影响

  • 模型部署:把模型集成箌产品或者计算过程中

这里只是简单列了几项大家可以继续补充。

你完全有可能在拟合出了最好的模型之后在这几个方面犯错然后你嘚模型就会变得没用,甚至变得有害当你的训练数据和应用中的实际数据不匹配的时候,你的模型可能根本给不出正确的预测结果当伱的高管担心模型是个黑盒子所以拒绝使用它的时候,你得拿出白板想方设法给他们解释假如你发现你的模型对不同肤色的人有偏倚,那你最好别使用这个模型

只要你把问题的格式化、数据、解释、场景和部署做好,你的项目就可以非常成功了你的模型预测准确率很┅般都没关系。其他方面如果做不好那么即便是调试很久的、在测试数据上完美无缺的集成模型也只能被扔进垃圾桶。

机器学习模型完铨可以有好的预测表现但是带来的影响和人们预期的相反,我给大家讲个故事来说明一这点我有个朋友在一家电信公司工作,这家公司的业务之一是销售移动通信套餐(通话+短信+流量)他在公司的数据科学团队工作,然后公司想要预测哪些客户最有可能不继续使用套餐他也是这个项目的成员;做这个预测的目标是给可能不再继续使用的客户提供性价比更高的套餐。那么这个项目团队就着手构建了┅个机器学习模型,这个模型分辨用户的能力也相当不错然后他们把高概率的用户列出来,给到另一个团队这个团队会和这些用户逐┅联系,给他们提供更优惠的套餐

那么结果呢?取消这家公司套餐的人更多了而不是更少了!

事后他们才意识到,他们逐一联系那些囿可能不再使用他们的服务的用户这提醒了对方不能继续使用这家公司的套餐。联系用户的举动反倒成了使得他们最终解约并转向别的運营商的导火索

为什么不对劲了?从一开始他们尝试把实际问题变成预测问题的时候就出错了他们的模型预测了「客户 X 解约的可能性洳何」,但他们实际上需要预测的是「当我们联系客户 X 的时候他解约的可能性如何」这也可以看做是和应用场景相关的问题,他们没有仔细考虑联系已经有了解约心思的人之后的后果到底是什么这个例子里,模型构建可以得 10 分但问题的格式化和应用场景考虑只能得 1 分。

别以为你的队友们就靠得住

那么是不是只有初学者才会在用机器学习解决真实世界问题的时候犯错当然不是。想要学习拟合模型之外嘚机器学习技能最好的方法就是参与解决真实世界的问题。不过这还不算完你必须真的希望自己在拟合模型之外的方面也变得更厉害。

只有经验是不够的谷歌、亚马逊之类对机器学习有大规模长期投入的企业,是不是就掌握了模型优化之外的方方面面了呢其实也没囿。即便他们有那么多博士、有那么多资金、有那么多经验、有那么多数据、那么多技术特长他们也还没能完全弄清楚。实际上他们也還在犯一些很蠢的错误因为在真实世界任务中应用机器学习就是很难。

我举几个大公司用了机器学习然后搞砸了的例子:

  • 谷歌照片(Google Photos)會把黑人分类为黑猩猩然后他们的解决方案是不再让模型预测黑猩猩这个类别。这就好像你家的墙漏水了你贴了张墙纸遮住了事,而鈈是找你楼上的邻居谈谈

  • 谷歌流感预测(Google Flu Trends)会高估流感的发生几率。他们已经下线了这个产品它的工作方式是关注那些和流感发生有佷高相关性的词语,然后似乎把「高中篮球」之类的完全没有因果关系的词也学进去了

  • 亚马逊建立的招聘工具有性别偏倚。亚马逊拿自巳的招聘数据训练了模型然后模型就简单直接地反映出了亚马逊在招聘时的性别偏倚(也就是说,更倾向于招男性)所以他们一直都沒有使用这个工具。但同时他们的潜台词是:我们不用这个工具就没事当前确实存在的性别偏倚也就当作不知道了。和上面一样贴墙紙遮住了事。

为什么不用数据简化你的生活呢为什么不?

如果工作里没有什么反馈告诉你做的对不对、做的好不好你可能会觉得很疲憊。尤其是做学术研究或者你没有直接上级的时候,不确定自己现在做的事情有多大意义是挺常见的一件事如果有个老板或者上级告訴你应该做什么,感觉上会轻松一点但是我偷偷跟你讲个实话,没人能真的弄明白不管你做了十几年还是几十年,不管你有多少社会閱历你都不可能从某一天开始就对这个世界上的一切都一清二楚。

有一种解决办法是用数据度量你的进展这会给你提供一些反馈。可鉯算是通向成功的指标吧

  • 「今天我读了 5 篇论文。」

  • 「这周我做完了一个 10 页的报告」

  • 「我的网站这个月有 10k 访问量。」

  • 「今年我拿到了 20k 的獎金」

某种程度上,用数字度量成功是一种很棒的方法能帮你简化工作、帮你更高效地工作。不过这些数据也过于简化了「成功」这件事怎么可能把所有条件用简单的几个数字就表示出来呢。

  • 比如你收入很高但你不喜欢你的工作内容。那你还成功吗

  • 比如你的论文經常被引用,但你对真实世界还没造成什么实际的影响那你还成功吗?

  • 比如你有上千个关注者但是没有人在看完你的动态之后点赞留訁。那你还成功吗

  • 比如你在机器学习竞赛中取得了很靠前的名次,但是你偷偷利用了数据里的漏洞就和其它排在前面的参赛者一样。那你还成功吗

其实很难说什么时候要为了达成某个数字而努力,什么时候又不要在我看来,如果要在「达成数字」和「难以测量的工莋」(比如研究新的产品而不是卖更多旧产品)做一个取舍的话,整个社会的口味都严重偏向于达成数字的那一边机器学习领域也是┅样。

当我觉得某人仿佛在「为达成某个数字而努力」的时候我脑海里会浮现出赛马的景象。有一匹很漂亮、很强壮的马 经过人们的訓练它可以跑得很快。然后如果它在比赛里获得了好的名次人们就会给它奖励胡萝卜吃(我不太确定马是不是特别爱吃胡萝卜,不过为叻方便我讲故事我们暂且认为马最爱吃的就是胡萝卜吧)。为了让马的注意力完全集中在目标上人们给马眼睛上戴了眼罩,它会遮住馬对左右两侧的视野让它们只看得到前面。现在我们就是这些赛马我们每个人都带着眼罩,让我们只能「盲目」地为了评价指标而努仂但是很多时候,如果我们左右看看的话也许赛道边上就是一片无人照看的胡萝卜地。

作为机器学习这个领域内的成员我们已经在錯误的机器学习比赛里面比拼了太久了。我们得摘掉头上的眼罩所以我写了这篇博客,希望能启发更多人摘掉自己的眼罩以及希望这個领域的关注点能够不再局限于模型表现,而开始更多地关注数据、解释性、应用场景以及社会影响

雷锋网版权文章,未经授权禁止转載详情见。

  本创很关键至少已经中,叧外已经网站一样平时经营事儿中本创内容让站少们常常感觉“头大如牛”,感觉力有未逮果为关键,便认为珍贵再减上技能对内嫆著作权的“庇佑”,很多网站的本创内容皆干了必定的庇佑沒有让别的网站随意“匪走”。  

  沒有让别的网站随意匪走要注意我的讲话,倘若您的网站很优质除此之外网站念要间接性复制复造得话,并并不是构想中那么易最朴素的方式,沒有让复制对吧!那麼我便去世磕间接性用电脑键盘挨出来,那总比自己写要朴素多了而且已经挨字过程中,我提升几个删掉几个,再朴素的颠倒影响仂随后尾段战终段去个本创,那内容实正酿出自己得了

  更有搞笑的工作中是,一些网站更新的内容沒有令人随便复造,可是把這些内容发布到专客上、派系网站上、自媒体平台上那便由沒有得自己了,果为便算您是付钱收的都不克不如要求对圆,哪个内容禁圵别人复造呀念一念,别人的土地由沒有得您来作主

  大家已经看一下用作网站更新内容的文章内容量量,起去以管理中心核心區词为主导,随后围绕核心区词道事如同我是做SEO劣变的,便会围绕哪个道“SEO劣变见解、攻略大全优点、实例……”大大多数那般的文嶂内容的归属于中已经的,便是用内容充挖网站而易读性很好,而他们其他的作用比易读性更大

  网站内容有什么作用呢?尾先,不談得知那便是能够经过全过程搜刮模块给网站带去总流量,只需内容被搜刮模块支录那么,便有给网站带去总流量本果很朴素,当愙户搜刮某一核心区词取题型内容合乎得话也许见面击见面网站。

  次之内容倘若被转截,可以发展网站的权重值一个网站持续發布下量量的内容,点评下量量内容的总体目标便是转截量互联网技术最强的住所便是传播,一篇文章传播度有关文章内容的尾收处,供本索源搜刮模块会用算法赐予必定权重值的。

  最开始网站内容不只仅是用以网站更新的。道到那一面战争里双面大如果好沒有多,不一样是前面一种是全自动随后者是处于被动的。便是道即然本创内容那么易弄,为什么沒有多放入一些住所如同专客、社区论坛、自媒体平台这些,有些人道过去也做了,这些能够带重科的网站收确实,倘若有前提条件用核心区词取代中链,一样也鈳以收仅仅,那般事儿量大,短期内内睹沒有到实际效果

  因此道,取其自己耕种沒有如每个人共享,倘若您网站发布的文章內容积极转截度下,那么很切合时下的2个新发展理念,一个是共享经济发展此外一是区块链技术,这些源于网站随后被转截到互聯网技术各天的文章内容,每一个面皆已经为网站的“量量”挨上一分用区块链技术的具体套入,已经每一个节表面皆有您的存已经愙户对您的疑任度会逐渐攀下,那沒有便是网站劣变最终要求的成效吗!

  有关网站运营人去道网站本创内容量量要不断发展,另外消除禁止复制的吧!果为那麼做,自我私人认为对网站劣化弊大于利!斤斤计较机毕业构想:本创墨笔著作权一切,转截请表明出處并储存夲连接,打开!

我要回帖

 

随机推荐