机器学习入门

2015年年初,因为工作接触到了机器学习(Machine Learning)。最近一直在学习,算是一只脚跨进了机器学习的大门。与之前积累的技能比较,机器学习更偏向于学术,学习难度比偏向于工程方面的技术大的多。要想掌握机器学习,线性代数,概率与统计,积分这些都是必不可少的。学生时代因为年少无知,看不到这些课程存在的意义,所以根本不放在心上,现在后悔已经来不及了。没办法,“出来混迟早都要还的”,只能看公开课重新拾起来了。这也算对自己的一个挑战,希望可以在新的领域有所突破。

什么是机器学习?

Machine learning is actually a software method. It’s a way to generate software. So, it uses statistics but it’s fundamentally… it’s almost like a compiler. You use data to produce programs.

通过最近的学习,已经有了对机器学习的简单认识。机器学习就是利用一些算法为已有的数据建立模型,得出数据的规律,然后根据新的输入数据做出预测或者决策。举几个例子:根据房产交易的数据(房屋面积、所处地段、是否学位房、成交价格等等),估算出另一套房子大概的售价;根据最近几年某只股票的走势和其间相关的事件预测未来走势;根据肿瘤细胞的特征评估是良性还是恶性的。最贴近生活的几个例子:根据你喜欢的音乐为你推荐新的音乐(网易云音乐做的最好);微博里面根据你的关注为你推荐新的用户;社交平台根据某一用户所有的行为数据预测什么广告最容易获得他的点击(qq,微信)。看到这些应用,相信你也会像我一样深深的被它迷住。如果看到这些你还没有心动,可以再看看这篇文章:Data Scientist: The Sexiest Job of the 21st Century

资源

近期积累了不少机器学习相关的教程和资料,整理出来发在这里。其实关于机器学习的资料有太多太多,以至于一开始的时候都出现了选择恐惧症,不知道该从什么地方开始。好在后来能够静下心来从最简单的开始。

公开课
1. 强烈推荐Coursera上的Machine Learning。这是机器学习的入门课程,作者是Andrew Ng,也是coursera的创始人。如果连这门课都没看过,实在是不好意思跟别人说自己懂机器学习。别看这门课简单,想从头到尾认真完成真不是件简单的事情,不仅仅是把视频看完,而且要把所有习题和编程题做完。我从2月份开始,一直看到现在(5.23),还剩下最后两章没有看完。但是已经超过了课程的deadline,拿不到课程certificate了。Andrew Ng讲得深入浅出,只要能仔细完成,机器学习就算是入门了。

2. 统计学的课程也是必须的。这里比较推荐Statistical Learning。Statistical Learning的作者是大名鼎鼎的The Elements of Statistical Learning(ESL)这本书的作者。ESL的难度比较大,不太适合入门,所以作者又写了另外一本面向初学者的An Introduction to Statistical Learning(ISL)。ISL可以作为课程的配套书籍来看,事半功倍。更重要的是ISL是免费的。

Coursera的ML公开课看的差不多之后,可以写点代码实际操练起来了。scikit-learn是一个很重要的机器学习库。本文题图就是sklearn官方给出的如何选择合适的机器学习算法的roadmap。sklearn的学习我推荐An Introduction to scikit-learn: Machine Learning in Python这篇教程,里面给出了如何用sklearn实现常用机器学习的算法。

其他还有些非常重要的资源:
1. Datatau:大数据界的Hacker News
2. Reddit的Machine Learning频道
3. Quora的Mechine Learning话题,另外推荐关注William Chen

也许用不了多少时间,奇点就会到来。所以能多了解点机器学习的事儿也是好事,加油!

发表评论

电子邮件地址不会被公开。 必填项已用*标注