查看原文
其他

转载:先放下李航和周志华,从工程上刷新一次机器学习

萧萧的太阳 机器学习软件工程方法 2021-10-18

知乎链接:

https://zhuanlan.zhihu.com/p/395486198

原文豆瓣链接:

https://book.douban.com/subject/35275781/


拿到这本书后,一度很惊讶,终于找到一本在工程上下足了功夫的机器学习书了

大约从2012年开始,国内不断有机器学习、数据挖掘、深度学习等AI领域的书出版,从最早的 ESL 和 PRML,到后来李航老师、周志华老师的著作,以及哈灵顿那本名气很大却很乏味的《机器学习实战》,以及近几年各种把理论部分介绍地一塌糊涂、算法应用全靠玩具数据集堆砌起来的玩具案例、一般至少3个国内作者或印度作者合作写的机器学习书(垃圾),一路下来我们至少有一百多种原创或翻译的中文机器学习图书了。

这些书都有一个很让读者痛苦的点:读完了仍然不会用

比如书上常见的MNIST数据集、IRIS数据集,很多书就是在这些入门级数据集上打转,一遍遍让不同算法去fit,指望读者能明白这些算法的理论和应用。

如果不是纯做理论研究的读者,例如在互联网企业做金融建模、用户挖掘、推荐算法等一般性数据挖掘工作的从业者,掌握那些高深的机器学习理论其实是一件性价比很低的事,至少不是优先级最高的事

当务之急,是搞清楚为什么机器学习是一门实践学科,要怎么实践,行业中已经有那些最佳实践了,真实的业务问题怎么转化为需求、需求怎么转化为机器学习任务,选择什么模型,模型到底要怎么部署上线,特征工程到底怎么搞,又出了那些我们还没听说过的处理方法,等等。

这些东西都是每一个数据分析师/数据挖掘工程师/机器学习工程师 或者任何吃数据挖掘这碗饭的从业者都要时时关注并解决的问题。


回到这本书,我集中一天把这本书浏览了一遍,有的地方细读,有的地方快速略过,大概说下一些我个人认为挺好的地方。

第1章论述了软件工程在机器学习中的应用,建议大家仔细读读,尤其是数据科学领域,不少人其实不知道软件工程是个啥。

第2章讲了很多环境准备方面的事,这部分如果不是纯新手,建议好好看看,工作中参照下自己是怎么做的,如果是纯新手,建议先跳过,就简简单单用 conda 管理你的作业环境,以后熟练了数据科学领域再回头研究工程环境也不迟。

第3章介绍了常见的实验数据集和数据生成方法,了解即可。

第二部分讲了机器学习项目的流程和数据处理方法,缺失值、异常值等等。

这部分建议好好看看4.1节和4.2节,新手犯错的重灾区,老手也不见得都掌握了。

第三部分是全书就有价值的地方,特征工程是个大活儿,就算是深度学习可以无脑叠网络拟合数据的今天,企业中也还是需要特征工程的,因为仍然有用!除了在其他书中能看到的常见特征工程(第6章),自动衍生特征(第7章)和特征选择(第8章)非常精华,尤其是特征选择这一章介绍地非常全面,都是业界中真实在用的方法,好似带着土腥味那般接地气

第四部分讲了常见的模型,相信在这行待过一段时间或者看过几本机器学习书的读者对这些算法都不陌生,至少能随口说出好几种算法的名字。

但是这些算法的工程细节、使用过程中的细节,调参的细节,性能评估,模型的可解释性,不见得是每个人都说的清楚了

最后模型上线和上线后的监测,不一定适合所有读者(例如数据分析师可能很少需要考虑模型上线,他们一般离线拟合数据、得到洞察、制作PPT进行数据解读就走完作业流程了),但是这是真正意义的闭环了

这里还想提醒下大家,书中虽然介绍了很多方法,但是有些地方并不很详细,作者也无意于此,大家在读的时候,应该把这本书作为一本比较详细的攻略或地图,按照作者提供的文献或链接,把相关话题琢磨透彻。


最后再啰嗦几句。这本书我打5星,不是说这本书已经牛逼到飞天了,瑕疵必然是有的,局限性必然也是有的。

但是这本书好就好在真实,告诉读者一个真实的数据挖掘圈子是怎么做事情的,不再是简单的走马观十大算法,不再是一天练熟 from sklearn import * 。看得出这本书背后有作者从业几年来的困惑、思考、总结

对于纯新手,或者还没有成功应用机器学习算法解决过真实问题的读者,我想高喊一声先放下李航和周志华老师的经典著作,不着急推导那些算法背后的数学公式,赶紧去找来这本《机器学习:软件工程方法与实现》,忘掉自己学过的十大算法、二十大算法,也放下所有偏见和傲慢,踏踏实实从第一页开始读,老老实实地 get your hands dirty。

© 本文版权归作者  萧萧的太阳  所有,任何形式转载请联系作者。




摘取电商书评:


: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存