资源 | 普通程序员如何自学机器学习
機(jī)器學(xué)習(xí)工程師自學(xué)指南
???? 本文將會(huì)介紹機(jī)器學(xué)習(xí)的方方面面,從簡(jiǎn)單的線性回歸到最新的神經(jīng)網(wǎng)絡(luò),你不僅僅能學(xué)會(huì)如何使用它們,并且還能從零進(jìn)行構(gòu)建。
???? 以下內(nèi)容以計(jì)算機(jī)視覺為導(dǎo)向,這是學(xué)習(xí)一般知識(shí)的最快方法,并且你從中獲得的經(jīng)驗(yàn)可以很容易地遷移到機(jī)器學(xué)習(xí)的其他領(lǐng)域。
???? 本文我們將會(huì)使用TensorFlow作為機(jī)器學(xué)習(xí)框架。
???? 學(xué)習(xí)是一個(gè)多維因素作用的結(jié)果,所以如果能基于學(xué)習(xí)資料,理論和實(shí)踐并重,學(xué)習(xí)效果會(huì)好很多。另外,還有一個(gè)很好的實(shí)踐方法是參與Kaggle競(jìng)賽,通過競(jìng)賽的形式解決實(shí)際生活中的問題,從而鞏固此前所學(xué)。
(要求:關(guān)于Python,你無(wú)需達(dá)到專家級(jí)別,但要很好地掌握基礎(chǔ)知識(shí))
1.課程
1.1 實(shí)用機(jī)器學(xué)習(xí)(約翰霍普金斯大學(xué))
www.coursera.org/learn/pract…
1.2 機(jī)器學(xué)習(xí)(斯坦福大學(xué))
www.coursera.org/learn/machi…
以上兩個(gè)課程會(huì)教你一些數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí),也有助于你對(duì)更有難度知識(shí)的學(xué)習(xí)和掌握。
1.3 CS231n:面向視覺識(shí)別的卷積神經(jīng)網(wǎng)絡(luò) 2017 (2016)
cs231n.stanford.edu/
該課程是網(wǎng)上關(guān)于ML & CV最好的課程之一,不僅能讓你了解這里邊的水有多深,還能為你進(jìn)一步的研究探索打下良好的基礎(chǔ)。
1.4 深度學(xué)習(xí)(Udacity的課程)
www.udacity.com/course/deep…
1.5 CS224d:面向自然語(yǔ)言處理的深度學(xué)習(xí)
cs224d.stanford.edu/
1.6 深度學(xué)習(xí)相關(guān)的電子書(涵蓋了ML的方方面面)
leonardoaraujosantos.gitbooks.io/artificial-…
2.實(shí)戰(zhàn)
以下是課程和項(xiàng)目列表,有助于理解運(yùn)行原理并找到提升辦法。
2.1. Tensorflow 相關(guān)的簡(jiǎn)單練習(xí)課
www.kadenze.com/courses/cre…
2.2. Tensorflow cookbook
github.com/nfmcclure/t…
2.3. Tensorflow-101教程部分
github.com/lengstrom/f…
2.4. 如何使用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)圖像風(fēng)格遷移。
github.com/lengstrom/f…
2.5 圖像分割
github.com/MarvinTeich…
2.6 使用SSD實(shí)現(xiàn)物體識(shí)別
github.com/balancap/SS…
2.7 面向物體識(shí)別和分割的快速掩膜RCNN
github.com/CharlesShan…
2.8 強(qiáng)化學(xué)習(xí),對(duì)搭建一個(gè)機(jī)器人或者Dota AI非常有用。
github.com/dennybritz/…
2.9 Google Brain團(tuán)隊(duì)的Magenta項(xiàng)目
github.com/tensorflow/…
2.10 深度度雙邊學(xué)習(xí)實(shí)時(shí)圖像增強(qiáng)
groups.csail.mit.edu/graphics/hd…
2.11 自動(dòng)駕駛汽車項(xiàng)目
github.com/udacity/sel…
3. FAQ
學(xué)習(xí)過程中遇到困難怎么辦?
首先,你必須明白機(jī)器學(xué)習(xí)不是100%精確的,大多數(shù)情況下只是一個(gè)很好的猜測(cè)并且需要大量的調(diào)整迭代。因此,在大多數(shù)情況下,想出一些獨(dú)特的想法是非常困難的,因?yàn)槟愕臅r(shí)間和資源大多會(huì)花在訓(xùn)練模型上。所以不要試圖獨(dú)自找出解決方案,你可以搜索論文、項(xiàng)目以及找可以幫助你的人。可以說,在獲得經(jīng)驗(yàn)方面越快越好。
以下這些網(wǎng)站可以幫得到你:
www.gitxiv.com/
www.arxiv-sanity.com/
arxiv.org/, https://s…
為什么論文不能完全解決問題,或者在一些特定情況下為什么論文被驗(yàn)證是錯(cuò)的?
很遺憾的說,并不是所有的科技人員都愿意公開自己的研究成果,但他們需要通過發(fā)表論文來(lái)獲得收益或者名望。所以他們中的一些人只公布了一部分材料,或者給出了錯(cuò)誤的公式。所以我們最好搜索代碼,而不是論文。論文只是解決了特定問題的證據(jù)或者事實(shí)。
從哪里查找最新的學(xué)習(xí)資料?
www.gitxiv.com/,不僅能找到最新論文,還能找到所需要的代碼。
www.arxiv-sanity.com/
arxiv.org/
用云計(jì)算還是臺(tái)式機(jī)/筆記本電腦?
在有大量計(jì)算需求的情況下,云計(jì)算是最好的選擇。對(duì)于學(xué)習(xí)和測(cè)試,使用帶有支持CUDA的顯卡的PC/筆記本電腦要便宜得多。當(dāng)然,如果你有免費(fèi)云資源或多余資金,還是使用云比較好。
如何提高調(diào)超參數(shù)技能?
訓(xùn)練中的主要問題是時(shí)間,你不可能一直坐在那里盯著訓(xùn)練數(shù)據(jù),因此建議你使用Grid Search。只需要?jiǎng)?chuàng)建一組超參數(shù)和模型架構(gòu),一個(gè)接一個(gè)的運(yùn)行,并保存結(jié)果。這樣你就能晚上訓(xùn)練,在接下來(lái)的一天對(duì)比結(jié)果,直至找到最有希望的那個(gè)。
你可以看看如何在sklearn庫(kù)中完成這個(gè)操作:
scikit-learn.org/stable/modu…
總結(jié)
以上是生活随笔為你收集整理的资源 | 普通程序员如何自学机器学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3D游戏《龙心传奇Dragona》全套完
- 下一篇: 方法 | 机器学习(深度学习)通用工作流