亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)方法 > 通用學(xué)習(xí)方法 > 學(xué)習(xí)方法指導(dǎo) >

      機(jī)器學(xué)習(xí)方法有哪些

      時間: 欣怡1112 分享

        機(jī)器學(xué)習(xí)方法有哪些?在互聯(lián)網(wǎng)領(lǐng)域從事機(jī)器學(xué)習(xí)的人,有2類背景的人比較多,其中一部分(很大一部分)是程序員出身,這類同學(xué)工程經(jīng)驗相對會多一些,另一部分是學(xué)數(shù)學(xué)統(tǒng)計領(lǐng)域的同學(xué),這部分同學(xué)理論基礎(chǔ)相對扎實一些。下面是學(xué)習(xí)啦小編分享給大家的機(jī)器入門方法與學(xué)習(xí)路徑的資料,希望大家喜歡!

        機(jī)器入門方法與學(xué)習(xí)路徑

        數(shù)學(xué)基礎(chǔ)

        有無數(shù)激情滿滿大步向前,誓要在機(jī)器學(xué)習(xí)領(lǐng)域有一番作為的同學(xué),在看到公式的一刻突然就覺得自己狗帶了。是啊,機(jī)器學(xué)習(xí)之所以相對于其他開發(fā)工作,更有門檻的根本原因就是數(shù)學(xué)。每一個算法,要在訓(xùn)練集上最大程度擬合同時又保證泛化能力,需要不斷分析結(jié)果和數(shù)據(jù),調(diào)優(yōu)參數(shù),這需要我們對數(shù)據(jù)分布和模型底層的數(shù)學(xué)原理有一定的理解。所幸的是如果只是想合理應(yīng)用機(jī)器學(xué)習(xí),而不是做相關(guān)方向高精尖的research,需要的數(shù)學(xué)知識啃一啃還是基本能理解下來的。至于更高深的部分,恩,博主非常愿意承認(rèn)自己是『數(shù)學(xué)渣』。

        基本所有常見機(jī)器學(xué)習(xí)算法需要的數(shù)學(xué)基礎(chǔ),都集中在微積分、線性代數(shù)和概率與統(tǒng)計當(dāng)中。下面我們先過一過知識重點,文章的后部分會介紹一些幫助學(xué)習(xí)和鞏固這些知識的資料。

        微積分

        微分的計算及其幾何、物理含義,是機(jī)器學(xué)習(xí)中大多數(shù)算法的求解過程的核心。比如算法中運用到梯度下降法、牛頓法等。如果對其幾何意義有充分的理解,就能理解“梯度下降是用平面來逼近局部,牛頓法是用曲面逼近局部”,能夠更好地理解運用這樣的方法。

        凸優(yōu)化和條件最優(yōu)化 的相關(guān)知識在算法中的應(yīng)用隨處可見,如果能有系統(tǒng)的學(xué)習(xí)將使得你對算法的認(rèn)識達(dá)到一個新高度。

        線性代數(shù)

        大多數(shù)機(jī)器學(xué)習(xí)的算法要應(yīng)用起來,依賴于高效的計算,這種場景下,程序員GG們習(xí)慣的多層for循環(huán)通常就行不通了,而大多數(shù)的循環(huán)操作可轉(zhuǎn)化成矩陣之間的乘法運算,這就和線性代數(shù)有莫大的關(guān)系了

        向量的內(nèi)積運算更是隨處可見。

        矩陣乘法與分解在機(jī)器學(xué)習(xí)的主成分分析(PCA)和奇異值分解(SVD) 等部分呈現(xiàn)刷屏狀地出現(xiàn)。

        概率與統(tǒng)計

        從廣義來說,機(jī)器學(xué)習(xí)在做的很多事情,和統(tǒng)計層面數(shù)據(jù)分析和發(fā)掘隱藏的模式,是非常類似的。

        極大似然思想、貝葉斯模型 是理論基礎(chǔ),樸素貝葉斯(Na?ve Bayes )、語言模型(N-gram)、隱馬爾科夫(HMM)、隱變量混合概率模型是他們的高級形態(tài)。

        常見分布如高斯分布是混合高斯模型(GMM)等的基礎(chǔ)。

        典型算法

        絕大多數(shù)問題用典型機(jī)器學(xué)習(xí)的算法都能解決,粗略地列舉一下這些方法如下:

        處理分類問題的常用算法包括:邏輯回歸(工業(yè)界最常用),支持向量機(jī),隨機(jī)森林,樸素貝葉斯(NLP中常用),深度神經(jīng)網(wǎng)絡(luò)(視頻、圖片、語音等多媒體數(shù)據(jù)中使用)。

        處理回歸問題的常用算法包括:線性回歸,普通最小二乘回歸(Ordinary Least Squares Regression),逐步回歸(Stepwise Regression),多元自適應(yīng)回歸樣條(Multivariate Adaptive Regression Splines)

        處理聚類問題的常用算法包括:K均值(K-means),基于密度聚類,LDA等等。

        降維的常用算法包括:主成分分析(PCA),奇異值分解(SVD) 等。

        推薦系統(tǒng)的常用算法:協(xié)同過濾算法

        模型融合(model ensemble)和提升(boosting)的算法包括:bagging,adaboost,GBDT,GBRT

        其他很重要的算法包括:EM算法等等。

        我們多插一句,機(jī)器學(xué)習(xí)里所說的“算法”與程序員所說的“數(shù)據(jù)結(jié)構(gòu)與算法分析”里的“算法”略有區(qū)別。前者更關(guān)注結(jié)果數(shù)據(jù)的召回率、精確度、準(zhǔn)確性等方面,后者更關(guān)注執(zhí)行過程的時間復(fù)雜度、空間復(fù)雜度等方面。 。當(dāng)然,實際機(jī)器學(xué)習(xí)問題中,對效率和資源占用的考量是不可或缺的。

        編程語言、工具和環(huán)境

        看了無數(shù)的理論與知識,總歸要落到實際動手實現(xiàn)和解決問題上。而沒有工具所有的材料和框架、邏輯、思路都給你,也寸步難行。因此我們還是得需要合適的編程語言、工具和環(huán)境幫助自己在數(shù)據(jù)集上應(yīng)用機(jī)器學(xué)習(xí)算法,或者實現(xiàn)自己的想法。對初學(xué)者而言,Python和R語言是很好的入門語言,很容易上手,同時又活躍的社區(qū)支持,豐富的工具包幫助我們完成想法。相對而言,似乎計算機(jī)相關(guān)的同學(xué)用Python多一些,而數(shù)學(xué)統(tǒng)計出身的同學(xué)更喜歡R一些。我們對編程語言、工具和環(huán)境稍加介紹:

        python

        python有著全品類的數(shù)據(jù)科學(xué)工具,從數(shù)據(jù)獲取、數(shù)據(jù)清洗到整合各種算法都做得非常全面。

        網(wǎng)頁爬蟲: scrapy

        數(shù)據(jù)挖掘:

        pandas:模擬R,進(jìn)行數(shù)據(jù)瀏覽與預(yù)處理。

        numpy:數(shù)組運算。

        scipy:高效的科學(xué)計算。

        matplotlib:非常方便的數(shù)據(jù)可視化工具。

        機(jī)器學(xué)習(xí):

        scikit-learn:遠(yuǎn)近聞名的機(jī)器學(xué)習(xí)package。未必是最高效的,但是接口真心封裝得好,幾乎所有的機(jī)器學(xué)習(xí)算法輸入輸出部分格式都一致。而它的支持文檔甚至可以直接當(dāng)做教程來學(xué)習(xí),非常用心。對于不是非常高緯度、高量級的數(shù)據(jù),scikit-learn勝任得非常好(有興趣可以看看sklearn的源碼,也很有意思)。

        libsvm:高效率的svm模型實現(xiàn)(了解一下很有好處,libsvm的系數(shù)數(shù)據(jù)輸入格式,在各處都非常常見)

        keras/TensorFlow:對深度學(xué)習(xí)感興趣的同學(xué),也能很方便地搭建自己的神經(jīng)網(wǎng)絡(luò)了。

        自然語言處理:

        nltk:自然語言處理的相關(guān)功能做得非常全面,有典型語料庫,而且上手也非常容易。

        交互式環(huán)境:

        ipython notebook:能直接打通數(shù)據(jù)到結(jié)果的通道,方便至極。強(qiáng)力推薦。

        R最大的優(yōu)勢是開源社區(qū),聚集了非常多功能強(qiáng)大可直接使用的包,絕大多數(shù)的機(jī)器學(xué)習(xí)算法在R中都有完善的包可直接使用,同時文檔也非常齊全。常見的package包括:RGtk2, pmml, colorspace, ada, amap, arules, biclust, cba, descr, doBy, e1071, ellipse等等。另外,值得一提的是R的可視化效果做得非常不錯,而這對于機(jī)器學(xué)習(xí)是非常有幫助的。

        其他語言

        相應(yīng)資深程序員GG的要求,再補(bǔ)充一下java和C++相關(guān)機(jī)器學(xué)習(xí)package。

        Java系列

        WEKA Machine Learning Workbench 相當(dāng)于java中的scikit-learn

        其他的工具如Massive Online Analysis(MOA)、MEKA 、 Mallet 等也非常有名。

        更多詳細(xì)的應(yīng)用請參考這篇文章《25個Java機(jī)器學(xué)習(xí)工具&庫》

        C++系列

        mlpack,高效同時可擴(kuò)充性非常好的機(jī)器學(xué)習(xí)庫。

        Shark:文檔齊全的老牌C++機(jī)器學(xué)習(xí)庫。

        大數(shù)據(jù)相關(guān)

        Hadoop:基本上是工業(yè)界的標(biāo)配了。一般用來做特征清洗、特征處理的相關(guān)工作。

        spark:提供了MLlib這樣的大數(shù)據(jù)機(jī)器學(xué)習(xí)的平臺,實現(xiàn)了很多常用算法。但可靠性、穩(wěn)定性上有待提高。

        操作系統(tǒng)

        mac和linux會方便一些,而windows在開發(fā)中略顯力不從心。所謂方便,主要是指的mac和linux在下載安裝軟件、配置環(huán)境更快捷。

        對于只習(xí)慣windows的同學(xué),推薦anaconda,一步到位安裝完python的全品類數(shù)據(jù)科學(xué)工具包。

        基本工作流程

        以上我們基本具備了機(jī)器學(xué)習(xí)的必要條件,剩下的就是怎么運用它們?nèi)プ鲆粋€完整的機(jī)器學(xué)習(xí)項目。其工作流程如下:

        抽象成數(shù)學(xué)問題

        明確問題是進(jìn)行機(jī)器學(xué)習(xí)的第一步。機(jī)器學(xué)習(xí)的訓(xùn)練過程通常都是一件非常耗時的事情,胡亂嘗試時間成本是非常高的。

        這里的抽象成數(shù)學(xué)問題,指的我們明確我們可以獲得什么樣的數(shù)據(jù),目標(biāo)是一個分類還是回歸或者是聚類的問題,如果都不是的話,如果劃歸為其中的某類問題。

        獲取數(shù)據(jù)

        數(shù)據(jù)決定了機(jī)器學(xué)習(xí)結(jié)果的上限,而算法只是盡可能逼近這個上限。

        數(shù)據(jù)要有代表性,否則必然會過擬合。

        而且對于分類問題,數(shù)據(jù)偏斜不能過于嚴(yán)重,不同類別的數(shù)據(jù)數(shù)量不要有數(shù)個數(shù)量級的差距。

        而且還要對數(shù)據(jù)的量級有一個評估,多少個樣本,多少個特征,可以估算出其對內(nèi)存的消耗程度,判斷訓(xùn)練過程中內(nèi)存是否能夠放得下。如果放不下就得考慮改進(jìn)算法或者使用一些降維的技巧了。如果數(shù)據(jù)量實在太大,那就要考慮分布式了。

        特征預(yù)處理與特征選擇

        良好的數(shù)據(jù)要能夠提取出良好的特征才能真正發(fā)揮效力。

        特征預(yù)處理、數(shù)據(jù)清洗是很關(guān)鍵的步驟,往往能夠使得算法的效果和性能得到顯著提高。歸一化、離散化、因子化、缺失值處理、去除共線性等,數(shù)據(jù)挖掘過程中很多時間就花在它們上面。這些工作簡單可復(fù)制,收益穩(wěn)定可預(yù)期,是機(jī)器學(xué)習(xí)的基礎(chǔ)必備步驟。

        篩選出顯著特征、摒棄非顯著特征,需要機(jī)器學(xué)習(xí)工程師反復(fù)理解業(yè)務(wù)。這對很多結(jié)果有決定性的影響。特征選擇好了,非常簡單的算法也能得出良好、穩(wěn)定的結(jié)果。這需要運用特征有效性分析的相關(guān)技術(shù),如相關(guān)系數(shù)、卡方檢驗、平均互信息、條件熵、后驗概率、邏輯回歸權(quán)重等方法。

        訓(xùn)練模型與調(diào)優(yōu)

        直到這一步才用到我們上面說的算法進(jìn)行訓(xùn)練?,F(xiàn)在很多算法都能夠封裝成黑盒供人使用。但是真正考驗水平的是調(diào)整這些算法的(超)參數(shù),使得結(jié)果變得更加優(yōu)良。這需要我們對算法的原理有深入的理解。理解越深入,就越能發(fā)現(xiàn)問題的癥結(jié),提出良好的調(diào)優(yōu)方案。

        模型診斷

        如何確定模型調(diào)優(yōu)的方向與思路呢?這就需要對模型進(jìn)行診斷的技術(shù)。

        過擬合、欠擬合 判斷是模型診斷中至關(guān)重要的一步。常見的方法如交叉驗證,繪制學(xué)習(xí)曲線等。過擬合的基本調(diào)優(yōu)思路是增加數(shù)據(jù)量,降低模型復(fù)雜度。欠擬合的基本調(diào)優(yōu)思路是提高特征數(shù)量和質(zhì)量,增加模型復(fù)雜度。

        誤差分析 也是機(jī)器學(xué)習(xí)至關(guān)重要的步驟。通過觀察誤差樣本,全面分析誤差產(chǎn)生誤差的原因:是參數(shù)的問題還是算法選擇的問題,是特征的問題還是數(shù)據(jù)本身的問題&hellip;&hellip;

        診斷后的模型需要進(jìn)行調(diào)優(yōu),調(diào)優(yōu)后的新模型需要重新進(jìn)行診斷,這是一個反復(fù)迭代不斷逼近的過程,需要不斷地嘗試, 進(jìn)而達(dá)到最優(yōu)狀態(tài)。

        模型融合

        一般來說,模型融合后都能使得效果有一定提升。而且效果很好。

        工程上,主要提升算法準(zhǔn)確度的方法是分別在模型的前端(特征清洗和預(yù)處理,不同的采樣模式)與后端(模型融合)上下功夫。因為他們比較標(biāo)準(zhǔn)可復(fù)制,效果比較穩(wěn)定。而直接調(diào)參的工作不會很多,畢竟大量數(shù)據(jù)訓(xùn)練起來太慢了,而且效果難以保證。

        上線運行

        這一部分內(nèi)容主要跟工程實現(xiàn)的相關(guān)性比較大。工程上是結(jié)果導(dǎo)向,模型在線上運行的效果直接決定模型的成敗。 不單純包括其準(zhǔn)確程度、誤差等情況,還包括其運行的速度(時間復(fù)雜度)、資源消耗程度(空間復(fù)雜度)、穩(wěn)定性是否可接受。

        這些工作流程主要是工程實踐上總結(jié)出的一些經(jīng)驗。并不是每個項目都包含完整的一個流程。這里的部分只是一個指導(dǎo)性的說明,只有大家自己多實踐,多積累項目經(jīng)驗,才會有自己更深刻的認(rèn)識。

        關(guān)于積累項目經(jīng)驗

        初學(xué)機(jī)器學(xué)習(xí)可能有一個誤區(qū),就是一上來就陷入到對各種高大上算法的追逐當(dāng)中。動不動就我能不能用深度學(xué)習(xí)去解決這個問題啊?我是不是要用boosting算法做一些模型融合啊?我一直持有一個觀點,『脫離業(yè)務(wù)和數(shù)據(jù)的算法討論是毫無意義的』。

        實際上按我們的學(xué)習(xí)經(jīng)驗,從一個數(shù)據(jù)源開始,即使是用最傳統(tǒng),已經(jīng)應(yīng)用多年的機(jī)器學(xué)習(xí)算法,先完整地走完機(jī)器學(xué)習(xí)的整個工作流程,不斷嘗試各種算法深挖這些數(shù)據(jù)的價值,在運用過程中把數(shù)據(jù)、特征和算法搞透,真正積累出項目經(jīng)驗 才是最快、最靠譜的學(xué)習(xí)路徑。

        那如何獲取數(shù)據(jù)和項目呢?一個捷徑就是積極參加國內(nèi)外各種數(shù)據(jù)挖掘競賽,數(shù)據(jù)直接下載下來,按照競賽的要求去不斷優(yōu)化,積累經(jīng)驗。國外的Kaggle和國內(nèi)的DataCastle 以及阿里天池比賽都是很好的平臺,你可以在上面獲取真實的數(shù)據(jù)和數(shù)據(jù)科學(xué)家們一起學(xué)習(xí)和進(jìn)行競賽,嘗試使用已經(jīng)學(xué)過的所有知識來完成這個比賽本身也是一件很有樂趣的事情。和其他數(shù)據(jù)科學(xué)家的討論能開闊視野,對機(jī)器學(xué)習(xí)算法有更深層次的認(rèn)識。

        有意思的是,有些平臺,比如阿里天池比賽,甚至給出了從數(shù)據(jù)處理到模型訓(xùn)練到模型評

        估、可視化到模型融合增強(qiáng)的全部組件,你要做的事情只是參與比賽,獲取數(shù)據(jù),然后使用這些組件去實現(xiàn)自己的idea即可。具體內(nèi)容可以參見阿里云機(jī)器學(xué)習(xí)文檔。

        自主學(xué)習(xí)能力

        多幾句嘴,這部分內(nèi)容和機(jī)器學(xué)習(xí)本身沒有關(guān)系,但是我們覺得這方面的能力對于任何一種新知識和技能的學(xué)習(xí)來說都是至關(guān)重要的。 自主學(xué)習(xí)能力提升后,意味著你能夠跟據(jù)自己的情況,找到最合適的學(xué)習(xí)資料和最快學(xué)習(xí)成長路徑。

        信息檢索過濾與整合能力

        對于初學(xué)者,絕大部分需要的知識通過網(wǎng)絡(luò)就可以找到了。

        google搜索引擎技巧&mdash;&mdash;組合替換搜索關(guān)鍵詞、站內(nèi)搜索、學(xué)術(shù)文獻(xiàn)搜索、PDF搜索等&mdash;&mdash;都是必備的。

        一個比較好的習(xí)慣是找到信息的原始出處,如個人站、公眾號、博客、專業(yè)網(wǎng)站、書籍等等。這樣就能夠找到系統(tǒng)化、不失真的高質(zhì)量信息。

        百度搜到的技術(shù)類信息不夠好,建議只作為補(bǔ)充搜索來用。各種搜索引擎都可以交叉著使用效果更好。

        學(xué)會去常見的高質(zhì)量信息源中搜索東西:stackoverflow(程序相關(guān))、quora(高質(zhì)量回答)、wikipedia(系統(tǒng)化知識,比某某百科不知道好太多)、知乎(中文、有料)、網(wǎng)盤搜索(免費資源一大把)等。

        將搜集到的網(wǎng)頁放到分類齊全的云端收藏夾里,并經(jīng)常整理。這樣無論在公司還是在家里,在電腦前還是在手機(jī)上,都能夠找到自己喜歡的東西。

        搜集到的文件、代碼、電子書等等也放到云端網(wǎng)盤里,并經(jīng)常整理。

        提煉與總結(jié)能力

        經(jīng)常作筆記,并總結(jié)自己學(xué)到的知識是成長的不二法門。其實主要的困難是懶,但是堅持

        之后總能發(fā)現(xiàn)知識的共性,就能少記一些東西,掌握得更多。

        筆記建議放到云端筆記里,印象筆記、為知筆記都還不錯。這樣在坐地鐵、排隊等零碎的時間都能看到筆記并繼續(xù)思考。

        提問與求助能力

        機(jī)器學(xué)習(xí)的相關(guān)QQ群、論壇、社區(qū)一大堆??傆腥酥滥銌栴}的答案。

        但是大多數(shù)同學(xué)都很忙,沒法像家庭教師那樣手把手告訴你怎么做。

        為了讓回答者最快明白你的問題,最好該學(xué)會正確的問問題的方式:陳述清楚你的業(yè)務(wù)場景和業(yè)務(wù)需求是什么,有什么已知條件,在哪個具體的節(jié)點上遇到困難了,并做過哪些努力。

        有一篇經(jīng)典的文章告訴你怎樣通過提問獲得幫助:《提問的智慧》,強(qiáng)力推薦。 話鋒犀利了些,但里面的干貨還是很好的。

        別人幫助你的可能性與你提問題的具體程度和重要性呈指數(shù)相關(guān)。

        分享的習(xí)慣

        我們深信:“證明自己真的透徹理解一個知識,最好的方法,是給一個想了解這個內(nèi)容的人,講清楚這個內(nèi)容。”分享能夠最充分地提升自己的學(xué)習(xí)水平。這也是我們堅持長期分享最重要的原因。

        分享還有一個副產(chǎn)品,就是自己在求助的時候能夠獲得更多的幫助機(jī)會,這也非常重要。

        機(jī)器學(xué)習(xí)關(guān)注問題

        并非所有的問題都適合用機(jī)器學(xué)習(xí)解決(很多邏輯清晰的問題用規(guī)則能很高效和準(zhǔn)確地處理),也沒有一個機(jī)器學(xué)習(xí)算法可以通用于所有問題。咱們先來了解了解,機(jī)器學(xué)習(xí),到底關(guān)心和解決什么樣的問題。

        從功能的角度分類,機(jī)器學(xué)習(xí)在一定量級的數(shù)據(jù)上,可以解決下列問題:

        1.分類問題

        根據(jù)數(shù)據(jù)樣本上抽取出的特征,判定其屬于有限個類別中的哪一個。比如:

        垃圾郵件識別(結(jié)果類別:1、垃圾郵件 2、正常郵件)

        文本情感褒貶分析(結(jié)果類別:1、褒 2、貶)

        圖像內(nèi)容識別識別(結(jié)果類別:1、喵星人 2、汪星人 3、人類 5、都不是)。

        2.回歸問題

        根據(jù)數(shù)據(jù)樣本上抽取出的特征,預(yù)測一個連續(xù)值的結(jié)果。比如:

        星爺《美人魚》票房

        大帝都2個月后的房價

        隔壁熊孩子一天來你家?guī)状危瑢櫺夷愣嗌偻婢?/p>

        3.聚類問題

        根據(jù)數(shù)據(jù)樣本上抽取出的特征,讓樣本抱抱團(tuán)(相近/相關(guān)的樣本在一團(tuán)內(nèi))。比如:

        google的新聞分類

        用戶群體劃分

        我們再把上述常見問題劃到機(jī)器學(xué)習(xí)最典型的2個分類上。

        分類與回歸問題需要用已知結(jié)果的數(shù)據(jù)做訓(xùn)練,屬于“監(jiān)督學(xué)習(xí)”

        聚類的問題不需要已知標(biāo)簽,屬于“非監(jiān)督學(xué)習(xí)”。

        如果在IT行業(yè)(尤其是互聯(lián)網(wǎng))里溜達(dá)一圈,你會發(fā)現(xiàn)機(jī)器學(xué)習(xí)在以下熱點問題中有廣泛應(yīng)用:

        1.計算機(jī)視覺

        典型的應(yīng)用包括:人臉識別、車牌識別、掃描文字識別、圖片內(nèi)容識別、圖片搜索等等。

        2.自然語言處理

        典型的應(yīng)用包括:搜索引擎智能匹配、文本內(nèi)容理解、文本情緒判斷,語音識別、輸入法、機(jī)器翻譯等等。

        3.社會網(wǎng)絡(luò)分析

        典型的應(yīng)用包括:用戶畫像、網(wǎng)絡(luò)關(guān)聯(lián)分析、欺詐作弊發(fā)現(xiàn)、熱點發(fā)現(xiàn)等等。

        4.推薦

        典型的應(yīng)用包括:蝦米音樂的“歌曲推薦”,某寶的“猜你喜歡”等等。

        機(jī)器學(xué)習(xí)相關(guān)資源推薦

        文章的最后部分,我們繼續(xù)放送干貨。其實機(jī)器學(xué)習(xí)的優(yōu)質(zhì)資源非常多。博主也是翻遍瀏覽器收藏夾,也問同事取了取經(jīng),整合了一部分資源羅列如下:

        入門資源

        首先coursera 是一個非常好的學(xué)習(xí)網(wǎng)站,集中了全球的精品課程。上述知識學(xué)習(xí)的過程都可以在上面找到合適的課程。也有很多其他的課程網(wǎng)站,這里我們就需要學(xué)習(xí)的數(shù)學(xué)和機(jī)器學(xué)習(xí)算法推薦一些課程(有一些課程有中文字幕,有一些只有英文字幕,有一些甚至沒有字幕,大家根據(jù)自己的情況調(diào)整,如果不習(xí)慣英文,基礎(chǔ)部分有很多國內(nèi)的課程也非常優(yōu)質(zhì)):

        微積分相關(guān)

        Calculus: Single Variable

        Multivariable Calculus

        線性代數(shù)

        Linear Algebra

        概率統(tǒng)計

        Introduction to Statistics: Descriptive Statistics

        Probabilistic Systems Analysis and Applied Probability

        編程語言

        Programming for Everybody:Python

        DataCamp: Learn R with R tutorials and coding challenges:R

        機(jī)器學(xué)習(xí)方法

        Statistical Learning(R)

        machine learning:強(qiáng)烈推薦,Andrew Ng老師的課程

        機(jī)器學(xué)習(xí)基石

        機(jī)器學(xué)習(xí)技術(shù):林軒田老師的課相對更有深度一些,把作業(yè)做完會對提升對機(jī)器學(xué)習(xí)的認(rèn)識。

        自然語言處理:斯坦福大學(xué)課程

        日常閱讀的資源

        @愛可可-愛生活的微博

        機(jī)器學(xué)習(xí)日報的郵件訂閱 等。

        進(jìn)階資源

        有源代碼的教程

        scikit-learn中各個算法的例子

        《機(jī)器學(xué)習(xí)實戰(zhàn)》 有中文版,并附有python源代碼。

        《The Elements of Statistical Learning (豆瓣)》 這本書有對應(yīng)的中文版:《統(tǒng)計學(xué)習(xí)基礎(chǔ) (豆瓣)》。書中配有R包。可以參照著代碼學(xué)習(xí)算法。網(wǎng)盤中有中文版。

        《Natural Language Processing with Python (豆瓣)》 NLP 經(jīng)典,其實主要是講 python的NLTK 這個包。網(wǎng)盤中有中文版。

        《Neural Networks and Deep Learning》 Michael Nielsen的神經(jīng)網(wǎng)絡(luò)教材,淺顯易懂。國內(nèi)有部分翻譯,不全,建議直接看原版。

        圖書與教材

        《數(shù)學(xué)之美》:入門讀起來很不錯。

        《統(tǒng)計學(xué)習(xí)方法 (豆瓣) 》:李航經(jīng)典教材。

        《Pattern Recognition And Machine Learning (豆瓣) 》:經(jīng)典中教材。

        《統(tǒng)計自然語言處理》自然語言處理經(jīng)典教材

        《Applied predictive modeling》:英文版,注重工程實踐的機(jī)器學(xué)習(xí)教材

        《UFLDL教程》:神經(jīng)網(wǎng)絡(luò)經(jīng)典教材

        《deeplearningbook》:深度學(xué)習(xí)經(jīng)典教材。

        工具書

        《SciPy and NumPy (豆瓣) 》

        《Python for Data Analysis (豆瓣) 》作者是Pandas這個包的作者

        其他網(wǎng)絡(luò)資料

        機(jī)器學(xué)習(xí)(Machine Learning)與深度學(xué)習(xí)(Deep Learning)資料匯總: 作者太給力,量大干貨多,有興趣的同學(xué)可以看看,博主至今只看了一小部分。

      3688757