機器學習路線圖

作者:寒小陽&&龍心塵 時間:2016年2月。 出處:http://blog.csdn.net/han_xiaoyang/article/details/50759472 http://blog.csdn.net/longxinchen_ml/article/details/50749614 聲明:版權所有奴紧,轉載請聯(lián)系作者并注明出處

  1. 引言
    也許你和這個叫『機器學習』的家伙一點也不熟醉冤,但是你舉起iphone手機拍照的時候扣唱,早已習慣它幫你框出人臉汞舱;也自然而然點開今日頭條推給你的新聞;也習慣逛淘寶點了找相似之后貨比三家隆夯;亦或喜聞樂見微軟的年齡識別網(wǎng)站結果刷爆朋友圈钳恕。恩,這些功能的核心算法就是機器學習領域的內容蹄衷。
    套用一下大神們對機器學習的定義忧额,機器學習研究的是計算機怎樣模擬人類的學習行為,以獲取新的知識或技能宦芦,并重新組織已有的知識結構使之不斷改善自身。簡單一點說轴脐,就是計算機從數(shù)據(jù)中學習出規(guī)律和模式调卑,以應用在新數(shù)據(jù)上做預測的任務抡砂。近年來互聯(lián)網(wǎng)數(shù)據(jù)大爆炸,數(shù)據(jù)的豐富度和覆蓋面遠遠超出人工可以觀察和總結的范疇恬涧,而機器學習的算法能指引計算機在海量數(shù)據(jù)中注益,挖掘出有用的價值,也使得無數(shù)學習者為之著迷溯捆。
    但是越說越覺得機器學習有距離感丑搔,云里霧里高深莫測,我們不是專家提揍,但說起算有一些從業(yè)經(jīng)驗啤月,做過一些項目在實際數(shù)據(jù)上應用機器學習。這一篇就我們的經(jīng)驗和各位同仁的分享劳跃,總結一些對于初學者入門有幫助的方法和對進階有用的資料谎仲。
    人工智能
    人工智能
  2. 機器學習關注問題
    并非所有的問題都適合用機器學習解決(很多邏輯清晰的問題用規(guī)則能很高效和準確地處理),也沒有一個機器學習算法可以通用于所有問題刨仑。咱們先來了解了解郑诺,機器學習,到底關心和解決什么樣的問題杉武。
    從功能的角度分類辙诞,機器學習在一定量級的數(shù)據(jù)上,可以解決下列問題:
    1.分類問題
    根據(jù)數(shù)據(jù)樣本上抽取出的特征轻抱,判定其屬于有限個類別中的哪一個飞涂。比如: 垃圾郵件識別(結果類別:1、垃圾郵件 2十拣、正常郵件)
    文本情感褒貶分析(結果類別:1封拧、褒 2、貶)
    圖像內容識別識別(結果類別:1夭问、喵星人 2泽西、汪星人 3、人類 4缰趋、草泥馬 5捧杉、都不是)。

2.回歸問題
根據(jù)數(shù)據(jù)樣本上抽取出的特征秘血,預測一個連續(xù)值的結果味抖。比如: 星爺《美人魚》票房
大帝都2個月后的房價
隔壁熊孩子一天來你家?guī)状危瑢櫺夷愣嗌偻婢?/p>

3.聚類等問題
根據(jù)數(shù)據(jù)樣本上抽取出的特征灰粮,讓樣本抱抱團(相近/相關的樣本在一團內)仔涩。比如: google的新聞分類
用戶群體劃分

我們再把上述常見問題劃到機器學習最典型的2個分類上。
分類與回歸問題需要用已知結果的數(shù)據(jù)做訓練粘舟,屬于“監(jiān)督學習”
**
聚類的問題不需要已知標簽熔脂,屬于
“非監(jiān)督學習”
**佩研。

如果在IT行業(yè)(尤其是互聯(lián)網(wǎng))里溜達一圈,你會發(fā)現(xiàn)機器學習在以下熱點問題中有廣泛應用:
1.計算機視覺
典型的應用包括:人臉識別霞揉、車牌識別旬薯、掃描文字識別、圖片內容識別适秩、圖片搜索
等等绊序。

2.自然語言處理
典型的應用包括:搜索引擎智能匹配、文本內容理解秽荞、文本情緒判斷骤公,語音識別、輸入法蚂会、機器翻譯
等等淋样。

