专栏名称: Python开发者
人生苦短,我用 Python。伯乐在线旗下账号「Python开发者」分享 Python 相关的技术文章、工具资源、精选课程、热点资讯等。
目录
相关文章推荐
Python开发者  ·  实测满血版 DeepSeek!学习 ... ·  昨天  
Python开发者  ·  OpenAI ... ·  2 天前  
Python开发者  ·  清华大学:DeepSeek + ... ·  2 天前  
Python中文社区  ·  “快得飞起,不卡不掉线!”量化交易必备的De ... ·  2 天前  
Python爱好者社区  ·  《Machine Learning ... ·  4 天前  
51好读  ›  专栏  ›  Python开发者

为期 1 周的 ML 入门指南

Python开发者  · 公众号  · Python  · 2017-03-27 21:27

正文

(点击 上方蓝字 ,快速关注我们)


译文:伯乐在线专栏作者 - 心灵是一棵开花的树

英文:Per Harald Borgen

如有好文章投稿,请点击 → 这里了解详情

如需转载,发送「转载」二字查看说明


在门外汉看来,机器学习(Machine Learing,ML)入门是个不可完成的任务。


如果你选错了方向,确实就是不可能的了。


然而,在我学习机器学习的基本知识一周后,发现入门比我想象的容易。


本文旨在给予那些对机器学习有兴趣的人一些入门指南,这个指南来自我为期一周的学习经验。


背景


在我开始这一周的机器学习之前,我已经阅读过一些相关的文章了, 并且学习了一半吴恩达(Andrew Ng)在 Coursera 上的机器学习课程,以及一些其他的理论课程。所以我对机器学习有些基本的概念,但我仍然我不能将我的知识转换为代码,这是我想要改变的。


我想在一周学习的最后阶段能够用 ML 解决问题,尽管这意味着会跳过很多基础知识,我采取了自上而下的学习方法,而不是自下而上。


在 Hacker News 上咨询之后,我得出的结论是 Python 的 Scikit Learn 库是最适合入门的。这个库提供了丰富的算法,将实际的机器学习问题减少到几行代码。


星期一:学习一些实例


我的学习之旅从查找关于 Scikit Learn 的视频教程开始。我最后选择了 Sentdex 关于使用ML投资股票的教程,这个教程给了我继续学习的必备知识。



Sentdex 教程的好处是,教师会引导你一步步去收集数据。随着学习的深入,你会发现获取和清理数据是比真正的机器学习更耗时的。因此,编写脚本抓取文件或网络中的数据的能力是一个ML极客的必备技能。


我后来又重看了几个视频,以解决之前我不理解的问题。我建议你也这样做。


但是,如果你已经知道如何从网站抓取数据了,那本教程可能不是很适合你,因为许多视频都是关于数据抓取的。如果是这样的话, Udacity的机器学习教程可能更适合你。


星期二:将ML应用到实际问题


星期二我想看看是否能用我所学解决一个实际问题。因为另一个合作编程的伙伴正在参加英格兰银行数据可视化大赛,所以我与他一起查看了该银行发布的数据。其中最有趣的是他们的家庭调查数据,这是该银行对数千户家庭进行的关于金钱方面的年度调查。


我们决定解决的问题如下:


给定一个人的教育水平,年龄和收入信息,计算机可否预测其性别?


我观察这个数据集后,花了几个小时清理数据,并使用 Scikit Learn map 去找一个适合该问题的算法。



最后我们预测的成功率达到了 63%,这并不令人震撼。但是至少比掷硬币的准确率(50%)高一些。


最后的结果是激励你的动力,所以我建议一旦你会使用 Scikit Learn 了,就自己来动手做一做。


你意识到你可以使用 ML 来解决现实生活中的问题的时刻是很一个关键的时刻。


星期三:从头开始


在玩转各种 Scikit Learn 模块后,我决定尝试从头开始写一个线性回归算法。


我想这样做是因为我一直觉得我真的不明白后台发生了什么。


幸运的是,coursera 课程详细介绍了几种算法的工作原理,这在很大程度上是有用的。更具体地说,它描述了使用具有梯度下降的线性回归的最底层的概念。



这肯定是最高效的学习技巧,因为它迫使你了解后台的一些细节。 我强烈建议你也这么做。


我计划在继续学习的过程中重写我自己实现的一些更复杂的算法,但我想在学会 Scikit Learn 中相应的算法之后再做。


星期四:开始参加竞赛


星期四,我开始研究 Kaggle 的入门教程。Kaggle 是一个机器学习的竞赛平台,你可以在其中提交公司或组织发布的问题的解决方案。


我建议你在对机器学习有一些理论和实践经验后再尝试 Kaggle。你需要这些知识才能开始使用 Kaggle,否则你可能没什么收获,反而会觉得沮丧。



“Bag of Words”教程指导你完成参赛资料提交的每个步骤,并会给你一个简短而令人兴奋的有关自然语言处理(NLP)的介绍。看完教程之后,我对 NLP 的兴趣大大增加。







请到「今天看啥」查看全文