機器學習、數據挖掘 如何進階成為大神?
本人研一,目前已經將機器學習的基礎知識部分以及學習了不少,目前深入學習包括了《PRML》、《統計學習方法》、《矩陣論》、《最優化方法》、吳恩達《機器學習》視頻、部分《凸優化》、《數字圖像處理》;
[PS:本人有c/c++/matlab/java的語言基礎,python還沒有用過;]
我目前還沒有任何機器學習方面的實踐經驗,不知道接下來我改如何學習,如何進階到更高的層次,求大神分享經驗!
現在知乎上越來越多的Data Mining/Machine Learning的回答都是在推薦Coursera公開課、推薦PRML/ESL/MLAPP、推薦好好看書聽課做習題,其實這些內容和步驟是有一定局限性的,不適合出現在DM/ML進階的問題中。一是Coursera的公開課太簡單,偏向於入門,對於有一定基礎的同學來說信噪比太低,講得大多數都是已經知道的東西,我自己也曾經嘗試過為了追求知識體系的完整性而去從頭學一些東西,最後發現效率實在是太低了所以作罷;二來是題主已經看完了該看的書籍,也懂得怎麼去找書刷習題。一般尋求進階的同學,不是不知道看書刷題聽課,而是這些手段對他們來說提高已經很有限了。
我個人的建議,如果想走industry track,就好好去找人內推你去實習,這是最快的辦法。工作中有許許多多比你厲害的人有踩過無數雷坑的senior,向他們學習比看書看公開課效率高多了,而且還可以積攢你以後會用到的人脈,強調一下,人脈這個東西真的很重要,即使在相對來說更崇尚技術的計算機行業。盡量在實習期間擼一個完整的項目,不管是對你的career,還是對你對技術的理解,都是大有幫助的。
如果走research track,選一個細一點的方向,for example,increamental learning, LDA, entity recognition等等,然後多去讀paper發paper(發paper的話,灌水要適度,更重要的是打基礎)。有時候即使看了書做了習題,那也是別人寫的書別人設計的習題,真實的情況中有大大小小的坑等著你,等到你真正拿著書上的東西去做一篇paper出來才會發現自己之前知道的實在太少了,發paper是一個非常有益的提升自己的事情。
另外還要廣泛涉獵各種書籍,可以是關於DM/ML的,也可以是關於抽樣與統計推斷的,也可以是關於熱力學和複雜網路的,多去讀多去看,往雜了學,提高自己整體的科學素養。基礎打好了,等到讀PhD的時候產出就會特別高。
評論有提到一個問題,如果畢業想去企業但是在讀期間導師又不讓實習怎麼辦?先爭取把導師的任務完成得盡善盡美看能不能爭取去實習,不能的話,就找幾個靠譜的小夥伴一起刷比賽吧,也是蠻好的。謝邀,
真的深入學習了這些的人不應該來問這個問題。
如果不是釣魚問題的話,下一步就是大量看paper,開始做自己的科研了。可以也看看Stanford,MIT,UCB和我們CMU的機器學習系的PhD課程。把推薦的reading,homework,project什麼的看看。
如果是往工程方向走的話就是搞搞開源項目,或者進公司做實際產品了。
另外這種問題你來知乎問能問出個啥。 你如果這些書都認真讀完也做了不少課後習題,然後又會進一步在這個方向深入的話,本科入門公開課或者網申跟你早就一點關係都不應該有了。機器學習是計算機科學的一個子領域,在人工智慧領域,機器學習逐漸發展成模式識別和計算科學理論的研究。從2016年起,機器學習到達了不合理的火熱巔峰。但是,有效的機器學習是困難的,因為機器學習本身就是一個交叉學科,沒有科學的方法及一定的積累很難入門。
本文通過系統的分析上百篇翻譯博客,製成了機器學習必備手冊,本手冊一定會幫助你走向你自己的「人生巔峰」。手冊包含如何入門機器學習,機器學習流行演算法,機器學習實戰等等。
一.機器學習入門篇:
1.讓你少走彎路:這有一份開展機器學習的簡短指南
摘要:本文分享了一份簡單的關於開展機器學習的心得體會,目的是給初學者提供基本的指導,主要講解了建立系統、選擇合適的評價指標、數據處理、系統優化等內容,幫助初學者少走一些彎路。
2. 機器學習的入門「秘籍」
摘要:機器學習已經成為當下最火熱的技術之一,對於初學者來說,如何快速入門機器學習是至關重要的。本文屬於入門級寶典,高手請繞道!
3. 會玩超級瑪麗,機器學習能有多難?
摘要:小白也能看懂機器學習?這篇文章用超級瑪麗的原理教會你,到底什麼是機器學習,讓尖端科技不再艱深難懂。
4. 機器學習能為你的業務做什麼?有些事情你肯定猜不到!(機器學習入門第一篇)
摘要:機器學習是一項令人難以置信的技術,你需要了解很多很多的基礎知識,以使得業務功能儘可能的不受複雜演算法的影響,讓你能夠提出正確的問題、了解機器學習模型開發過程、成立一個團隊以促進學科間的不斷合作,而不是把數據科學視為一個產生奇蹟的黑匣子。
5. 關於機器學習演算法 你需要了解的東西(機器學習入門第二篇)
摘要:對學習演算法進行分類是基於構建模型時所需的數據:數據是否需要包括輸入和輸出或僅僅是輸入,需要多少個數據點以及何時收集數據。根據上述分類原則,可以分為4個主要的類別:監督學習、無監督學習、半監督學習和強化學習。
6. 如何開發機器學習模型?(機器學習入門第三篇)
摘要:創建一個優秀的機器學習模型跟創建其他產品是一樣的:首先從構思開始,把要解決的問題和一些潛在的解決方案放在一起考慮。一旦有了明確的方向,就可以對解決方案進行原型化,然後對它進行測試以確定是否滿足需求,不妨看看本文是如何一步一步實現的。
7.如何高效運作機器學習團隊(機器學習入門第四篇)
摘要: 一個「傳統」的產品團隊由設計師、工程師和產品經理組成,而數據分析師有時也會包含在其中,但大多數情況下是多個團隊共享這個稀缺資源。在機器學習團隊中又會有哪些角色和組織結構呢,本文為你揭曉。
8.機器學習會產生哪些用戶體驗問題?(機器學習入門第五篇)
摘要:許多機器學習演算法都是黑匣子:輸入大量的數據,然後獲得一個以某種神秘方式工作的模型。這使得很難向用戶解釋機器學習的結果。在許多演算法中,還存在著交互效應,這使得模型更加難以解釋了。你可以把這個看成是特徵之間的複合效應,特徵之間以多種奇怪而又複雜並且不為人類所理解的方式結合在一起,整體效應大於各個部分效應。
9. 簡單自學機器學習理論——引言 (Part I)
摘要:本篇文章是"機器學習理論"三部曲中的第一部分,主要介紹學習機器學習的動機及基本理論知識,詳細介紹機器學習所學習的問題、泛化誤差以及學習問題是否可解的公式化表示,為初步研究機器學習的人員介紹了機器學習的基本處理過程。
10. 簡單自學機器學習理論—— 泛化界限 (Part II )
摘要:本篇文章是"機器學習理論"三部曲中的第二部分,主要介紹獨立同分布、大數法則及hoeffding不等式等基本數學知識,詳細推導了泛化界限及其分解。
11. 簡單自學機器學習理論——正則化和偏置方差的權衡 (Part III )
摘要:本篇文章是"機器學習理論"三部曲中的第三部分,主要介紹方差分解以及目標函數的正則化,通過模擬可以看到,引入正則化項限定了學習問題的解決方案範圍。
12. 入門級攻略:機器學習 VS. 深度學習
摘要:本文以淺顯易懂的語言介紹了機器學習和深度學習的定義及應用,以及在源數據要求,硬體支持,特徵工程、問題解決方式、執行時間及可解釋性等方面的區別,對於新手入門有很大啟示意義。
13. 增強學習小白?本文帶你入門了解增強學習
摘要:入門一件新事物總是會有些無從下手的,看了本文希望可以給大家一些幫助和了解。
14.這10本由淺入深的好書,或讓你成為機器學習領域的專家
摘要:機器學習是個跨領域的學科,而且在實際應用中有巨大作用,但是沒有一本書能讓你成為機器學習的專家。在這篇文章中,我挑選了10本書,這些書有不同的風格,主題也不盡相同,出版時間也不一樣。因此,無論你是新手還是領域專家,定能找到適合你的。
15.想知道機器學習掌握的怎麼樣了嗎?這有一份自測題(附答案和解析)
摘要:人類對於自動化和智能化的追求一直推動著技術的進步,而機器學習這類型的技術對各個領域都起到了巨大的作用。隨著時間的推移我們將看到機器學習無處不在從移動個人助理到電子商務網站的推薦系統。即使作為一個外行你也不能忽視機器學習對你生活的影響。本次測試時面向對機器學習有一定了解的人。
16. 送機器學習電子書——(TensorFlow)RNN入門
摘要:本文作者正在寫自己的新書Machine Learning with TensorFlow,這篇博文只是他新書的一小部分,作者用簡單的語言介紹了RNN,不用一個小例子介紹了如何使用Tensorflow中內置的RNN模型進行預測。
17. 適合入門的8個趣味機器學習項目
摘要:還在為找不到機器學習入門練手項目而感到無奈嗎?本指南中,將給大家帶來8個適合初學者學習的有趣的機器學習項目,簡單易學,相信會增添大家學習機器學習的信心。
18. 機器學習快速入門:你必須知道的三大演算法
摘要:每天霸佔新聞頭條的「機器學習」,想入門,先看懂這三大演算法。
二.機器學習演算法篇:
1.快速選擇合適的機器學習演算法
摘要:機器學習初學者可以通過本文了解如何快速找到合適的機器學習演算法。
2.多重角度解讀:貝葉斯推理是怎麼工作的
摘要:本文首先介紹了貝葉斯的起源,並利用簡單的例子生動形象地講解了貝葉斯定理是如何工作的,解釋了其基本原理以及公式的物理含義。
3.簡單通俗易懂:一個小例子完美解釋Naive Bayes(樸素貝葉斯)分類器
摘要:Naive Bayes分類器的解釋有很多,但是基於一個小例子來解釋的不多,本文就是基於一個簡單通俗易懂的小例子來解釋Naive Bayes分類器。
4.「學」、「習」二合一:監督學習——支持向量機(SVM)入門
摘要:SVM是機器學習中有監督學習的一種,通常用來進行模式識別、分類、以及回歸分析。本文用一個小例子簡介SVM,言簡意賅,通俗易懂。
5.機器學習利器——決策樹和隨機森林
摘要: 機器學習是當下最火的領域,本文通過一個小例子介紹了其核心演算法:決策樹和隨機森林。
6.基於圖的機器演算法 (一)
摘要:基於圖的機器演算法學習是一個強大的工具。結合運用模塊特性,能夠在集合檢測中發揮更大作用。
7.基於圖的機器演算法 (二)
摘要:基於圖的機器演算法學習是一個強大的工具。結合運用模塊特性,能夠在集合檢測中發揮更大作用。本文是基於圖的機器演算法系列文的第二篇。
8.簡單易學!一步步帶你理解機器學習演算法——馬爾可夫鏈蒙特卡羅(MCMC)
摘要:對於簡單的分布,很多的編程語言都能實現。但對於複雜的分布,是不容易直接抽樣的。馬爾可夫鏈蒙特卡羅演算法解決了不能通過簡單抽樣演算法進行抽樣的問題,是一種實用性很強的抽樣演算法。本文將簡明清晰地講解馬爾可夫鏈蒙特卡羅演算法,帶你理解它。
9.進階隱式矩陣分解——探討如何實現更快的演算法
摘要:本文重點是圍繞Conjugate Gradient(共軛梯度)方法來探討更優的矩陣分解演算法。
10.純乾貨|機器學習中梯度下降法的分類及對比分析(附源碼)
摘要:本文詳細介紹了基於使用數據量的多少,時間複雜度以及演算法準確率的不同類型的梯度下降法,並詳細說明了3種梯度下降法的比較。
11.深度學習網路大殺器之Dropout(I)——深入解析Dropout
摘要:本文詳細介紹了深度學習中dropout技巧的思想,分析了Dropout以及Inverted Dropout兩個版本,另外將單個神經元與伯努利隨機變數相聯繫讓人耳目一新。
12.深度學習網路大殺器之Dropout(II)——將丟棄學習視為集成學習之我見
摘要:本文分析了可以將丟棄學習當作是集成學習。在集成學習中,可以將一個網路劃分成若干個子網路,並且單獨訓練每個子網路。在訓練學習後,將每個子網路的輸出進行平均得到集成輸出。另外,展示了丟棄學習可以看成是在每次迭代中不同隱藏節點集合的集成學習表現,同時也展示了丟棄學習有著與L2正則化一樣的效果。
13.神經網路常用激活函數對比:sigmoid VS sofmax(附python源碼)
摘要:本文介紹了神經網路中的兩種常用激活函數——softmax與sigmoid函數,簡單介紹了其基本原理、性質及其使用,並用python進行了實例化演示,在文章的最後總結了兩種激活函數的區別。
14.新穎訓練方法——用迭代投影演算法訓練神經網路
摘要:本文介紹了一種利用迭代投影演算法對神經網路進行訓練的方法,首先介紹了交替投影的基礎知識,說明投影方法是尋找非凸優化問題解決方案的一種有效方法;之後介紹了差異圖的基礎知識,將差異圖與一些其他演算法相結合使得差分映射演算法能夠收斂於一個好的解決方案;當投影的情況變多時,介紹了分治演算法,最後將迭代投影演算法應用到神經網路訓練中,給出的例子實驗結果表明效果不錯。
15.車輛追蹤演算法大PK:SVM+HOG vs. YOLO
摘要:本文通過SVM+HOG演算法,YOLO演算法實現車輛檢測和跟蹤準確性和速度的對比,得出YOLO演算法更具優勢的結論。
16.什麼是視頻向量化?本文帶你了解基於DeepWalk的視頻推薦
摘要:本文簡要講述了視頻向量化,對DeepWalk的演算法進行簡單的解釋。
17.比PCA降維更高級——(R/Python)t-SNE聚類演算法實踐指南
摘要: 本文介紹t-SNE聚類演算法,分析其基本原理。並從精度上與PCA等其它降維演算法進行比較分析,結果表明t-SNE演算法更優越,本文最後給出了R、Python實現的示例以及常見問題。t-SNE演算法用於自然語音處理、圖像處理等領域很有研究前景。
18.隨機森林 VS 梯度提升機——模型融合之我見
摘要:本文節選自Quora社區上「When would one use Random Forests over Gradient Boosted Machines (GBMs)?」問題的回答,幾位博主就隨機森林(Random Forests)與梯度提升機(Gradient Boosted Machines, GBMs)的適合場景以及優缺點展開了討論。
三.機器學習常用庫:
1.倚天遇到屠龍:LightGBM VS xgboost誰才是最強的梯度提升庫?
摘要:很多人把XGBoost比作屠龍刀,LightGBM比作倚天劍,那麼當倚天遇到屠龍,誰更強呢?
2.即學即用:Pandas入門與時間序列分析
摘要:這篇文章是Alexander Hendorf 在PyData Florence 2017上做的報告。報告前半部分主要為初學者介紹Pandas的基本功能,如數據輸入/輸出、可視化、聚合與選擇與訪問,後半部分主要介紹如何使用Pandas進行時間序列分析,源代碼親測可用。
3.俄羅斯最大搜索引擎Yandex開源了一款梯度提升機器學習庫CatBoost
摘要:俄羅斯搜索巨頭Yandex宣布,將向開源社區提交一款梯度提升機器學習庫CatBoost。它能夠在數據稀疏的情況下「教」機器學習。特別是在沒有像視頻、文本、圖像這類感官型數據的時候,CatBoost也能根據事務型數據或歷史數據進行操作。
4.Netflix開源面向稀疏數據優化的輕量級神經網路庫Vectorflow
摘要:在Netflix公司,我們的機器學習科學家在多個不同的領域處理著各種各樣的問題:從根據你的愛好來定製電視和推薦電影,到優化編碼演算法。我們有一小部分問題涉及到處理極其稀疏的數據;手頭問題的總維度數很容易就能達到數千萬個特徵,即使每次要看的可能只是少數的非零項。
5.Python高性能計算庫——Numba
摘要:在計算能力為王的時代,具有高性能計算的庫正在被廣泛大家應用於處理大數據。例如:Numpy,本文介紹了一個新的Python庫——Numba, 在計算性能方面,它比Numpy表現的更好。
6.第二熱門語言:從入門到精通,Python數據分析庫大全
摘要:本文介紹了一些常見的用於數據分析任務的Python庫,如Numpy、Pandas、Matplotlib、Scikit-learn以及BeautifulSoup等,這些工具庫功能強大,便於上手。有了這些幫助,數據分析會變得分外簡單。
7.新工具——TensorLayer:管理深度學習項目的複雜性
摘要:本文介紹了一種新基於TensorFlow的python庫——TensorLayer,它能夠有效的幫助開發者管理好自己的深度學習網路。並且它還提供了很多功能強悍的API,幫助開發者更好的完成任務。
8.Pandas並非完美無缺
摘要:我們一直使用Pandas,但是卻不知道關於Pandas的細節。Pandas開發者深度復盤Pandas,指出了十大關鍵性問題,並通過介紹了如何使用Apache Arrow來解決這些問題。
9. 關於Numba你可能不了解的七個方面
摘要:目前Numba正被開始流行使用來加速Python程序,本文講解了七個大家可能不了解的方面,希望對大家有所幫助。
四.機器學習實戰篇:
1.57行價值八千萬美元的車牌識別代碼
摘要:為了防止被竊車輛進入黑市銷售,警方使用了一個名為VicRoads的基於網路的服務,該服務用於檢查車輛的登記狀態。該警局還投資研發了一個固定式汽車牌照掃描器:一個固定的三腳架攝像頭,可掃描過往的車輛,並自動識別被竊車輛。
2.如何利用機器學習預測房價?
摘要:本文作者利用自己過去三個月里所學到的東西,來預測所在城市的房價。所用到的技術有網路爬取技術、文本自然語言處理,圖像上的深度學習模型以及梯度增強技術等。
3.機器學習中的技術債務
摘要:許多人遇到技術債務時都會眉頭緊鎖,但一般來說,技術債務並不是一件壞事。例如,當我們需要在最後期限之前發布版本的時候,技術債務就是一個可以利用起來的合理手段。但是技術債務存在與金融債務一樣的問題,那就是到了要償還債務的時候,我們所付出的要比開始時付出得多。這是因為技術債務具有複合效應。
4.DIY圖像壓縮——機器學習實戰之K-means 聚類圖像壓縮:色彩量化
摘要:本文以圖像壓縮為例,介紹了機器學習的實際應用之一。
5.如何將機器學慣用在基於規則的驗證上
摘要:這篇文章介紹了一些高級問題,比如:智能自治系統的驗證有多少可以用機器學習來實現?大多數的需求是否仍然是基於規則的,如果是這樣,那麼它們如何跟機器學習相結合? 機器學習和規則之間的不穩定介面如何影響基於機器學習的系統?
6.Certigrad——隨機計算圖優化系統
摘要:Certigrad是一種概念證明,它是用於開發機器學習系統的一個新途徑。
7.使用神經網路和遺傳演算法玩轉 Flappy Bird
摘要:本文展示了針對Flappy Bird遊戲設計的機器學習演算法。本實驗的目標是使用神經網路和遺傳演算法編寫一個人工智慧遊戲控制器,打出遊戲最高分,不服的來挑戰!
8.教機器寫代碼:增強拓撲進化網路(NEAT)
摘要:NEAT的意思是「增強拓撲進化網路」,它描述了在進化過程中受遺傳修飾啟發的自學習機器的演算法概念,不妨看看它是如何教機器寫代碼的。
9. 機器學習中,使用Scikit-Learn簡單處理文本數據
摘要:機器學習中,我們總是要先將源數據處理成符合模型演算法輸入的形式,比如將文字、聲音、圖像轉化成矩陣。對於文本數據首先要進行分詞(tokenization),移除停止詞(stop words),然後將詞語轉化成矩陣形式,然後再輸入機器學習模型中,這個過程稱為特徵提取(feature extraction)或者向量化(vectorization)。
五.機器學習雜談篇:
1.關於機器學習你必須了解的十個真相
摘要:作者從非專業人士的角度對人工智慧常見的誤解進行了解釋說明。
2.誰更勝一籌?——隨機搜索 V.S. 網格搜索
摘要:隨機法和網格法都是常用的、有效的結構優化方法。那麼它們兩者當中誰更勝一籌呢?在本文中,作者通過有趣的地形搜索實驗,找到了答案。
3.沒有任何公式——直觀的理解變分自動編碼器VAE
摘要:本文簡單介紹了變分自動編碼器VAE的基本原理,從經典神經網路的貝葉斯計算概率方法慢慢轉變到變分自動編碼器神經網路中的優化問題,使用KL散度度量誤差,給大家提供一個VAE的基本框架。全篇沒有公式,通俗易懂。
4.增強避障系統設計淺析:站在機器學習的角度,剖析學習型避障小車的設計思路
摘要:FF91於12017年1月4日在美國拉斯維加斯成功首發,拉開了互聯網生態電動汽車的序幕。自動泊車使得停車也成為了一種享受,新手司機再也不用擔心該如何見縫插針了。但是如果在車水馬龍的繁忙環境下,無人駕駛還能得心應手嗎?本文將站在機器學習的角度和大家分享學習型避障小車的設計思路。
5.AlphaGo在圍棋界成為最強王者後,我們該如何進行機器學習?
摘要:機器學習無疑是時下的科技熱點。無人駕駛,機器下棋,股市預測等領域,我們都能找到機器學習忙碌和高大的身影。那麼對於初學者來說,該如何下手?該怎麼學習呢?
6.分享Andrew Ng在深度學習暑期班中演講的機器學習項目
摘要:深度學習項目流程,帶你走出迷茫。
7.分散式機器學習平台比較
摘要:機器學習,特別是深度學習(DL),最近已經在語音識別、圖像識別、自然語言處理、推薦/搜索引擎等領域獲得了成功。這些技術在自主駕駛汽車、數字衛生系統、CRM、廣告、物聯網等方面都存在著非常有前景的應用。當然,資金驅動著這些技術以極快的速度向前發展,而且,最近我們已經看到了有很多機器學習平台正在建立起來。
8.機器學習和統計學的「愛恨情仇」可以結束了
摘要:機器學習和統計學在數據科學的領域裡,已經相愛相殺很多年。今天,就讓我們跟隨ML從業者和統計學家兩者組成團隊,解開兩者這幾十年的「愛恨情仇」。
9.2017上半年無監督特徵學習研究成果匯總
摘要:無監督學習是人工智慧時代核心技術,今天我們就來盤點一下2017上半年無監督學習出現了那些重要的研究成果。
10.有監督相似性學習:基於相似問題數據的對稱關係學習
摘要:本文簡單介紹基於相似問題數據的對稱關係學習,通過在Quora數據集和StackExchange語料庫上應用孿生卷積神經網路的結果表明,對稱網路能夠較大幅度地提高檢測精度。
11. 應用機器學習:傳道解惑指南
摘要:本文作者編輯了一份包括概念、定義、資源以及工具的知識合集,這對於在這個複雜領域從事工作的人來說非常有用。
本系列博客內容由北郵@愛可可-愛生活老師推薦,@阿里云云棲社區組織翻譯,翻譯小組袁虎負責整理。本系列長期更新,更多關於機器學習的優質好文,多多推薦!
原文鏈接
更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎
我不是大神。
背景:某二本院校大四學生;
說一說自己的學習經歷吧。不知道能不能對題主有所幫助。
跟大多數人一樣,是從Andrew Ng大神的coursera課程接觸到機器學習。在學那門課的時候也就老老實實的看完,看到最後,聽到Andrew說看完這些課程的人基本上已經超過矽谷半數的工程師了(具體不記得了,大意是說看完就屌屌的了),前一秒,我是信的,後一秒,我自問我到底會了啥,無非就知道些機器學習的名詞,演算法的基本思路。
然後我該幹嘛?
找本書來看看啊,找另外一個公開課看看啊,給腦子裡那個模型增加數據量啊。
《統計學習方法》+台大的公開課《機器學習基石》和《機器學習技法》這個組合簡直杠杠,我敢拍著胸脯說我看了4遍,第1遍是照著課程進度配合書籍一起學習,第2遍是課程完結後的複習,第3、4遍在我參加kaggle比賽的時候進行知識的回顧。
這個組合裡面的書籍可以換成該課程對應的教材。
看完書籍和公開課,我發現,數學很重要!數學很重要!數學很重要!在看Ng的課時倒還沒有這個感覺,看台大課程的時候明顯感覺到數學知識的比重陡然增加。然後就看了MIT的線性代數公開課和微積分,這才解決了公開課裡面的部分疑惑。
理論的知識大概了解了,然後我該幹嘛?
python大法好啊!什麼C++,java啥的真複雜,直接做個調包俠多麼愉快啊。二話不說,直接就學,Python 2.7教程,感謝廖叔叔。接下來就是熱門的機器學習演算法包scikit-learn: machine learning in Python 。什麼,演算法輸入要求是pandas data frame ,來一本 利用Python進行數據分析 (豆瓣)。 至此,已經學會基本的數據預處理了,這些無論是書籍還是公開課都直接略過不會教的。
在這裡要隆重推薦 周志華老師的 機器學習 (豆瓣) ,目前看過的最好的中文的機器學習教材,涵蓋了很多教材所沒有的 數據預處理,特徵工程。這書,得供起來。
會調用演算法了,然後我該幹嘛?
機器學習?數據挖掘?這兩者到底界限在哪裡?要不就都看看吧,有了這個想法後,我找了cousera上UIUC 的data mining 專項課程Specialization來看,裡面有兩門課是大名鼎鼎的韓家煒教授所教的。至此,我知道了pattern mining,搜索引擎的基本框架和原理,文本挖掘和自然語言處理的一點知識,聚類分析的大概。這些課程中都會夾雜著之前所學的機器學習演算法。
每節課課後推薦的延伸閱讀文章和書籍非常值得去看一看!
了解了一些應用,然後我該幹嘛?
玩啊!當然是好好玩機器學習/數據挖掘比賽啊,Kaggle: The Home of Data Science,我把101,playground這兩個級別的比賽刷了一遍,然後鼓足勇氣參加了一個有獎金的比賽!最後排名狀況是在1800多個隊伍排300多名。
一開始不知道怎麼去做一個kaggle比賽的時候,我照著 https://www.dataquest.io/section/kaggle-competitions 的教程過了一遍,大概就知道整個流程。
偶然一次,碰到數據量特別大的比賽,數據量上G,套了一個模型上去後,直接memory error。這讓我知道了大數據處理平台 Apache Spark?的好用之處,也再一次證明了,學習python的好處 Welcome to Spark Python API Docs!。我在windows 10的系統上嘗試著跑一個單機版的spark來玩玩,配置過程一直出錯,巨麻煩。這個時候我感受到了linux的友好!(沒有黑windows的意思)也因為這樣,順便學習了linux操作系統。推薦 鳥哥的 Linux 私房菜 -- 鳥哥的 Linux 私房菜 首頁。
找工作啊!我在拉勾網、100offer、哪上班和實習僧這些招聘網站找數據挖掘/機器學習的崗位,把招聘要求裡面的共同需求點給標記出來。
- 常見機器學習演算法
- 資料庫
- java、c++、python、R
- linux操作系統
- 數據結構與演算法
在知道自己的不足之處後,自然就一直在填補這些簡歷上面的空缺。
當然我覺得自己在機器學習演算法方面還有很多疑惑和不了解的地方,正準備去研讀下經典的PRML。
其實說了這麼多,無非是想說,我是在一次次的需求和興趣的驅動下去學習的,題主不妨仔細地思考下自己的需求,從機器學習的應用方面去找找靈感,也許會是不錯的選擇。
然而我說了這麼多,我學了這麼些東西,我還是找不到實習!找不到實習!找不到實習!投了簡歷倒是給我個反饋啊喂!我容易嗎我!!反正就是一句話:
Learn by doing, keep your hands dirty.題主是否要明確一下成為哪方面的大神?
是成為非常能coding的機器學習應用大神(熟知各類模型演算法的組合和優劣,分分鐘能依據具體業務設計模型)?
還是論文滿天飛,各種理論分析,各種bound隨便推的學術界大神?
前者多看ML工具書(比如MLAPP、PRML、ESL、FML等),多寫代碼。後者多看前沿論文,多學基礎理論。我學了好幾年了,還一直感覺自己在入門。。。
每次看大牛們發的paper,都覺得自己弱爆了
本人背景:機器學習、量化投資
我的看法:理論實踐相結合
就看是先理論後實踐,先實踐後理論,邊實踐邊理論。這些都是可以的,看個人想法,也看機遇,正所謂緣分天註定嘛!
下面說一下個人經歷,希望對題主有幫助吧。我是屬於邊實踐邊理論。
我最早是在課堂上接觸到神經網路,也看了一些書,美顛美顛的以為自己都會了。結果跟隨老師做百度的一個項目時傻眼了,完全寫不出演算法。於是跟大多數人一樣,從Andrew Ng大神的公開課開始學習,期間啃了《統計學習方法》、《數據挖掘》、《機器學習實戰》等。在項目進行中會發現自己越來越多的不會,項目結束後,繼續做金融時間序列的相關研究,慢慢走向了量化投資。
在量化投資領域,我是大量閱讀資料(包括各種論文,經典書籍,研究報告等),設計量化投資策略,編寫程序實現,分析總結,繼續閱讀資料,反覆迭代下去。其中理論實踐結合中的分析總結很重要。
說了很多了,最後一句,興趣才是驅動學習的最大動力!真真的寫了篇雞湯呢?哈哈。。。
對於題主來說,接下來就是做項目,找實習,更多的去實踐。如果有項目的話就踏實的做項目,不多說。
=============
最後打個廣告,如果沒有項目、實習可做,可以找我。個人目前在JoinQuant平台做機器學習在量化投資中的研究,歡迎感興趣的朋友私信我,一起來討論用機器學習做量化投資,這是很酷的事情。【機器學習方法研究】——思路整理、支持向量機
為表達誠意附上部分個人研究乾貨。
這是之前回答的一篇資料帖,量化交易主要有哪些經典的策略? - 冰檸檬的回答
========下面簡單介紹一點,不做詳細展開特徵選擇
基本面因子:PE,PB,ROE等
技術指標因子:RSI、KDJ、MA、MACD等
蠟燭圖形態因子:三烏鴉、鎚子線等
大數據等等。。。
輸出股價,股價漲跌分類,未來一段時間收益率等
還有一類用法是利用非監督學習甚至深度學習找到更好的特徵- 比如找到大漲的股票,然後看大漲前一段時間的形態有沒有相似的,利用非監督學習的方法。
- 套利是看股價的相關性,這樣的關係可能不是那麼明顯地存在於股票的價格中,可能存在於收益曲線中或者方差曲線中,甚至更高複雜度的統計量中。深度學習提供了將原數據投影到另一個特徵空間中的方法,而且是高度非線性的。那麼,原數據中沒有體現出來的相關性,會不會在這種高度非線性的投影空間中體現出來呢?
貌似歪樓了。。。。
不是大神,只是個學渣,目前也不知道有沒有入門,只說下自己感受
先是看完了《集體智慧編程》一書,這本書設計到很少的數學內容,粗略的介紹了推薦系統的構建,聚類,搜索引擎,模型優化,文本過濾,決策樹等演算法,以及怎麼寫爬蟲爬數據等等,用作入門還不錯,演算法主要是用python實現的,請務必按照書中的演算法,自己動手實踐!如果不熟悉Python,可以買本Python教程看一看,推薦老外寫的《Python基礎教程》,有中文版,我買的是第二版。《集體智慧編程》豆瓣書評在這裡集體智慧編程 (豆瓣)。
然後把coursera上NG老師的公開課,(公開課鏈接在此https://www.coursera.org/learn/machine-learning/home/welcome,網易公開課上還有個斯坦福大學版的,如果覺得數學基礎不錯,可以看那個) 完完整整的看完,並且做完所有課後習題!看完視頻不一定會寫演算法,所以沒有做習題的話,請務必做完所有習題,並保證所有習題都做對(課後習題可以提交,查看分數,確認是否答對。另外遇到不懂的,可以到coursera該課程的論壇上提問題,論壇的mentors很熱心,在這裡謝謝他們對我若干問題的解答)NG老師也說了,他寫演算法是先用少量訓練數據在Octave(類似於matlab,但是是開源的)上實現,看學習曲線,調整,確認效果,然後再做後續的處理,所以這裡課後習題就用NG老師說的Octave來做吧。
目前在啃PRML,剛看完第一章,樓主能深入學完這本書,實在是我的楷模。我基礎比較差,所以第一章包括課後習題,就花了我好長時間。文中涉及到的一些概念,google, wiki之也花了好多時間。看過其他同學的一些經驗,這裡說下我看完第一章的感受,請務必把課後習題都做完!實在不會做的,可以自己想一遍,然後參閱這本書的solution。
等學完PRML這本書,計劃再把ESL(The Elements of Statistical Learning)這本書啃完。我之前是先看的ESL,結果發現實在是看不懂,然後去亞馬遜上看書評,看老外們是怎麼學的,下面這張圖的書評人說了他的經驗,建議先看PRML,然後再看ESL。因為PRML給了一定的基礎,再去看ESL會簡單一些,ESL也會涉及到比較多的實踐操作(我還沒看ESC這本書,只是看了別人的一些經驗)。我認為很對,所以現在在照著做,這個書評的鏈接在這裡,http://www.amazon.com/gp/customer-reviews/R1VGUIHGV72TTO/ref=cm_cr_pr_viewpnt?ie=UTF8ASIN=0387310738#R1VGUIHGV72TTO
#=====================================================
更新一下上面提到的兩本書的完整書名:
PRML,Pattern Recognition And Machine Learnin,Pattern Recognition And Machine Learning (豆瓣)
ESL,The Elements of Statistical Learning,The Elements of Statistical Learning (豆瓣)
#=====================================================以上。
看題主的描述,理論基礎應該基本ok了,可以考慮接觸一些實戰項目,比如Kaggle、阿里天池的一些比賽。如果自己計算資源偏少還是建議參加天池的比賽,提供了分散式計算平台,而且本身對於校招有比較直接的幫助——阿里提供top隊伍校招綠色通道。
Tianchi Big Data Platform-Build the Leading Platform of "Crowd Intelligence and Crowd Innovation"
https://www.zhihu.com/question/20874105/answer/41562872
已經很牛逼了,去實習吧
感覺題主才是大神, 研一能看完
本人研一,目前已經將機器學習的基礎知識部分以及學習了不少,目前深入學習包括了《PRML》、《統計學習方法》、《矩陣論》、《最優化方法》、吳恩達《機器學習》視頻、部分《凸優化》、《數字圖像處理》
這分明是來嘲諷的。
反正研一看完這些的, 估計手裡怎麼也有個ACL了, 要是沒有就說明沒看完, 用不著下面的人說我強答。。。。。看到題主這麼完備的學習體系,深感自愧不如。我簡單從coding的角度分享自己的體會吧:找一個靠譜的DM比賽,然後認真地思考和嘗試,可結合平時所學所思,具體過程參考爛大街的攻略,此處不再贅述。當然一個比賽只能看到一個方向的不足,可以考慮參加各式各樣的演算法比賽,涉獵更多的領域以開闊眼界,具體看個人精力,當有一天你覺得比賽沒意思的時候,就是你做出抉擇的時候,往工業發展還是專心學術,你心裡應該就有答案。
說實話,一說什麼大數據data science,ML,DL一大堆人就跑出來指點江山揮斥方遒......真正能做有意義的東西,能做出好研究的我懷疑國內高校內的老師一個985估計也都是個位數。
本人是國內本科,也沒有覺得原來認識的老師做的研究多麼厲害,最多是用了ML結合圖像圖形就能發cvpr了1. 看書、看視頻公開課等等,現在良莠不齊的太多了,找大師的、經典的吧
2. 實踐實踐再實踐,計算機和機器學習都是實踐科學。可以找一家技術性的公司實習,也可以去機器學習平台上實踐操作:推薦kaggle;同時也推薦 https://bigquant.com/ ,這裡可以用實際的股票數據來練手(聲明:利益相關,我是BigQuant官方賬號)
我的個人觀點是,重要的是去一家有真正技術大神領導的公司,因為基礎的概率與統計、機器學習和程序開的學習方法的知識架構都差不多。真正實現人才之間的區分度的是看誰能夠實現從數學、概率、程序和對現實世界的抽象和建模幾個維度同時融會貫通。而這種能力是很難在跟著書本或者做一些基礎性的項目當中學會的,加入一家真正有機器學習/大數據分析頂尖專家的公司並和這些專家配合工作應該是提高最快的方式。
在機器學習中,很多人都知道cross-entropy loss function(交叉熵損失函數),也在大數據分析中學習了maximum likelihood estimations(最大釋然估計 MLE),但是我們公司面試過的很多的申請人居然不知道這兩者之間的關係。而且我們驚奇地發現幾乎所有了解MLE的計算方式的申請人都無法用一句話說出它在現實世界被使用所隱含的假設。MLE被使用的前提假設可以用一句簡單的話概括出來:我們認為我們眼睛觀測到的現象就是發生概率最大的一組事件。我們看到申請人可以非常熟練地使用RNN、CNN和各種其他看似複雜的機器學習方法卻無法回答上面這個問題。
這可以算是一個經典的知其然而不知其所以然的例子了。想要鍛鍊出這種知其所以然的能力,去一家有真正技術大神領導的公司我認為是至關重要的。
大神集中在互聯網和金融量化投資-AI人工智慧演算法投資這幾個領域。
在判斷一家公司是否有大神的時候應該仔細判斷他們公司所在的行業是否深入使用深度學習/大數據分析。
對於互聯網領域,很多朋友比較熟悉了,圖像識別、金融徵信與人工智慧助手三個領域應用最多:
- 圖像識別:face++、商湯科技等
- 金融徵信:螞蟻金服、阿里、京東等
- 人工智慧助手:Siri、玩秘App、Cortana等等。
這些公司都是在深度學習和大數據分析方面非常專業的,背後一定是有技術大神支撐的。
金融量化投資領域是很多朋友們不熟悉的領域,其實量化投資領域早在10年前就深入地使用機器學習和其他大數據分析方法,利用純數學模型進行二級市場投資。這裡面大家可以關注來自國際頂級投行(高盛、摩根大通)的量化交易部門和頂級對沖基金的專家所在的公司。這是為什麼國際上很多科技領域的機器學習專家之前來自於金融量化投資領域
我對大家的建議是加入一家擁有真正的機器學習/大數據分析頂尖專家的公司,在大神身邊成長,這可能是我覺得最高效的捷徑。
謝邀。我的過程是,「看了些書以為自己會了」--「但是演算法寫不出來」--「演算法能寫出來,發現自己其實什麼都不會」,現在在嚮應用努力。我不是計算機專業,主要是個人愛好,研究大數據與人工智慧在金融投資中的應用。所以我不是特別偏理論,主要勤於寫代碼設計演算法,不過線代積分概率基礎還算牢固,而且也經常翻這些書,以汲取各類演算法思想為主。金融數據雜訊大,特徵難以提取,所以更關注選擇何種特徵而不是對偶解還是單純形這類純數學問題。看你什麼專業了,計算機或者數學專業,如果不能沉下心寫兩篇學術論文那真的只能算皮毛;其他專業能結合機器學習的思想code自己的想法基本就可以過關了,沒必要整天研究純理論,根據自己的情況選擇多看論文或者多寫代碼就行了。
我覺得已經入門了的人是不需要來問這種問題的,看這個問題的人可能也是就想入門。
如果你想做機器學習方面的事情,請不要去把精力放在各種演算法,模型上。 我不是說這些沒用,只是你學的這些東西對想招你的公司來說也沒用,也就是對你入門沒用。
整個數據行業對單純搞機器學習的初級人才需求不高。招得最多的是BAT聯盟, 不過別人一般喜歡招有經驗的,完全沒有經驗基本上投的簡歷看都不看,因為人太多了。 各種只做過KAGGLE幾道題目的研究生就過來說自己想當數據科學家。這還不是最慘的,數據科學號稱統計學加計算機,也就是跨界,所以計算機的申請,搞統計的也申請,和統計沾邊什麼金融,經濟的也申請。 反正就是供應過剩,需求還沒旺起來。
因為供應太多,需求不旺導致初級人員工資不高。 一般只有做web端的IT在前幾年(0-2)的80%左右。如果你只是為了錢,說實話web端的機會好得多。
如果你真想加入這個行業,也看好這個行業。 請從數據本身入手, 比如在簡歷中顯示出你在數據預處理方面的能力,獲取數據的能力,大規模數據儲存讀取方面的能力。這些才是一家公司項目老大最看重的,對於新人來說。
好吧,如果你這些能力都沒有,還想加入這個行業。 學爬蟲吧, 容易學,容易出結果,所有我說的能力都在做爬蟲的過程中運用了, 處理XML,處理JSON,處理各種不規整數據。 爬X寶,爬X東,各種獲取數據的能力。 存MYSQL,存MONGODB,各種大規模數據儲存讀取方面的能力。進階點 使用SVM,DL之類的來做ORC。 做完這些之後你會發現,你對數據本身的理解加深了。想進入一家做數據的公司易如反掌。
話說,我最近招爬蟲工程師,來投簡歷的都是想做數據挖掘的,都是被人工智慧迷暈了腦袋,根本不知道人工智慧的基礎是什麼。 有興趣的可以看看我的一篇文章。
http://zhuanlan.zhihu.com/p/20675350
看你的大神標準是什麼。真的成為專家的話,去讀PhD。成為知乎大神的話,我就不知道了。
AI筆記 | 一張圖幫你全面掌握機器學習演算法知識體系
【更多人工智慧資料下載歡迎關注公眾號@智能玩咖】
推薦閱讀:
※去美國讀CS博士,方向是機器人導航,視覺方面,推薦一下相關編程方面準備?還有相關演算法需要學習哪些?
※可否通過編程為《秘密花園》填充出和諧的顏色?
※為什麼香港中文大學研發的人臉識別演算法能夠擊敗人類?