3.社會網(wǎng)絡分析
典型的應用包括:用戶畫像、網(wǎng)絡關聯(lián)分析胁住、欺詐作弊發(fā)現(xiàn)趁猴、熱點發(fā)現(xiàn)
等等。

4.推薦
典型的應用包括:蝦米音樂的“歌曲推薦”彪见,某寶的“猜你喜歡”
等等儡司。

  1. 入門方法與學習路徑
    OK,不廢話余指,直接切重點丟干貨了捕犬。看似學習難度大酵镜,曲線陡的機器學習碉碉,對大多數(shù)入門者也有一個比較通用的學習路徑,也有一些優(yōu)秀的入門資料可以降低大家的學習門檻淮韭,同時激發(fā)我們的學習樂趣垢粮。
    簡單說來,大概的一個學習路徑如下:


    路徑圖

簡單說一點靠粪,之所以最左邊寫了『數(shù)學基礎』『典型機器學習算法』『編程基礎』三個并行的部分蜡吧,是因為機器學習是一個將數(shù)學/算法理論和工程實踐緊密結合的領域,需要扎實的理論基礎幫助引導數(shù)據(jù)分析與模型調優(yōu)占键,同時也需要精湛的工程開發(fā)能力去高效化地訓練和部署模型和服務昔善。
需要多說一句的是,在互聯(lián)網(wǎng)領域從事機器學習的人畔乙,有2類背景的人比較多君仆,其中一部分(很大一部分)是程序員出身,這類同學工程經(jīng)驗相對會多一些,另一部分是學數(shù)學統(tǒng)計領域的同學返咱,這部分同學理論基礎相對扎實一些氮帐。因此對比上圖,2類同學入門機器學習洛姑,所欠缺和需要加強的部分是不一樣的。
下面就上述圖中的部分皮服,展開來分別扯幾句:
3.1 數(shù)學基礎
有無數(shù)激情滿滿大步向前楞艾,誓要在機器學習領域有一番作為的同學,在看到公式的一刻突然就覺得自己狗帶了龄广。是啊硫眯,機器學習之所以相對于其他開發(fā)工作,更有門檻的根本原因就是數(shù)學择同。每一個算法两入,要在訓練集上最大程度擬合同時又保證泛化能力,需要不斷分析結果和數(shù)據(jù)敲才,調優(yōu)參數(shù)裹纳,這需要我們對數(shù)據(jù)分布和模型底層的數(shù)學原理有一定的理解。所幸的是如果只是想合理應用機器學習紧武,而不是做相關方向高精尖的research剃氧,需要的數(shù)學知識啃一啃還是基本能理解下來的。至于更高深的部分阻星,恩朋鞍,博主非常愿意承認自己是『數(shù)學渣』。
基本所有常見機器學習算法需要的數(shù)學基礎妥箕,都集中在微積分滥酥、線性代數(shù)和概率與統(tǒng)計當中。下面我們先過一過知識重點畦幢,文章的后部分會介紹一些幫助學習和鞏固這些知識的資料坎吻。
3.1.1 微積分
微分的計算及其幾何、物理含義呛讲,是機器學習中大多數(shù)算法的求解過程的核心禾怠。比如算法中運用到梯度下降法、牛頓法等贝搁。如果對其幾何意義有充分的理解吗氏,就能理解“梯度下降是用平面來逼近局部,牛頓法是用曲面逼近局部”雷逆,能夠更好地理解運用這樣的方法弦讽。
凸優(yōu)化和條件最優(yōu)化 的相關知識在算法中的應用隨處可見,如果能有系統(tǒng)的學習將使得你對算法的認識達到一個新高度。

3.1.2 線性代數(shù)
大多數(shù)機器學習的算法要應用起來往产,依賴于高效的計算被碗,這種場景下,程序員GG們習慣的多層for循環(huán)通常就行不通了仿村,而大多數(shù)的循環(huán)操作可轉化成矩陣之間的乘法運算锐朴,這就和線性代數(shù)有莫大的關系了
向量的內積運算更是隨處可見。
矩陣乘法與分解在機器學習的主成分分析(PCA)和奇異值分解(SVD) 等部分呈現(xiàn)刷屏狀地出現(xiàn)蔼囊。

