编译 | 魏子敏,赖小娟,张礼俊 “对外行来说,想要入门机器学习可能是个不可完成的任务。然而,在沉溺于一周的机器学习基础学习之后,我发现它比我之前想象的更容易理解。” 这篇文章来自于medium,一位作者亲历了一周入门机器学习后,分享他的“从下到上”的学习经验给各位,希望给那些有兴趣入门机器学习的读者一个容易上手的详细日程表。 背景 在我开始我的机器学习周之前,我已经了解这个项目一段时间了,浏览了一半Coursera上Andrew NG的课程和其他一些理论性课程。虽然我还不能完全将我的知识转化成代码,但对机器学习已经有了大致的概念理解。这也是促使我想改变的原因。 我想要一周结束之时有能力解决机器学习的问题,虽然这意味着会跳过很多基础知识,使用从上到下的学习方法代替从底层到高层的方式。 在征得Hacker News的意见之后,直播,我总结出Python的Scikit Learn模型是最好的开始入口点。这个模型提供了丰富的算法可供选择,将机器学习实战降低在数十行代码之内。 星期一:实例学习 在一周的开始,我去寻找一些Scikit Learn的视频教学,最后我选择了Sentdex的关于怎么样用机器学习投资股票的辅导视频,这个视频给了我继续下一步学习的必要知识。 Sentdex辅导视频比较好的一方面是导师展示了关于数据收集的所有步骤。当你们顺着再往下学习,你们会意识到获取和清洗数据的时间会比实际机器学习操作的时间还要多很多。因此有能力写出脚本从文件和网页上抓取到数据是成为机器学习专家的必要技能。 之后我还反复看了好几遍这个视频,在我被问题卡住的时候很有帮助,建议你们也多看几遍。然而,如果你已经知道怎么从网站上获得数据,这个教程可能不是最合适的,大段大段的围绕着数据的获取。Udacity的机器学习入门教程或许更适合你。 星期二:实际问题中的应用 星期二我想看看我是不是可以用我学到的东西去解决一个实际的问题。由于和我合作写代码的另一个开发人员正在参加英格兰银行的数据可视化竞赛,我跟他一起合作查看了银行公布的数据集。最有趣的数据是关于他们房屋调查,一个由银行完成的基于几千个家庭关于钱的相关主题的年度调查。 我们决定解决的问题如下: 给出一个人的教育水平、年龄和收入,计算机可以预测到其性别么? 我跟数据集周旋,花了几个小时清洗数据,atv,然后用Scikit Learn图找到最适合这个问题的算法。 最后我们以大概63%的成功率结束,并不是很理想。但是机器至少可以做到猜出的概率稍大于成功率在50%的抛硬币。 看到成果会激发你们的动力,所以我建议你们一旦对怎么使用Scikit Learn有一个基本掌握,可以自己试试。 当你意识到你能够开始用机器学习解决真实生活问题时,这是一个关键的时刻。 星期三:从头开始 在尝试过不同Scikit Learn模型之后,我决定试着去彻底地写一个线性回归算法。之所以想这样做,虽因为我觉得我实在不明白计算引擎是如何运行的。 幸运地,Coursera上有关于几个算法如何执行的课程,在这个时候帮了大忙。更具体地说,它描述了线性回归的基础概念。 这绝对是最有效的机器学习技术,它迫使你去明白“引擎之下”的每一步是如何前行的。我强烈推荐你在某些时刻这样去做。 当我继续往下学的时候我计划重写更复杂的实现算法,但是我想在尝试Scikit Learn相关算法之后再做这些。 星期四:开始实现 在星期四的时候,我开始实现一些Kaggle的入门教程。Kaggle是一个机器学习竞赛的平台,你可以给那些公司或机构的发布的问题提交解决方案。 我建议你在有了对机器学习一定的理论和实践理解之后再尝试Kaggle。否则,带给你比奖励更多的是沮丧。 为了提交你的方案到竞赛平台上,词袋教程会指导你每一步骤,以及一个简单而又让人兴奋的对自然语言处理过程的介绍。当我看完教程之后对自然语言处理过程有了更多的兴趣。 星期五:重回学校 星期五,我继续研究Kaggle的教程,也开始了Udacity的机器学习入门教程。虽然我还在学习中段,但是发现它真的很令人享受。 (责任编辑:本港台直播) |