乾貨|機器學習入門

關注我的個人公眾號:讓時間慢下來,後台回復機器學習,晚一點發大家一些資料哦。

我接觸數學建模比較早,本科時就參加過美賽、國賽,得過幾次獎,碩士期間還擔任了校數學建模協會的副會長,長期參與到學生培訓的工作中。我是學城市與交通規劃專業出身,參加數學建模競賽也主要是因為興趣愛好,但正因為本科參加競賽拿了國二和校賽一等獎,在保研的時候得到了加分,也受到了導師的青睞。研究生三年都是做數據挖掘研究。找工作的時候,也因為這個特長多拿了很多Offer,現在也在我們公司的大數據研發中心作為骨幹研究員之一。

我個人學習數學建模和機器學習的過程可以說是比較艱辛的,也走了很多彎路。就拿學Python來說,翻那本《Python從入門到精通》,真的是掃了一遍,什麼都沒記住。主要原因還是沒有實際項目練習,也沒人交流和指導,當時也沒有知識體系的意識,缺乏一個全景圖。後來加入到數學建模協會,在社群里經常討論,不懂就問,確實好了很多。

這是我最近學習了機器學習之後,在項目上,利用某市的手機信令數據分析的城市道路網擁擠情況,越紅表示越擁堵。

為了能讓知友們少走彎路,這裡我把自己總結的機器學習知識體系大概羅列一下,我分基本篇、進階篇以及高級篇來講。

基本篇:需要一定的數理知識和編程基礎。其中數理知識是大學一、二年級的必修課。比如微積分,線性代數、概率與統計。很多同學在大學線性代數和概率與統計都沒學好,線性代數本質是研究向量,多維模型的多維參數一定是要由向量來表示的,並且很多空間問題都可以用向量理念來抽象出來。概率論是很多機器學習演算法的基礎,其實人在考慮問題的時候,不也是在權衡各種可能性嘛,像貝葉斯演算法、Logit演算法、神經網路演算法其實就是機器腦在基於概率來權衡判斷。

如果這幾門你大學就沒學明白,那我其實不建議你繼續自學了,非常耗時間,最好能找一些高人指導一下,或者去聽一些網路課程。不得不說,很多大學的基礎學科老師科研可能還可以,講課是真爛,也許你聽一些好的網路公開課,還是能學懂的。

編程基礎方面,很多工科生也是學過一些編程語言的,直接上手Python應該沒問題,看一眼Python入門書,或者去Codecademy跟一個Python系列就學會了,這裡是鏈接:

官網?

www.codecademy.com

進階篇:了解統計分析、機器學習基本概念;學習相關演算法,機器學習演算法可以分為兩類,監督類演算法(K近鄰、回歸、SVM、決策樹、樸素貝葉斯、BP神經網路)和非監督類演算法(聚類、Apriori、FP-growth),難度會比較大,需要一點點磨。

機器學習語言肯定就是Python了,這個不用爭了,如果涉及到可視化可以試試Tableau,這個在校生評價學生證可以在官網申請免費試用一年哦。

高級篇:主要在於實踐了,要多參加各種項目,包括一些開源項目。遇到問題要能讀相關高質量的中、英文論文

其實在基礎和進階的過程中也要配合著項目練習才是最好。很多人都說讀完書沒有用,是的,不去用就學不透。你要在實踐中加以運用才能真正學會。美國國家訓練室做過一個比較研究,那麼可以看到,轉變學習方式,變被動為主動才能留存最多的知識。

如果你真的想成為一名人工智慧人才,必須要嚴格自律,拿出很大一塊時間投入到學習中。對於那些自學能力不強、自律不強的,我不建議大家自學。你會陷入低水平均衡陷阱,所謂低水平陷阱就是長時間停留在入門階段,只了解一些概念,無法有體系性思考能力,去解決實際問題。這非常浪費時間。學機器學習就要學得透徹,懂點皮毛一點用沒有。

我們公司的福利待遇比較好,一直鼓勵我們工作以後也要繼續學習,像買一些參考書、參加一些線下培訓,網路課程都是給報銷的。

這兩年人工智慧非常熱,行業變化也很快,新技術、新應用很多,我利用業餘時間也進一步在學習機器學習知識。從我學習和試聽過的幾家課程來看,國內的幾家授課內容比較空,不貼近實戰,師資力量也很有限,我甚至覺得有幾位老師也就是有教授名頭,講的內容我也講。

國外的三大課程網站Coursera、Udacity、edX的機器學習課程我也都找來學習過,其中Coursera的創始人吳恩達是人工領域頂尖的科學家,他的機器學習課程我試聽了前幾期,發現整體比較基礎,還沒完全針對中國市場的需求,聽完沒辦法完全投入實戰,不過60美元還蠻划算的,入門聽聽可以的。課程鏈接:

Machine Learning | Coursera?

www.coursera.org圖標

edX還沒有完全進入中國市場,連網站還是全英文的。在人工智慧尤其是機器學習領域還沒有相關課程,只有數據分析入門級課程。他們的鏈接:

數據分析入門?

www.edx.org

Udacity(優達學城)的機器學習課程整體比較全面,分成了基礎和進階兩個類型,我們公司就採購了他的課程,幾個人用一個賬號還挺划算的。現在還沒全學完,總的來看裡面的課程設置很貼近實戰,內容也非常系統,不愧是谷歌工程師設計的課程。

還有就是優達提供了一個非常好的學習社群,大家可以討論,發現裡面高手還是很多的,配合地實戰項目,老師還會一對一的給改代碼教學。他們的鏈接:

機器學習工程師 | Udacity?

t.cn圖標

像我平時工作比較忙,一般都是抽早上、晚上的零碎時間學習的,課程里3分鐘左右時間講明白一個知識點,不需要整段整段的看,視頻也可以下載到手機里,地鐵上看。我大概用了15周時間,學完了基礎篇,高階篇也看了一半。不過說實話,裡面的實戰對於沒有良好編程基礎的還是會有難度的,學習可能要更長一些。

我覺得做事情一定要考慮時間成本,尤其是你真想從事的行業。機器學習屬於非常高深的知識,如果沒有好的引導或者只是自學,會浪費大量的時間。這幾個課程雖然有點貴,但是你好好學,找到華為、滴滴、阿里這些大廠的好工作,一個月的工資都夠買好幾套教程了,要考慮機會成本。

粉絲福利,免費職場問答社群

我和Youcore合作的職場問答社群,主要討論的是職場問題和學習方法,有興趣的知友可以申請加入。群是免費進入的,但是禁止在群內閑聊,發鏈接,大家需要一個乾淨的環境,添加微信:youcore13,放兩個截圖:

我最近在做的社群:

戀愛交友:桃源客棧,遇見真愛

職場人脈:我和我的100位精英朋友

本文作者:崔叔

就職於上海頂級城市發展研究機構,走南闖北,見識頗廣,是一位為城市勾畫藍圖的規劃專家。同時在文化藝術、職業發展、個人成長領域擁有敏銳的觸角和思考,對社會發展趨勢有著獨到的見解和洞察。

關注公眾號,讓時間慢下來,他的個人微信號是unclecui1949。


推薦閱讀:

《Python數據科學實戰》案例一:個人貸款違約預測模型
關於知乎KOL關注者組成的研究(進行中)
豆瓣5.3的《長城》,水軍力量到底有多強大
探索模式——基於關聯規則的泰坦尼克號生存人員分析
數據分析之數據可視化

TAG:機器學習 | 入門指南 | 數據挖掘 |