3.1.3 概率與統(tǒng)計
從廣義來說焚志,機器學習在做的很多事情,和統(tǒng)計層面數(shù)據(jù)分析和發(fā)掘隱藏的模式畏鼓,是非常類似的酱酬。
極大似然思想、貝葉斯模型 是理論基礎云矫,樸素貝葉斯(Na?ve Bayes )膳沽、語言模型(N-gram)、隱馬爾科夫(HMM)让禀、隱變量混合概率模型是他們的高級形態(tài)挑社。
常見分布如高斯分布是混合高斯模型(GMM)等的基礎。

3.2 典型算法
絕大多數(shù)問題用典型機器學習的算法都能解決巡揍,粗略地列舉一下這些方法如下:
處理分類問題的常用算法包括:邏輯回歸(工業(yè)界最常用)滔灶,支持向量機,隨機森林吼肥,樸素貝葉斯(NLP中常用)录平,深度神經(jīng)網(wǎng)絡(視頻、圖片缀皱、語音等多媒體數(shù)據(jù)中使用)斗这。
處理回歸問題的常用算法包括:線性回歸,普通最小二乘回歸(Ordinary Least Squares Regression)啤斗,逐步回歸(Stepwise Regression)表箭,多元自適應回歸樣條(Multivariate Adaptive Regression Splines)
處理聚類問題的常用算法包括:K均值(K-means),基于密度聚類钮莲,LDA等等免钻。
降維的常用算法包括:主成分分析(PCA),奇異值分解(SVD) 等。
推薦系統(tǒng)的常用算法:協(xié)同過濾算法
模型融合(model ensemble)和提升(boosting)的算法包括:bagging崔拥,adaboost极舔,GBDT,GBRT
其他很重要的算法包括:EM算法等等链瓦。

我們多插一句拆魏,機器學習里所說的“算法”與程序員所說的“數(shù)據(jù)結構與算法分析”里的“算法”略有區(qū)別盯桦。前者更關注結果數(shù)據(jù)的召回率、精確度渤刃、準確性等方面拥峦,后者更關注執(zhí)行過程的時間復雜度、空間復雜度等方面卖子。略号。當然,實際機器學習問題中洋闽,對效率和資源占用的考量是不可或缺的璃哟。
3.3 編程語言、工具和環(huán)境
看了無數(shù)的理論與知識喊递,總歸要落到實際動手實現(xiàn)和解決問題上。而沒有工具所有的材料和框架阳似、邏輯骚勘、思路都給你,也寸步難行撮奏。因此我們還是得需要合適的編程語言俏讹、工具和環(huán)境幫助自己在數(shù)據(jù)集上應用機器學習算法,或者實現(xiàn)自己的想法畜吊。對初學者而言泽疆,Python和R語言是很好的入門語言,很容易上手玲献,同時又活躍的社區(qū)支持殉疼,豐富的工具包幫助我們完成想法。相對而言捌年,似乎計算機相關的同學用Python多一些瓢娜,而數(shù)學統(tǒng)計出身的同學更喜歡R一些。我們對編程語言礼预、工具和環(huán)境稍加介紹:
3.3.1 python
python有著全品類的數(shù)據(jù)科學工具眠砾,從數(shù)據(jù)獲取、數(shù)據(jù)清洗到整合各種算法都做得非常全面托酸。
網(wǎng)頁爬蟲: scrapy
數(shù)據(jù)挖掘: pandas:模擬R褒颈,進行數(shù)據(jù)瀏覽與預處理。
numpy:數(shù)組運算励堡。
scipy:高效的科學計算谷丸。
matplotlib:非常方便的數(shù)據(jù)可視化工具。

機器學習: scikit-learn:遠近聞名的機器學習package应结。未必是最高效的淤井,但是接口真心封裝得好,幾乎所有的機器學習算法輸入輸出部分格式都一致。而它的支持文檔甚至可以直接當做教程來學習币狠,非常用心游两。對于不是非常高緯度、高量級的數(shù)據(jù)漩绵,scikit-learn勝任得非常好(有興趣可以看看sklearn的源碼贱案,也很有意思)。
libsvm:高效率的svm模型實現(xiàn)(了解一下很有好處止吐,libsvm的系數(shù)數(shù)據(jù)輸入格式宝踪,在各處都非常常見)
keras/TensorFlow:對深度學習感興趣的同學,也能很方便地搭建自己的神經(jīng)網(wǎng)絡了碍扔。

