當前位置:
首頁 > 科技 > 從線性回歸到神經網路,機器學習工程師的進階之路

從線性回歸到神經網路,機器學習工程師的進階之路

原文來源:hackernoon

作者:AndreyNikishaev

「機器人圈」編譯:嗯~阿童木呀、多啦A亮

在開始之前,我想告訴大家,我們將從最簡單的線性回歸開始,一直到最新的神經網路,從而讓你能夠了解機器學習的所有方面,相信你學習之後,不僅懂得該如何使用它們,還知道該如何從頭開始構建它們。

其實,這條學習之路中大部分知識是基於計算機視覺(CV)的,因為它是一條獲得一般知識的最佳捷徑,而從CV中獲得的經驗知識可以簡單地轉移到任何機器學習(ML)領域。

我們將使用TensorFlow作為ML框架,因為它是最有前途且早已準備充足的學習材料。

還有一點需要聲明的是,如果你現在正在學習相關理論和材料,且同時不斷地從已學材料中獲得經驗的話,學習效果將會更好。

此外,如果你想與那些能夠解決現實生活問題的人競爭,我建議你在Kaggle上註冊成為會員,以學習更多知識,因為它可能是你的簡歷中一個很好的加分項。

要求

Python,當然,你不必是成為一個導師,只要將基礎的知識掌握牢靠就很好了。關於其他任何相關知識,這裡有補充手冊。)

1.課程

1.1約翰霍普金斯大學的實用機器學習。

