为期一周的机器学习

点击上方“程序员大咖”,选择“置顶公众号”

关键时刻,第一时间送达!


在门外汉看来,机器学习(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 的兴趣大大增加。

星期五:回到学校

星期五, 我继续 Kaggle 教程的学习,并开始看 Udacity 的机器学习简介。我现在的学习很愉快。

它比 Coursera 的课程简单,因为它不会深入讲算法的具体内容。但它很实用,因为它会讲如何使用 Scikit Learn,这比 Coursera 课程中的告诉你用 Octave 从头开始实现算法更易于应用到实际问题。

未来之路

这一周的学习不仅是好玩,更使我认识到了机器学习在社会中的作用。我越了解它,就越明白他可以解决哪些领域的问题。

如果你对机器学习感兴趣,我强烈建议你花几天或几晚上的时间深入了解一下。

如果你还没有准备好面对复杂难懂的原理,请选择一个自上而下的方法并尽快从解决实际问题开始吧。

祝你好运!

感谢阅读!我叫 Per Borgen,主要写一些入门文章。



  • 英文:Per Harald Borgen

  • 编译:伯乐在线 - 心灵是一棵开花的树

  • http://blog.jobbole.com/110684/

  • 程序员大咖整理发布,转载请联系作者获得授权

【点击成为Python大神】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值