通過互聯(lián)網(wǎng)學(xué)習(xí)意味著可以在無垠的知識(shí)海洋中遨游,但也可能因?yàn)閺V闊而迷失。在這個(gè)項(xiàng)目中,作者為機(jī)器學(xué)習(xí)提供了一個(gè)完整的學(xué)習(xí)路徑。從 ML 到 DL、Scikit-Learn 到 TensorFlow,你需要這份學(xué)海指南。 曾有多少次,當(dāng)你試圖接近某一個(gè)新主題或領(lǐng)域時(shí),會(huì)感到困惑、迷失方向并且無「路」可循。要如何確保你能夠深刻理解并且獲得運(yùn)用它的能力呢?當(dāng)然是借鑒其他人的成熟路徑,然后跟著他一步步學(xué)習(xí),少走很多彎路。 在這篇文章中,作者總結(jié)了三四年內(nèi)從互聯(lián)網(wǎng)學(xué)習(xí)機(jī)器學(xué)習(xí)的經(jīng)驗(yàn),他收集了大量開源項(xiàng)目、工具、教程和視頻鏈接等資源,并將它們組織成一條高效的學(xué)習(xí)路徑。
本資源庫(kù)旨在為以下領(lǐng)域提供三種有機(jī)完整的學(xué)習(xí)路徑:
在此你將能夠了解相關(guān)原理并且在項(xiàng)目實(shí)踐中予以運(yùn)用。如果仔細(xì)遵循這些學(xué)習(xí)路徑,則可以從零開始構(gòu)建完整的認(rèn)識(shí)和獲得始終可用的技能。事實(shí)上,這些學(xué)習(xí)路徑不需要之前有相關(guān)知識(shí),但基礎(chǔ)編程和簡(jiǎn)單數(shù)學(xué)是理解和實(shí)踐大多數(shù)概念的必要條件。 這里列出的每一個(gè)資源都是免費(fèi)或開源的,作者設(shè)法以簡(jiǎn)潔方式進(jìn)行表述以避免顯得太過復(fù)雜。此外,作者試圖按照層次和復(fù)雜程度來組織內(nèi)容,從而為學(xué)習(xí)機(jī)器學(xué)習(xí)原理提供一個(gè)連貫的概念。 作者表示,第二本指南(商業(yè)智能)將在 2 至 3 周內(nèi)發(fā)布:
以下是不同學(xué)習(xí)路徑的的路線圖(機(jī)器學(xué)習(xí)的路線圖已發(fā)布)。 三大路徑與專題在三大路徑中,機(jī)器學(xué)習(xí)工程師已經(jīng)完成并發(fā)布,其它商業(yè)數(shù)據(jù)分析和云計(jì)算還沒有完成。其中在機(jī)器學(xué)習(xí)工程師需要從基本的工具、傳統(tǒng)機(jī)器學(xué)習(xí)到深度學(xué)習(xí)打造完整的知識(shí)體系,同時(shí)也要知道如何工程化地開發(fā)和部署模型。 在學(xué)習(xí) ML 和 DL 的過程中,作者表示重點(diǎn)是按照層次理解各模型的概念,并通過優(yōu)秀的開源框架實(shí)現(xiàn)這些概念。文章后面會(huì)具體介紹機(jī)器學(xué)習(xí)工程師應(yīng)該學(xué)習(xí)哪些模型與工具才能一步步成長(zhǎng)。 對(duì)于后面的兩條路徑,它們注重的內(nèi)容不同,知識(shí)體系也不一樣,有需要的同學(xué)還需要等幾周。此外,作者還提供了一些額外的擴(kuò)展知識(shí),包括數(shù)據(jù)專題和軟技能專題。 其中數(shù)據(jù)專題介紹了數(shù)據(jù)的各種操作,它們的確是每一位數(shù)據(jù)工作者的核心工具包。從某種角度看,與數(shù)據(jù)打交道是一門藝術(shù),最佳實(shí)踐會(huì)幫助你理解處理數(shù)據(jù)的正確方式,但同時(shí)你也需要培養(yǎng)一種如何處理數(shù)據(jù)的「直覺」,而這種「直覺」大都是由情境和經(jīng)驗(yàn)驅(qū)動(dòng)的?;诖?,這些專題將著重討論訓(xùn)練和實(shí)踐。 機(jī)器學(xué)習(xí)工程師成才之路這一部分介紹了已經(jīng)發(fā)布的「機(jī)器學(xué)習(xí)工程師」學(xué)習(xí)路徑,作者介紹了很多學(xué)習(xí)資源,我們只展示了簡(jiǎn)要的示例,更多細(xì)節(jié)請(qǐng)查看原項(xiàng)目。 這里列出的所有東西都是開源且免費(fèi)的,而且大部分來自世界著名的大學(xué)和開源協(xié)會(huì)。 當(dāng)我們學(xué)習(xí)一些新的東西,尤其是那些內(nèi)容廣泛又復(fù)雜的事物時(shí),避免混淆是很有必要的。因此本文接下來將介紹一些相關(guān)內(nèi)容,而且盡可能采用那些來自相同語境和作者的內(nèi)容。如果沒有合適的內(nèi)容,作者收集了理論和例子以及一些指向資源的內(nèi)容,如「______的最佳實(shí)踐」。 作者將學(xué)習(xí)路徑分為四部分: 1. 先決條件
2. 用 Scikit-Learn 庫(kù)進(jìn)行機(jī)器學(xué)習(xí)
3. 用 TensorFlow 學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)
4. 學(xué)習(xí)工具
背景知識(shí)Python 是最有用和受歡迎的編程語言之一,因此它用于機(jī)器學(xué)習(xí)領(lǐng)域是無可厚非的事。和數(shù)據(jù)科學(xué)領(lǐng)域的大部分框架一樣,TensorFlow 和 Python 結(jié)合了,而 Scikit-Learn 則是用 Python 寫的。 簡(jiǎn)而言之,Jupyter Notebook 就是用來寫并運(yùn)行 Python 代碼的編輯器。與數(shù)據(jù)打交道意味著需要大量實(shí)驗(yàn),并將實(shí)驗(yàn)組織成某些具體的形式以獲取潛在知識(shí),所以 Jupyter Notebook 就必不可少了。 Python 和 Jupyer Notebook 是最基礎(chǔ)的模塊,相信大家已經(jīng)非常熟了。如果需要走機(jī)器學(xué)習(xí)之路,除了 Python 外,首先就需要知道如何使用數(shù)值計(jì)算庫(kù) NumPy、可視化庫(kù) Matplotlib 和數(shù)據(jù)預(yù)處理庫(kù) Pandas,它們都是機(jī)器學(xué)習(xí)工程必不可少的工具。 有人告訴你機(jī)器學(xué)習(xí)背后的數(shù)學(xué)很難?這么說也沒錯(cuò)。但是,要知道你每次要用它的時(shí)候,機(jī)器會(huì)為你處理這些。所以重點(diǎn)是抓住主要概念并認(rèn)識(shí)到其局限性和應(yīng)用方面。如果你不熟悉這些概念,那就學(xué)習(xí),因?yàn)檫@是所有一切的原理。 有了這三種資源,你就能夠明白你真正需要深入理解的大部分東西。
如下書籍所述,它描述了有關(guān)什么是機(jī)器學(xué)習(xí)以及什么時(shí)候需要機(jī)器學(xué)習(xí),這些都是最簡(jiǎn)潔和最具啟發(fā)性的概述。 地址:https://www./library/view/hands-on-machine-learning/9781491962282/ch01.html 傳統(tǒng)編程開發(fā)流程。 機(jī)器學(xué)習(xí)開發(fā)流程。 機(jī)器學(xué)習(xí)與 Scikit-LearnScikit-Learn 是最完整、最成熟以及完檔最完整的機(jī)器學(xué)習(xí)任務(wù)庫(kù)之一。Scikit-Learn 利用功能強(qiáng)大和先進(jìn)的模型實(shí)現(xiàn)「開箱即用」,并且為數(shù)據(jù)科學(xué)流程提供設(shè)施功能。初次使用時(shí),作者建議你過一遍下面的 Kaggle 案例,它目的是試圖對(duì)泰坦尼克號(hào)上的乘客是否最有可能生還作出預(yù)測(cè)。 泰坦尼克號(hào)示例:https://www./startupsci/titanic-data-science-solutions 其它更多的示例與資料可在 Kaggle 上獲得,該平臺(tái)提供大量免費(fèi)數(shù)據(jù)集以及有趣的挑戰(zhàn)和機(jī)器學(xué)習(xí)模型試驗(yàn)。 1. 線性回歸 最簡(jiǎn)單的機(jī)器學(xué)習(xí)形式,也是每個(gè)對(duì)預(yù)測(cè)數(shù)據(jù)集結(jié)果感興趣的人的起點(diǎn)。
2. 分類 當(dāng)想要從不同的可能性中預(yù)測(cè)結(jié)果時(shí),分類是最重要的機(jī)器學(xué)習(xí)任務(wù)之一。
3. 支持向量機(jī)(SVM) 支持向量機(jī)是一種非常經(jīng)典的 ML 模型,它的目的是尋找一個(gè)超平面來對(duì)樣本進(jìn)行分割,分割的原則是類別間隔最大化,最終轉(zhuǎn)化為一個(gè)凸二次規(guī)劃問題來求解。
4. 決策樹 決策樹預(yù)測(cè)結(jié)果背后最簡(jiǎn)單但最有效的方法之一,它們被用于很多方面(如隨機(jī)森林)。
5. 集成學(xué)習(xí)和隨機(jī)森林 集成學(xué)習(xí)是利用所有不同特征、一些機(jī)器學(xué)習(xí)模型的優(yōu)缺點(diǎn)來獲得一組「投票者」,這些投票者在每次預(yù)測(cè)時(shí)都會(huì)給你最有可能的結(jié)果,這些投票由不同的分類器給出(SVM、ID3 算法、logistic 回歸)。 6. 無監(jiān)督學(xué)習(xí)
深度學(xué)習(xí)和 TensorFlow自 2015 年開源以來,深度學(xué)習(xí)框架的天下就屬于 TensorFlow。不論是 GitHub 的收藏量或 Fork 量,還是業(yè)界使用量都無可比擬地位列頂尖。這一部分作者介紹了很多 TensorFlow 相關(guān)的教程與實(shí)現(xiàn),推薦讀者可以直接看 TensorFlow 的官方教程。對(duì)于深度學(xué)習(xí),讀者可以跟著斯坦福的 CS231n 課程或《深度學(xué)習(xí)》進(jìn)行學(xué)習(xí)。
在了解 TensorFlow 后,作者表示我們可以迭代地學(xué)習(xí)用深度學(xué)習(xí)做工程:
后面作者從全連接網(wǎng)絡(luò)、循環(huán)網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)和自編碼器等模塊介紹了很多學(xué)習(xí)資源,詳細(xì)內(nèi)容請(qǐng)查看原 GitHub 項(xiàng)目。 學(xué)習(xí)工具這一部分,作者整理大量學(xué)習(xí)資源,包括機(jī)器學(xué)習(xí)項(xiàng)目、工具、Youtube 頻道、博客、網(wǎng)站等,感興趣的讀者可自行查看。 |
|