要如何開始從零掌握Python機(jī)器學(xué)習(xí)?
作為一個(gè)過(guò)來(lái)人,我的建議是分三步進(jìn)行:
第一步:學(xué)習(xí)基本 Python 技能
如果要使用 Python 進(jìn)行機(jī)器學(xué)習(xí),擁有對(duì) Python 有基礎(chǔ)的理解非常關(guān)鍵。幸運(yùn)的是,Python 是當(dāng)前普遍使用的流行語(yǔ)言,并納入了科學(xué)計(jì)算和機(jī)器學(xué)習(xí)的內(nèi)容,所以找到入門教程并不困難。在選擇起點(diǎn)時(shí),很大程度上要取決于你之前的 Python 經(jīng)驗(yàn)和編程經(jīng)驗(yàn)。推薦一本最經(jīng)典的入門書籍:《Python編程 從入門到實(shí)踐》
第二步:學(xué)習(xí)機(jī)器學(xué)習(xí)基礎(chǔ)技能KDnuggets 的 Zachary Lipton 指出,人們對(duì)于“數(shù)據(jù)科學(xué)家”的認(rèn)知千差萬(wàn)別。這實(shí)際上是對(duì)機(jī)器學(xué)習(xí)領(lǐng)域的反映。數(shù)據(jù)科學(xué)家在不同程度上使用計(jì)算學(xué)習(xí)算法。要建立和使用支持向量機(jī)模型,熟知核函數(shù)方法是否是必需的?答案當(dāng)然不是。就像現(xiàn)實(shí)生活中的許多事情一樣,所需要的理論深入程度與具體的實(shí)際應(yīng)用有關(guān)。獲取對(duì)機(jī)器學(xué)習(xí)算法的深入理解不是本文的討論范圍, 而且這通常需要在學(xué)術(shù)領(lǐng)域投入大量時(shí)間,或者至少要通過(guò)密集的自學(xué)才能達(dá)到。
好消息是,你不必?fù)碛胁┦考?jí)別的機(jī)器學(xué)習(xí)理論能力才能進(jìn)行實(shí)踐,就如同不是所有程序員都必須接受計(jì)算機(jī)理論教育才能寫好代碼。
吳恩達(dá)在 Coursera 的課程非常贊,如果你有時(shí)間,可以自己去 Coursera 完成這個(gè)課程 :Andrew Ng’s Machine Learning course 。另外推薦一本書:周志華的《機(jī)器學(xué)習(xí)》
第三步:開始用 Python 進(jìn)行機(jī)器學(xué)習(xí)
這一步開始進(jìn)入到實(shí)踐了,推薦看Peter Harrington的《機(jī)器學(xué)習(xí)實(shí)戰(zhàn) 》
這本書啃透,你的Python和機(jī)器學(xué)習(xí)已經(jīng)是能達(dá)到掌握的水平啦!
另外也推薦你使用一些其他的機(jī)器學(xué)習(xí)框架:比如H2O,還有像http://www.datazen.ai/這樣的網(wǎng)站,里面會(huì)集成很多機(jī)器學(xué)習(xí)框架,迅速完成建模實(shí)戰(zhàn)任務(wù)。