自然語言處理: nltk:自然語言處理的相關功能做得非常全面瘩燥,有典型語料庫,而且上手也非常容易不同。

交互式環(huán)境: ipython notebook:能直接打通數(shù)據(jù)到結果的通道厉膀,方便至極。強力推薦二拐。

3.3.2 R
R最大的優(yōu)勢是開源社區(qū)服鹅,聚集了非常多功能強大可直接使用的包,絕大多數(shù)的機器學習算法在R中都有完善的包可直接使用百新,同時文檔也非常齊全企软。常見的package包括:RGtk2, pmml, colorspace, ada, amap, arules, biclust, cba, descr, doBy, e1071, ellipse等等。另外饭望,值得一提的是R的可視化效果做得非常不錯仗哨,而這對于機器學習是非常有幫助的。
3.3.3 其他語言
相應資深程序員GG的要求铅辞,再補充一下java和C++相關機器學習package藻治。
Java系列 WEKA Machine Learning Workbench 相當于java中的scikit-learn
其他的工具如Massive Online Analysis(MOA)MEKA 巷挥、 Mallet 等也非常有名桩卵。
更多詳細的應用請參考這篇文章《25個Java機器學習工具&庫》

C++系列 mlpack,高效同時可擴充性非常好的機器學習庫倍宾。
Shark:文檔齊全的老牌C++機器學習庫雏节。

3.3.4 大數(shù)據(jù)相關
Hadoop:基本上是工業(yè)界的標配了。一般用來做特征清洗高职、特征處理的相關工作钩乍。
spark:提供了MLlib這樣的大數(shù)據(jù)機器學習平臺,實現(xiàn)了很多常用算法怔锌。但可靠性寥粹、穩(wěn)定性上有待提高变过。

3.3.5 操作系統(tǒng)
mac和linux會方便一些,而windows在開發(fā)中略顯力不從心涝涤。所謂方便媚狰,主要是指的mac和linux在下載安裝軟件、配置環(huán)境更快捷阔拳。
對于只習慣windows的同學崭孤,推薦anaconda,一步到位安裝完python的全品類數(shù)據(jù)科學工具包糊肠。

3.4 基本工作流程
以上我們基本具備了機器學習的必要條件辨宠,剩下的就是怎么運用它們去做一個完整的機器學習項目。其工作流程如下:
3.4.1 抽象成數(shù)學問題
明確問題是進行機器學習的第一步货裹。機器學習的訓練過程通常都是一件非常耗時的事情嗤形,胡亂嘗試時間成本是非常高的。
這里的抽象成數(shù)學問題弧圆,指的我們明確我們可以獲得什么樣的數(shù)據(jù)赋兵,目標是一個分類還是回歸或者是聚類的問題,如果都不是的話墓阀,如果劃歸為其中的某類問題。

3.4.2 獲取數(shù)據(jù)
數(shù)據(jù)決定了機器學習結果的上限拓轻,而算法只是盡可能逼近這個上限斯撮。
數(shù)據(jù)要有代表性,否則必然會過擬合扶叉。
而且對于分類問題勿锅,數(shù)據(jù)偏斜不能過于嚴重,不同類別的數(shù)據(jù)數(shù)量不要有數(shù)個數(shù)量級的差距枣氧。
而且還要對數(shù)據(jù)的量級有一個評估溢十,多少個樣本,多少個特征达吞,可以估算出其對內存的消耗程度张弛,判斷訓練過程中內存是否能夠放得下。如果放不下就得考慮改進算法或者使用一些降維的技巧了酪劫。如果數(shù)據(jù)量實在太大吞鸭,那就要考慮分布式了。

3.4.3 特征預處理與特征選擇
良好的數(shù)據(jù)要能夠提取出良好的特征才能真正發(fā)揮效力覆糟。
特征預處理刻剥、數(shù)據(jù)清洗是很關鍵的步驟,往往能夠使得算法的效果和性能得到顯著提高滩字。歸一化造虏、離散化御吞、因子化、缺失值處理漓藕、去除共線性等陶珠,數(shù)據(jù)挖掘過程中很多時間就花在它們上面。這些工作簡單可復制撵术,收益穩(wěn)定可預期背率,是機器學習的基礎必備步驟
篩選出顯著特征嫩与、摒棄非顯著特征寝姿,需要機器學習工程師反復理解業(yè)務。這對很多結果有決定性的影響划滋。特征選擇好了饵筑,非常簡單的算法也能得出良好、穩(wěn)定的結果处坪。這需要運用特征有效性分析的相關技術根资,如相關系數(shù)、卡方檢驗同窘、平均互信息玄帕、條件熵、后驗概率、邏輯回歸權重等方法。

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

