在我开始我的机器学习周之前,我已经了解这个项目一段时间了,浏览了一半Coursera上Andrew NG的课程和其他一些理论性课程。虽然我还不能完全将我的知识转化成代码,但对机器学习已经有了大致的概念理解。这也是促使我想改变的原因。
在征得Hacker News的意见之后,我总结出Python的Scikit Learn模型是最好的开始入口点。这个模型提供了丰富的算法可供选择,将机器学习实战降低在数十行代码之内。
星期一:实例学习
在一周的开始,我去寻找一些Scikit Learn的视频教学,最后我选择了Sentdex的关于怎么样用机器学习投资股票的辅导视频,这个视频给了我继续下一步学习的必要知识。
之后我还反复看了好几遍这个视频,在我被问题卡住的时候很有帮助,建议你们也多看几遍。然而,如果你已经知道怎么从网站上获得数据,这个教程可能不是最合适的,大段大段的围绕着数据的获取。Udacity的机器学习入门教程或许更适合你。
星期二:实际问题中的应用
星期二我想看看我是不是可以用我学到的东西去解决一个实际的问题。由于和我合作写代码的另一个开发人员正在参加英格兰银行的数据可视化竞赛,我跟他一起合作查看了银行公布的数据集。最有趣的数据是关于他们房屋调查,一个由银行完成的基于几千个家庭关于钱的相关主题的年度调查。
我们决定解决的问题如下:
给出一个人的教育水平、年龄和收入,计算机可以预测到其性别么?
我跟数据集周旋,花了几个小时清洗数据,然后用Scikit Learn图找到最适合这个问题的算法。
看到成果会激发你们的动力,所以我建议你们一旦对怎么使用Scikit Learn有一个基本掌握,可以自己试试。
当你意识到你能够开始用机器学习解决真实生活问题时,这是一个关键的时刻。
星期三:从头开始
在尝试过不同Scikit Learn模型之后,我决定试着去彻底地写一个线性回归算法。之所以想这样做,虽因为我觉得我实在不明白计算引擎是如何运行的。
幸运地,Coursera上有关于几个算法如何执行的课程,在这个时候帮了大忙。更具体地说,它描述了线性回归的基础概念。
当我继续往下学的时候我计划重写更复杂的实现算法,但是我想在尝试Scikit Learn相关算法之后再做这些。
星期四:开始实现
在星期四的时候,我开始实现一些Kaggle的入门教程。Kaggle是一个机器学习竞赛的平台,你可以给那些公司或机构的发布的问题提交解决方案。
为了提交你的方案到竞赛平台上,词袋教程会指导你每一步骤,以及一个简单而又让人兴奋的对自然语言处理过程的介绍。当我看完教程之后对自然语言处理过程有了更多的兴趣。
星期五:重回学校
星期五,我继续研究Kaggle的教程,也开始了Udacity的机器学习入门教程。虽然我还在学习中段,但是发现它真的很令人享受。
继续前行
一周的体验不仅仅是许多的乐趣,它可以帮我们意识到机器学习在社会上的用处。我学到关于它的东西越多,就看到它可以用于越多的领域中。
如果你对机器学习感兴趣,我强烈建议你花几天或晚上对它进行简单的了解。
如果你还没准备好应对繁重的素材资料,你可以选择一个至上而下的方法,尽快地在解决实际问题中学习。
祝你们好运!
. . .
谢谢阅读!我的名字是Per Borgen,我通常会写学习新东西的博客。
如果你有任何问题或者像要认识我,请联系我,要么通过推特,github抑或是电子邮件:perhborgen@gmail.com。
来源:https://medium.com/learning-new-stuff/machine-learning-in-a-week-a0da25d59850#.qw3zmizf9