摘要: 愛學習的朋友們,大家的福利來了!2019五個最棒的機器學習課程!!python
憑藉強大的統計學基礎,機器學習正在成爲最有趣,節奏最快的計算機科學領域之一,目前已經有無窮無盡的行業和應用正在使用機器學習使它們更高效和智能。git
聊天機器人、垃圾郵件過濾、廣告投放、搜索引擎和欺詐檢測是機器學習模型正在實際應用於平常生活的幾個例子。github
機器學習究竟是什麼呢?我認爲機器學習是讓咱們找到模式併爲人類沒法作的事情建立數學模型。算法
機器學習課程與包含探索性數據分析,統計,通訊和可視化技術等主題的數據科學課程不一樣,它更側重於教授機器學習算法,如何以數學方式工做,以及如何在編程語言中使用它們。編程
如下是今年五大機器學習課程的簡要回顧。瀏覽器
最好的五個機器學習課程:網絡
1. 機器學習-Coursera框架
2. 深度學習專項課程-Coursera機器學習
3. 使用Python進行機器學習-Coursera編程語言
5. 機器學習-EdX
上面的每門課程都遵循如下標準:
· 嚴格關注機器學習;
· 使用免費的開源編程語言,即Python,R或Octave;
· 這些開源的語言都有不少免費的開源庫;
· 包含練習和實踐經驗的編程任務;
· 解釋算法如何以數學方式工做;
· 有吸引力的講師和有趣的講座;
有了這個標準,不少課程都會被淘汰,爲了讓本身沉浸其中並儘量快速全面地學習ML,我相信除了在線學習以外,你還應該尋找各類書籍。如下是兩本對個人學習經歷產生重大影響的書籍。
除了參加下面的任何視頻課程,若是你對機器學習還不熟悉,你應該考慮閱讀如下書籍:
本書提供了使人難以置信的清晰直接的解釋和示例,以提升你對許多基本機器學習技術的總體數學直覺。而去更多地是關於事物的理論方面,但它確實包含許多使用R編程語言的練習和例子。
· 使用Scikit-Learn和TensorFlow進行動手機器學習,可經過Safari訂閱得到。
這是對前一本書的一個很好的補充,由於本文主要關注使用Python進行機器學習的應用。本書將強化你的編程技巧,並向你展現如何當即將機器學習應用於項目。如今,讓咱們來看看課程描述和評論。
此課程的創做者是Andrew Ng,一個斯坦福大學教授,谷歌大腦、Coursera的創始人之一。本課程使用開源編程語言Octave而不是Python或R進行教學。對於某些人來講,這多是不太友好,但若是你是一個完整的初學者,Octave其實是一種最簡單學習ML基礎知識的方法。
總的來講,課程材料很是全面,而且由Ng直觀地表達,該課程完整地解釋了理解每一個算法所需的全部數學,包括一些微積分解釋和線性代數的複習,課程至關獨立,但事先對線性代數的一些瞭解確定會有所幫助。
提供者:Andrew Ng,斯坦福大學
費用:免費審覈,證書79美圓
課程結構:
· 單變量的線性迴歸
· 回顧線性代數
· 多變量的線性迴歸
· Octave/Matlab教程
· Logistic迴歸
· 正則化
· 神經網絡:表示
· 神經網絡:學習
· 應用機器學習的建議
· 機器學習系統設計
· 支持向量機
· 降維
· 異常檢測
· 推薦系統
· 大規模機器學習
· 應用示例:Photo OCR
若是你能夠承諾完成整個課程,你將在大約四個月內掌握機器學習的基礎知識。以後,你能夠輕鬆地進入更高級或專業的主題,如深度學習,ML工程或任何其餘引發你興趣的話題。毫無疑問,這是新手開始的最佳課程。
一樣由Andrew Ng教授,這是一個更高級的課程系列,適合任何有興趣學習神經網絡和深度學習的人。每門課程的做業和講座都使用Python編程語言,並將TensorFlow庫用於神經網絡。這第一個機器學習課程的很好的後續,由於你如今將接觸使用Python進行機器學習。
提供者:Andrew Ng,deeplearning.ai
費用:免費審覈,證書每個月49美圓
課程結構:
1. 神經網絡與深度學習
· 深度學習簡介
· 神經網絡基礎知識
· 淺層神經網絡
· 深度神經網絡
2.改進神經網絡:超參數調整,正則化和優化
· 深度學習的實踐方面
· 優化算法
· 超參數調整,批量標準化和編程框架
3.構建機器學習項目
· ML策略(1)
· ML策略(2)
4.卷積神經網絡
· 卷積神經網絡的基礎
· 深度卷積模型:案例研究
· 物體檢測
· 特殊應用:人臉識別和神經風格轉移
5.序列模型
· 遞歸神經網絡
· 天然語言處理和Word嵌入
· 序列模型和注意機制
爲了理解本課程中介紹的算法,你應該熟悉線性代數和機器學習。若是你須要一些建議來獲取所需的數學,請參閱本文末尾的學習指南。
這是另外一個初學者課程,這個課程僅關注最基本的機器學習算法。本課程使用Python教學,而且對數學的要求不是很高。經過每一個模塊,你將有機會使用交互式Jupyter筆記原本完成你剛學過的新概念。每一個筆記本都加強了你的知識,併爲你提供了在實際數據上使用算法的具體說明。
提供者:IBM
價格:免費審覈,證書每個月39美圓
課程結構:
· 機器學習簡介
· 迴歸
· 分類
· 聚類
· 推薦系統
· 項目
本課程最好的一點是爲每種算法提供實用的建議。當引入新算法時,老師會向你提供它的工做原理,它的優勢和缺點,以及你應該使用它的哪一種狀況。這些點常常被排除在其餘課程以外,這些信息對於新學員來講很是重要。
這是另外一個高級系列課程,涉及了很是多的網絡類型。若是你有興趣儘量多地使用機器學習技術,這個課程很關鍵。本課程的教學很是棒,因爲其先進性,你須要學習更多的數學。本課程涵蓋的大部份內容對許多機器學習項目相當重要。
提供者:國立研究大學高等經濟學院
成本:免費審覈,每個月49美圓的證書
課程:
1. 深度學習簡介
· 優化簡介
· 神經網絡簡介
· 深度學習圖像
· 無監督表示學習
· Dee學習序列
· 項目
2.如何贏得數據科學競賽:向頂級Kagglers學習
· 介紹和回顧
· 關於模型的特徵處理和生成
· 最終項目描述
· 探索性數據分析
· 驗證
· 數據泄漏
· 度量標準優化
· 高級特徵工程-1
· 超參數優化
· 高級特徵工程-2
· Ensembling
· 項目
3.機器學習的貝葉斯方法
· 貝葉斯方法和共軛先驗的介紹
· 指望最大化算法
· 變分推斷和潛在Dirichlet分配(LDA)
· 馬爾可夫鏈蒙特卡洛
· 變分自動編碼器
· 高斯過程和貝葉斯優化
· 項目
4.實踐強化學習
· 簡介:我爲何要關心?
· RL的核心:動態編程
· 無模型方法
· 基於近似值的方法
· 基於政策的方法
· 探索
5.計算機視覺中的深度學習
· 圖像處理和計算機視覺入門
· 視覺識別的卷積特徵
· 物體檢測
· 對象跟蹤和動做識別
· 圖像分割與合成
6.天然語言處理
· 簡介和文本分類
· 語言建模和序列標記
· 語義的向量空間模型
· 序列到序列任務
· 對話系統
7.經過機器學習解決大型強子對撞機挑戰
· 數據科學家的粒子物理入門
· 粒子識別
· 尋找稀有衰變中的新物理學
· 在新的CERN實驗中用機器學習搜索暗物質提示
· 探測器優化
完成這一系列課程大約須要8到10個月,因此若是你從今天開始,在不到一年的時間裏,你將學到大量的機器學習算法,並可以開始處理更多尖端的應用程序。在這幾個月中,你還將建立幾個真正的項目,使計算機學習如何閱讀,查看和播放。這些項目將成爲你投資組合的理想選擇,並將使你的GitHub對任何感興趣的僱主都很是活躍。
這是一個高級課程,具備文中任何其餘課程的最高數學先決條件。你須要很是牢固地掌握線性代數、微積分、機率和編程。該課程在Python或Octave中都有編程做業,但該課程不教授任何一種語言。與其餘課程的不一樣之處是對機器學習的機率方法的講解。若是你有興趣閱讀教科書,例如機器學習:機率視角,這是碩士課程中最流行的數據科學書籍之一。
提供者:哥倫比亞大學
費用:免費審覈,證書300美圓
課程結構:
· 最大似然估計,線性迴歸,最小二乘法
· 嶺迴歸,誤差方差,貝葉斯規則,最大後驗推斷
· 最近鄰分類,貝葉斯分類器,線性分類器,感知器
· Logistic迴歸,Laplace逼近,核方法,高斯過程
· 最大邊距,支持向量機(SVM),樹木,隨機森林,提高
· 聚類,K均值,EM算法,缺失數據
· 高斯混合,矩陣分解
· 非負矩陣分解,潛在因子模型,PCA和變化
· 馬爾可夫模型,隱馬爾可夫模型
· 連續狀態空間模型,關聯分析
· 模型選擇,後續步驟
課程中的許多主題都包含在針對初學者的其餘課程中,但數學並未在這裏淡化。若是你已經學習了這些技術,有興趣深刻研究數學,並但願從事實際推導出某些算法的編程做業,那麼請學習本課程。
這裏是你學習機器學習之旅的快速指南,首先,咱們將介紹大多數機器學習課程的先決條件。
高級的課程在開始以前須要如下知識:
· 線性代數
· 機率
· 微積分
· 程序設計
這些是可以理解機器學習如何在幕後工做的簡單組件。許多初級課程一般要求至少一些編程和熟悉線性代數基礎知識,例如向量,矩陣。本文的第一個課程,Andrew Ng的機器學習,包含了你須要的大部分數學的複習,可是若是你之前沒有學過線性代數,那麼同時學習機器學習和線性代數可能會很困難。
另外,我建議學習Python,由於大多數優秀的ML課程都使用Python。若是你學習使用Octave的Andrew Ng的機器學習課程,你應該在課程期間或以後學習Python,由於你最終須要它。另外,另外一個很棒的Python資源是dataquest.io,它在他們的交互式瀏覽器環境中有一堆免費的Python課程。在學習了必備必需品以後,你就能夠開始真正理解算法的工做原理了。
在機器學習中有一套基本的算法,每一個人都應該熟悉並具備使用經驗。這些是:
· 線性迴歸
· Logistic迴歸
· k-Means聚類
· k-最近鄰居
· 支持向量機(SVM)
· 決策樹
· 隨機森林
· 樸素貝葉斯
這些是必需品,上面列出的課程基本上包含全部這些。在開展新項目時,瞭解這些技術如何工做以及什麼時候使用它們將很是重要。
在基礎知識以後,一些更先進的學習技巧將是:
· 集成學習
· Boosting
· 降維
· 強化學習
· 神經網絡與深度學習
這只是一個開始,但這些算法一般是你在最有趣的機器學習解決方案中看到的,它們是你工具箱的有效補充。就像基本技術同樣,你學習的每個新工具都應該養成一個習慣,當即將它應用到項目中,以鞏固你的理解,並在須要複習時有所回頭。
在線學習機器學習具備挑戰性而且很是有益。重要的是要記住,只是觀看視頻和參加測驗並不意味着你真的在學習這些材料。若是你正在進行的項目使用不一樣的數據而且目標與課程自己不一樣,你將學到更多。
一旦你開始學習基礎知識,你應該尋找能夠應用這些新技能的有趣數據。上面的課程將爲你提供什麼時候應用某些算法的直覺,所以當即將它們應用於你本身的項目中是一種很好的作法。
經過反覆試驗,探索和反饋,你將發現如未嘗試不一樣的技術,如何衡量結果,以及如何分類或預測。有關要採用何種ML項目的一些靈感,請參閱此示例列表。
解決項目可讓你更好地理解機器學習環境,當你深刻了解深度學習等更高級的概念時,實際上可使用無限數量的技術和方法來理解和使用。
機器學習是一個快速發展的領域,天天都有新的技術和應用出現。一旦你經過基礎知識,你應該有能力經過一些關於你感興趣的主題的研究論文。有幾個網站能夠得到符合你標準的新論文的通知。
Google學術搜索始終是一個好的開始,輸入「機器學習」和「深度學習」等關鍵詞,或者你感興趣的任何其餘內容,點擊左側的「建立提醒」連接便可收到電子郵件。
讓它成爲每週習慣,閱讀這些警報,掃描文件,看看它們是否值得閱讀,而後承諾瞭解正在發生的事情。若是它與你正在處理的項目有關,請查看你是否能夠將這些技術應用於你本身的問題。