3.4.5 模型診斷
如何確定模型調優(yōu)的方向與思路呢夺饲?這就需要對模型進行診斷的技術奸汇。
過擬合、欠擬合 判斷是模型診斷中至關重要的一步往声。常見的方法如交叉驗證茫蛹,繪制學習曲線等。過擬合的基本調優(yōu)思路是增加數(shù)據(jù)量烁挟,降低模型復雜度婴洼。欠擬合的基本調優(yōu)思路是提高特征數(shù)量和質量,增加模型復雜度撼嗓。
誤差分析 也是機器學習至關重要的步驟柬采。通過觀察誤差樣本欢唾,全面分析誤差產(chǎn)生誤差的原因:是參數(shù)的問題還是算法選擇的問題,是特征的問題還是數(shù)據(jù)本身的問題……
診斷后的模型需要進行調優(yōu)粉捻,調優(yōu)后的新模型需要重新進行診斷礁遣,這是一個反復迭代不斷逼近的過程,需要不斷地嘗試肩刃, 進而達到最優(yōu)狀態(tài)祟霍。

3.4.6 模型融合
一般來說,模型融合后都能使得效果有一定提升盈包。而且效果很好沸呐。
工程上,主要提升算法準確度的方法是分別在模型的前端(特征清洗和預處理呢燥,不同的采樣模式)與后端(模型融合)上下功夫崭添。因為他們比較標準可復制,效果比較穩(wěn)定叛氨。而直接調參的工作不會很多呼渣,畢竟大量數(shù)據(jù)訓練起來太慢了,而且效果難以保證寞埠。

3.4.7 上線運行
這一部分內容主要跟工程實現(xiàn)的相關性比較大屁置。工程上是結果導向,模型在線上運行的效果直接決定模型的成敗仁连。 不單純包括其準確程度蓝角、誤差等情況,還包括其運行的速度(時間復雜度)怖糊、資源消耗程度(空間復雜度)帅容、穩(wěn)定性是否可接受颇象。

