资源 | 有没有必要把机器学习算法自己实现一遍?

导读

有很多小伙伴问过我这样的问题,有没有必要把机器学习算法自己实现一遍。那么今天的答案来了。往下看,自己领会,还有2个资源

导读

知乎 陈默:

读书时候曾经把PRML所有算法实现过一遍。最后发布了一个库,现在是Github上星星最多的Matlab库之一(应该是排第二)。读PRML的同学可以参考一下,代码注释给出了重要部分对应的公式在PRML的出处。变量命名也尽量与书做了统一。希望对学习PRML的同学有所帮助。

zenRRan:

这个链接我也给大家找到啦 嘿嘿

https://github.com/PRML/PRMLT

PRML大家知道吗?就是模式识别机器学习,一本外国的机器学习经典著作,贼厚,贼详细,我曾经入手一本。咳咳,没看多少捏。。书封面是下面这个样子

如果你想要在机器学习(当然包括深度学习)这个方向走很远的话,还是推荐买个纸质版的这个,x宝上二手的好像几十元就能买,我就是这里买的。

继续话题

知乎 陈默:

这个经历对我的帮助大概有以下几个方面:

1) 对算法细节的理解更加深刻了。

书中毕竟不会给出所有细节,而且书本身可能就是错的。为了写出代码,我几乎是把所有公式重新推了一遍,自己存下的note里面公式数量绝对远远多于书本身,期间也发现了书中无数的错误,这些错误在初读的时候根本意识不到。这样一遍下来,让我对推公式的信心大增,看论文不会怕看不懂公式了。遇到看不懂的就推一遍,推不出的就抄一遍,之后总会懂的。一个side effect就是让我变得愤青了,看什么paper都觉得烂。因为读paper的时候,你会发现,很多paper违背基本常识,即使影响力非常大的一些paper里也有这样那样的错误。

2) 可以了解很多看书学不到的各种trick。

所有算法几乎都有坑。比如hyper-parameter什么意义怎么设,怎么初始化,numerical stability的怎么保证,如何保证矩阵正定,计算机rounding error的影响,numerical underflow和overflow问题等等。

3) 对整个领域各个算法的关联有更深刻的了解,思维形成一个关系网。

看到一个算法就会自然的去想跟其他算法的联系,怎么去扩展。如果一篇paper我不能把它纳入到这个关系网里,我就觉得自己没懂。要么推出联系,要么推出矛盾证明这篇paper垃圾。另一个side effect就是我看paper从来不根据实验好坏判断优劣。

虽然自己动手实现算法有好处,但是性价比几何还是个见仁见智的问题,毕竟这是一个很费时的过程。我并不认为一定有必要自己实现书上所有算法,毕竟每个人所能关注的领域还是有限的,懂得算法大致原理,具体用的时候在细研究就可以。很多算法我也是写完了从来没用过。几年过去后,我在回头看自己的代码也很难看的懂,细节还得看公式。

但是对于自己的研究领域我建议还是有必要把经典算法动手实现一遍加深理解。

zenRRan:

综上所说,当然还是推荐把机器学习算法都过一遍了。但是,哪来的时间呢?每周抽点空看看就行。坚持坚持!

当然,我都猜到你会说matlab版本的或许看不懂,哼哼,我都猜到啦,我又在github上找了一个python版本的

链接为

https://github.com/ctgk/PRML

我看上他的主要目的是因为用了jupyter notebook!很清晰明了

有代码还有及时输出展示。

好啦,希望对你有帮助。看完下面单词再走啦!

上面知乎链接为

https://www.zhihu.com/question/36768514/answer/83577695

原文发布于微信公众号 - 深度学习自然语言处理(zenRRan)

原文发表时间:2018-11-12

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hotqin888的专栏

golang知识图谱NLP实战第一节——整体思路

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

2711
来自专栏机器之心

观点 | 论机器学习和编程语言:ML需要专用的计算机语言吗?

3707
来自专栏大数据挖掘DT机器学习

从小白到年薪10万+,优秀的数据分析能力如何速成?

广泛被应用的数据分析 谷歌的数据分析可以预测一个地区即将爆发的流感,从而进行针对性的预防;淘宝可以根据你浏览和消费的数据进行分析,为你精准推荐商品;口碑极好的网...

4286
来自专栏新智元

10月AI热文:强化学习、定制合成人脸、道德机器等

谷歌正试图通过新的Active Question Answering(Active QA)智能体来模仿这一点,这是一个使用强化学习来训练AI进行问答的系统。当你...

1322
来自专栏新智元

谷歌新目标——让计算机实现自我编程,自主机器时代不再遥远

【新智元导读】 许多人对AI的想象都停留在应用层,而忽视了技术层AI也将产生颠覆——让机器自己编程。谷歌大脑、DeepMind、Facebook甚至Viv 都在...

3496
来自专栏新智元

【Science】谷歌、百度等搜索巨头应该从果蝇身上学习什么?专访解读果蝇算法

来源: science; nautil 作者:弗格森 【新智元导读】 Science 近日以《面向一种基础计算问题的神经网络算法》为题,介绍了一项十分前沿的研究...

4029
来自专栏数据派THU

微信数据分析和微信传播模型

什么是微信数据分析 试想一下,如果是你,会怎么向你的领导、你的下属,进行数据分析呢? 是像描述天气一样——昨天阴天,今天天气挺好,风和日丽的,明天预报多云?还...

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

商业数据分析案例:客户流失分析之—探索性分析

对无序型离散变量而言,以本案例中的手机品牌为例,对于名义型离散变量,关注的是该变量的取值分别有哪些,各个取值占比是多少。从表格上看,列出离散变量各个取值的数量和...

2012
来自专栏AI研习社

博客 | 一份中外结合的 Machine Learning 自学计划

看了Siraj Raval的3个月学习机器学习计划的视频,感觉非常好,地址:https://www.youtube.com/watch?v=Cr6VqTRO1v...

1061
来自专栏机器之心

学界 | CMU通过机器学习「读心术」解码大脑复杂思想

选自CMU 机器之心编译 参与:黄小天、Smith 近日,卡内基梅隆大学官网上发表了一篇题为《Beyond Bananas: CMU Scientists Ha...

3839

扫码关注云+社区

领取腾讯云代金券