- Python機(jī)器學(xué)習(xí)算法: 原理、實現(xiàn)與案例
- 劉碩
- 1294字
- 2020-01-20 15:06:21
前言
近年來,機(jī)器學(xué)習(xí)技術(shù)已經(jīng)滲透到我們?nèi)粘I畹母鱾€方面,比如網(wǎng)上購物時的商品推薦、瀏覽網(wǎng)頁時的廣告推送、手機(jī)拍照后的圖像處理、電子郵箱中的垃圾郵件過濾、停車場出入口的車牌識別、各種游戲中的機(jī)器人玩家以及汽車廠商正在研發(fā)的無人駕駛等,機(jī)器學(xué)習(xí)技術(shù)的應(yīng)用隨處可見,并且它的發(fā)展極其迅猛,在更多領(lǐng)域令人興奮(或恐懼)的應(yīng)用已被研發(fā)出來或正在研發(fā)中。
尤瓦爾?赫拉利在其暢銷書《未來簡史》中表明了一個觀點:未來的世界由機(jī)器學(xué)習(xí)算法掌控。當(dāng)了解到像谷歌、蘋果、亞馬遜、IBM這樣的大公司投入巨資用于機(jī)器學(xué)習(xí)的理論和應(yīng)用研究,并且時不時就聽到AI在某領(lǐng)域把人類打得一敗涂地的新聞時,或許我們就不會認(rèn)為赫拉利的觀點是離譜的異端邪說,或出于好奇,或出于恐懼,或出于實際的目的,我們都應(yīng)有充足的動力學(xué)習(xí)機(jī)器學(xué)習(xí)。
市面上機(jī)器學(xué)習(xí)的書已經(jīng)很多了,大體上分為兩類:一類是偏重機(jī)器學(xué)習(xí)理論的書,這種類型的書,算法理論部分大都介紹得很詳細(xì),但對于算法僅給出粗略的偽代碼,而沒有詳盡的編碼實現(xiàn),也沒有提供案例應(yīng)用,在初學(xué)者對機(jī)器學(xué)習(xí)了解甚少的情況下,直接面對枯燥煩瑣的數(shù)學(xué)推導(dǎo),難免痛苦與沮喪。另外,由于初學(xué)者很難直接根據(jù)理論自己實現(xiàn)算法以及恰當(dāng)?shù)剡\用算法進(jìn)行項目實踐,因此無法驗證學(xué)習(xí)成果。另一類是偏重機(jī)器學(xué)習(xí)應(yīng)用的書,這類書對算法的理論進(jìn)行了簡單的提及,省略了有助于理解的重要數(shù)學(xué)推導(dǎo),且大多數(shù)不會帶領(lǐng)讀者編碼實現(xiàn)一個算法,而是直接使用開源庫(如sklearn)中實現(xiàn)的算法,這類書算法的案例應(yīng)用部分介紹得很詳細(xì),初學(xué)者會對機(jī)器學(xué)習(xí)應(yīng)用有所了解,但由于理論匱乏且沒有親自動手實現(xiàn)算法,故導(dǎo)致無法深入理解算法,學(xué)習(xí)一段時間后大部分內(nèi)容便忘記了。
本書是一本寫給初學(xué)者的機(jī)器學(xué)習(xí)算法入門書,試圖填補(bǔ)以上兩類書的不足。本書在講解算法時,首先詳細(xì)介紹數(shù)學(xué)模型及原理,然后帶領(lǐng)讀者根據(jù)模型和算法描述進(jìn)行算法實現(xiàn),最后通過案例讓讀者進(jìn)一步體會算法的應(yīng)用場景以及應(yīng)用時所需注意的問題。其中,算法實現(xiàn)部分是本書的重點,這部分所有算法的實現(xiàn)都基于Numpy這樣一個非常底層的數(shù)學(xué)庫,這就意味著需自己手工實現(xiàn)更多的細(xì)節(jié),例如在計算損失函數(shù)的梯度時,需要手工推導(dǎo)計算梯度的數(shù)學(xué)公式,然后對照公式編碼實現(xiàn)計算梯度的函數(shù),相信本書的這種做法對初學(xué)者來說是一個有益的訓(xùn)練。另外,書中幾乎每一行代碼都給出了詳盡的注釋,通過代碼注釋來講解算法的實現(xiàn)能給讀者帶來更好的體驗,也便于讀者理解編碼的思想。
本書精選了經(jīng)典的機(jī)器學(xué)習(xí)算法進(jìn)行講解,主要包括:
- 線性回歸
- Logistic回歸與Softmax回歸
- 決策樹(分類與回歸)
- 樸素貝葉斯
- 支持向量機(jī)
- k近鄰學(xué)習(xí)
- K-Means
- 人工神經(jīng)網(wǎng)絡(luò)
以上算法涵蓋機(jī)器學(xué)習(xí)領(lǐng)域重要的思想,建議初學(xué)者在學(xué)完本書后能深入理解并自己實現(xiàn)以上算法,它們是日后在機(jī)器學(xué)習(xí)領(lǐng)域繼續(xù)深入學(xué)習(xí)的基礎(chǔ)。
本書還提供了算法示例的源代碼,讀者可以掃描以下二維碼下載:

如何在下載過程中遇到問題,請聯(lián)系booksaga@163.com,郵件主題為“Python機(jī)器學(xué)習(xí)算法:原理、實現(xiàn)與案例下載資源”。
由于筆者水平有限,書中難免出現(xiàn)紕漏,懇請讀者不吝賜教。
最后,感謝清華大學(xué)出版社的王金柱編輯對筆者的信任和在寫作方面的指點,我們的第二次合作非常愉快。
劉 碩
2019年7月
- Oracle WebLogic Server 12c:First Look
- Twilio Best Practices
- Apache Hive Essentials
- VMware vSphere 6.7虛擬化架構(gòu)實戰(zhàn)指南
- Cassandra Data Modeling and Analysis
- Windows內(nèi)核編程
- 用戶體驗可視化指南
- 詳解MATLAB圖形繪制技術(shù)
- Go語言底層原理剖析
- 零基礎(chǔ)學(xué)Python編程(少兒趣味版)
- Python面試通關(guān)寶典
- Software Architecture with Python
- Python高性能編程(第2版)
- Learning Dynamics NAV Patterns
- Learning NHibernate 4