這些工作流程主要是工程實踐上總結出的一些經(jīng)驗伍伤。并不是每個項目都包含完整的一個流程。這里的部分只是一個指導性的說明遣钳,只有大家自己多實踐扰魂,多積累項目經(jīng)驗,才會有自己更深刻的認識蕴茴。
3.5 關于積累項目經(jīng)驗
初學機器學習可能有一個誤區(qū)劝评,就是一上來就陷入到對各種高大上算法的追逐當中。動不動就我能不能用深度學習去解決這個問題熬氲怼蒋畜?我是不是要用boosting算法做一些模型融合啊撞叽?我一直持有一個觀點姻成,『脫離業(yè)務和數(shù)據(jù)的算法討論是毫無意義的』插龄。
實際上按我們的學習經(jīng)驗,從一個數(shù)據(jù)源開始科展,即使是用最傳統(tǒng)均牢,已經(jīng)應用多年的機器學習算法,先完整地走完機器學習的整個工作流程才睹,不斷嘗試各種算法深挖這些數(shù)據(jù)的價值徘跪,在運用過程中把數(shù)據(jù)、特征和算法搞透琅攘,真正積累出項目經(jīng)驗 才是最快垮庐、最靠譜的學習路徑。
那如何獲取數(shù)據(jù)和項目呢乎澄?一個捷徑就是積極參加國內外各種數(shù)據(jù)挖掘競賽突硝,數(shù)據(jù)直接下載下來,按照競賽的要求去不斷優(yōu)化置济,積累經(jīng)驗解恰。國外的Kaggle和國內的DataCastle 以及阿里天池比賽都是很好的平臺,你可以在上面獲取真實的數(shù)據(jù)和數(shù)據(jù)科學家們一起學習和進行競賽浙于,嘗試使用已經(jīng)學過的所有知識來完成這個比賽本身也是一件很有樂趣的事情护盈。和其他數(shù)據(jù)科學家的討論能開闊視野,對機器學習算法有更深層次的認識羞酗。
有意思的是腐宋,有些平臺,比如阿里天池比賽檀轨,甚至給出了從數(shù)據(jù)處理模型訓練模型評估胸竞、可視化模型融合增強的全部組件,你要做的事情只是參與比賽参萄,獲取數(shù)據(jù)卫枝,然后使用這些組件去實現(xiàn)自己的idea即可。具體內容可以參見阿里云機器學習文檔讹挎。
3.6 自主學習能力
多幾句嘴校赤,這部分內容和機器學習本身沒有關系,但是我們覺得這方面的能力對于任何一種新知識和技能的學習來說都是至關重要的筒溃。 自主學習能力提升后马篮,意味著你能夠跟據(jù)自己的情況,找到最合適的學習資料和最快學習成長路徑怜奖。
3.6.1 信息檢索過濾與整合能力
對于初學者浑测,絕大部分需要的知識通過網(wǎng)絡就可以找到了。
google搜索引擎技巧——組合替換搜索關鍵詞歪玲、站內搜索迁央、學術文獻搜索怎顾、PDF搜索等——都是必備的。
一個比較好的習慣是找到信息的原始出處漱贱,如個人站槐雾、公眾號、博客幅狮、專業(yè)網(wǎng)站募强、書籍等等。這樣就能夠找到系統(tǒng)化崇摄、不失真的高質量信息擎值。
百度搜到的技術類信息不夠好,建議只作為補充搜索來用逐抑。各種搜索引擎都可以交叉著使用效果更好鸠儿。
學會去常見的高質量信息源中搜索東西:stackoverflow(程序相關)、quora(高質量回答)厕氨、wikipedia(系統(tǒng)化知識进每,比某某百科不知道好太多)、知乎(中文命斧、有料)田晚、網(wǎng)盤搜索(免費資源一大把)等。
將搜集到的網(wǎng)頁放到分類齊全的云端收藏夾里国葬,并經(jīng)常整理贤徒。這樣無論在公司還是在家里,在電腦前還是在手機上汇四,都能夠找到自己喜歡的東西接奈。
搜集到的文件、代碼通孽、電子書等等也放到云端網(wǎng)盤里序宦,并經(jīng)常整理。
3.6.2 提煉與總結能力
經(jīng)常作筆記利虫,并總結自己學到的知識是成長的不二法門挨厚。其實主要的困難是懶堡僻,但是堅持之后總能發(fā)現(xiàn)知識的共性糠惫,就能少記一些東西,掌握得更多钉疫。
筆記建議放到云端筆記里硼讽,印象筆記、為知筆記都還不錯牲阁。這樣在坐地鐵固阁、排隊等零碎的時間都能看到筆記并繼續(xù)思考壤躲。
3.6.3 提問與求助能力
機器學習的相關QQ群、論壇备燃、社區(qū)一大堆碉克。總有人知道你問題的答案并齐。
但是大多數(shù)同學都很忙漏麦,沒法像家庭教師那樣手把手告訴你怎么做。
為了讓回答者最快明白你的問題况褪,最好該學會正確的問問題的方式:陳述清楚你的業(yè)務場景和業(yè)務需求是什么撕贞,有什么已知條件,在哪個具體的節(jié)點上遇到困難了测垛,并做過哪些努力捏膨。
有一篇經(jīng)典的文章告訴你怎樣通過提問獲得幫助:《提問的智慧》,強力推薦食侮。 話鋒犀利了些号涯,但里面的干貨還是很好的。
別人幫助你的可能性與你提問題的具體程度和重要性呈指數(shù)相關锯七。
3.6.4 分享的習慣
我們深信:“證明自己真的透徹理解一個知識诚隙,最好的方法,是給一個想了解這個內容的人起胰,講清楚這個內容久又。” 分享能夠最充分地提升自己的學習水平效五。這也是我們堅持長期分享最重要的原因地消。
分享還有一個副產(chǎn)品,就是自己在求助的時候能夠獲得更多的幫助機會畏妖,這也非常重要脉执。

  1. 相關資源推薦
    文章的最后部分,我們繼續(xù)放送干貨戒劫。其實機器學習的優(yōu)質資源非常多半夷。博主也是翻遍瀏覽器收藏夾,也問同事取了取經(jīng)迅细,整合了一部分資源羅列如下:
    4.1 入門資源
    首先coursera 是一個非常好的學習網(wǎng)站巫橄,集中了全球的精品課程。上述知識學習的過程都可以在上面找到合適的課程茵典。也有很多其他的課程網(wǎng)站湘换,這里我們就需要學習的數(shù)學和機器學習算法推薦一些課程(有一些課程有中文字幕,有一些只有英文字幕,有一些甚至沒有字幕彩倚,大家根據(jù)自己的情況調整筹我,如果不習慣英文,基礎部分有很多國內的課程也非常優(yōu)質):
    微積分相關

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