(https://www.coursera.org/learn/practical-machine-learning)

1.2斯坦福大學的機器學習

(https://www.coursera.org/learn/machine-learning)

前兩個課程主要講的是數據科學和機器學習的基本知識,從而使你準備充分開始一個真正的機器學習的艱難旅程。

(2016的版本在此處

http://academictorrents.com/details/46c5af9e2075d9af06f280b55b65cf9b44eb9fe7)

這就是你開始要好好學習的東西了,這是你能夠在互聯網上找到關於ML和CV的最好的課程。它不僅會告訴你這個領域的知識有多麼深,而且還會為你提供進一步調查的良好基礎。

1.4 *Google深度學習(https://www.udacity.com/course/deep-learning--ud730)

可選課程。你可以只選擇其中的實用部分。

對於那些想要掌握自然語言處理的人來說這是一個可選課程。不過,它確實很棒)

1.6 *深度學習教材(https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/)

這是涵蓋了ML許多方面的實用手冊。

2.實踐部分

該列表包括許多教程和項目,你可以試著去運行相關程序,了解它們的工作原理,並考慮該如何改進它們。創建這個列表的目的就是增加你在ML領域的專業知識和興趣,所以即使有些任務對你來說很難,也不要害怕,你可以在準備就緒時再回頭開始嘗試。

2.1來自Kadenze的Tensorflow的簡單實踐課程

(https://www.kadenze.com/courses/creative-applications-of-deep-learning-with-tensorflow-iv/info)

2.2Tensorflow教學集(https://github.com/nfmcclure/tensorflow_cookbook)

2.3Tensorflow-101教程集

(https://github.com/sjchoi86/Tensorflow-101)

2.4快速風格遷移網路

(https://github.com/lengstrom/fast-style-transfer)

這將顯示如何使用神經網路將名畫中的風格遷移到任何照片中。

2.5圖像分割

(https://github.com/MarvinTeichmann/tensorflow-fcn)

2.6使用SSD進行目標檢測

(https://github.com/balancap/SSD-Tensorflow)

用於對象檢測的最快(也更簡單)的模型之一。

2.7用於目標檢測和分割的快速掩碼RCNN(https://github.com/CharlesShang/FastMaskRCNN)

2.8強化學習

(https://github.com/dennybritz/reinforcement-learning)

非常有用的知識,特別是如果你想建立一個機器人或下一個Dota AI。

2.9來自Google Brain團隊的Magenta項目

(https://github.com/tensorflow/magenta/tree/master/magenta/models)

旨在通過神經網路創造令人信服的藝術和音樂的項目。結果非常顯著。

2.10用於實時圖像增強的深度雙邊學習(https://groups.csail.mit.edu/graphics/hdrnet/)

來自Google的最新的用於照片增強的神奇演算法。

2.11自動駕駛項目

(https://github.com/udacity/self-driving-car)

想讓你的汽車實現全自動?——這是一個很好的起點。

常見問題解答

如果你被難住了怎麼辦?

首先,你必須明白,機器學習不是100%精確的——大多數情況只是一個很好的猜測和大量的優化迭代。所以在大多數情況下想出一些獨特的想法是非常困難的,因為你將花大量的時間和資源來訓練模型。所以不要試圖自己找出解決方案——你應該搜索論文、項目以及尋找可以幫助你的人。這樣,你會更快更好地獲得經驗。

一些可以幫助你的網站:http://www.gitxiv.com/,http://www.arxiv-sanity.com/,https://arxiv.org/,https://stackoverflow.com

為什麼論文不能完全解決問題,甚至有些地方是錯的?

很可惜,但並不是所有的科技人員都想公開他們的工作,但他們都需要通過發表出版物才能獲得資助和成功。所以其中有些只是發布資料的一部分,或者故意在公式中出錯。這就是為什麼總是能更好地搜索到代碼而不是論文。你應該把這些論文當成一個論據或者某個問題解決的事實。

在哪裡可以找到最新的資料?

我使用這幾個網站http://www.gitxiv.com/,http://www.arxiv-sanity.com/,https://arxiv.org/。第一個網站不僅僅是一篇論文,也是一個代碼,所以更實用。

我應該使用雲端還是PC /筆記本電腦進行計算?

雲是最適合計算生產模型的。對於學習和測試,使用CUDA顯卡的PC /筆記本電腦經濟得多。例如,我用GTX GeForce 960M和690 CUDA內核在筆記本上訓練所有模型。

當然,如果你有雲或免費資助的設備,可以使用它。

如何改進模型超參數的優化?

在訓練中的主要問題是時間。你不能只是坐著觀看訓練統計數據。因此,我建議你使用GridSearch。基本上,只需創建一組超參數和模型體系結構,然後一個接一個地運行它們,保存結果就可以了。因此,你可以在晚上進行訓練,在第二天比較結果,找到最有中意的一個。

你可以在sklearn庫中查看如何完成:http://scikit-learn.org/stable/modules/grid_search.html

來源:機器人圈

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器人圈 的精彩文章:

用Python實現CNN長短期記憶網路!你也行
詳解徑向基函數神經網路RBNN,它和多層感知器MLP有何區別
K-NN聚類演算法的良好泛化,可用於數據簡化
未標註的數據如何處理?一文讀懂變分自編碼器VAE

TAG:機器人圈 |

您可能感興趣

機器學習與神經網路
機器學習中的人工神經網路
機器學習、深度學習、神經網路、深度神經網路之間有何區別?
輕鬆機器學習-神經網路的歷史
還差一步之學習神經網路
從生物神經網路到人工神經網路
使用前向神經網路做線性回歸
使用徑向基神經網路做非線性回歸
神經網路進化能否改變機器學習?
在機器學習中經常使用的6種人工神經網路
深度學習還是之前的神經網路嗎?
輕鬆機器學習-兩層神經網路
機器學習研究者必知的八個神經網路架構
掌握神經網路,入門深度學習
深度學習與神經網路概述
學界 | 牛津大學提出神經網路新訓練法:用低秩結構增強網路壓縮和對抗穩健性
從腦波到機器人運動,使用深度神經網路對大腦活動進行解碼
網路課程的學習效果提升
挑戰與機遇:新媒體時代下的網路凈化工程
聽專家談網路文學的出版之路