機器學習方法

Statistical Learning(R) machine learning:強烈推薦帆离,Andrew Ng老師的課程 機器學習基石 機器學習技術:林軒田老師的課相對更有深度一些蔬蕊,把作業(yè)做完會對提升對機器學習的認識。 自然語言處理:斯坦福大學課程

日常閱讀的資源

@愛可可-愛生活的微博 機器學習日報的郵件訂閱 等哥谷。

4.2 進階資源
有源代碼的教程

scikit-learn中各個算法的例子 《機器學習實戰(zhàn)》 有中文版袁串,并附有python源代碼。 《The Elements of Statistical Learning (豆瓣)》 這本書有對應的中文版:《統(tǒng)計學習基礎 (豆瓣)》呼巷。書中配有R包囱修。可以參照著代碼學習算法王悍。網(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)絡教材,淺顯易懂集惋。國內有部分翻譯孕似,不全,建議直接看原版刮刑。

圖書與教材

《數(shù)學之美》:入門讀起來很不錯喉祭。 《統(tǒng)計學習方法 (豆瓣) 》:李航經(jīng)典教材。 《Pattern Recognition And Machine Learning (豆瓣) 》:經(jīng)典中教材雷绢。 《統(tǒng)計自然語言處理》自然語言處理經(jīng)典教材 《Applied predictive modeling》:英文版泛烙,注重工程實踐的機器學習教材 《UFLDL教程》:神經(jīng)網(wǎng)絡經(jīng)典教材 《deeplearningbook》:深度學習經(jīng)典教材。

工具書

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

其他網(wǎng)絡資料

機器學習(Machine Learning)與深度學習(Deep Learning)資料匯總: 作者太給力翘紊,量大干貨多蔽氨,有興趣的同學可以看看,博主至今只看了一小部分帆疟。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末鹉究,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子踪宠,更是在濱河造成了極大的恐慌自赔,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殴蓬,死亡現(xiàn)場離奇詭異匿级,居然都是意外死亡,警方通過查閱死者的電腦和手機染厅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門痘绎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肖粮,你說我怎么就攤上這事孤页。” “怎么了涩馆?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵行施,是天一觀的道長。 經(jīng)常有香客問我魂那,道長蛾号,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任涯雅,我火速辦了婚禮鲜结,結果婚禮上,老公的妹妹穿的比我還像新娘活逆。我一直安慰自己精刷,他們只是感情好,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布蔗候。 她就那樣靜靜地躺著怒允,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锈遥。 梳的紋絲不亂的頭發(fā)上纫事,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機與錄音所灸,去河邊找鬼儿礼。 笑死,一個胖子當著我的面吹牛庆寺,可吹牛的內容都是我干的蚊夫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼懦尝,長吁一口氣:“原來是場噩夢啊……” “哼知纷!你這毒婦竟也來了?” 一聲冷哼從身側響起陵霉,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤琅轧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后踊挠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乍桂,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡冲杀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了睹酌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片权谁。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖憋沿,靈堂內的尸體忽然破棺而出旺芽,到底是詐尸還是另有隱情,我是刑警寧澤辐啄,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布采章,位于F島的核電站,受9級特大地震影響壶辜,放射性物質發(fā)生泄漏悯舟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一砸民、第九天 我趴在偏房一處隱蔽的房頂上張望图谷。 院中可真熱鬧,春花似錦阱洪、人聲如沸便贵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽承璃。三九已至,卻和暖如春蚌本,著一層夾襖步出監(jiān)牢的瞬間盔粹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工程癌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留舷嗡,地道東北人。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓嵌莉,卻偏偏與公主長得像进萄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子锐峭,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內容