新手學機器學習一個月後,一些第一手乾貨分享
機器學習這個領域很大,大致思想為讓機器探索已知數據集的規律進而完成一些預測任務,比如將上市公司的數據量化,建模,進而對其股價進行一個預測。其分支有:
- 監督學習:已知數據屬性,進行預測;
- 非監督學習:未知數據屬性進行預測,1歲小baby看到貓狗不知道成人對其的定義,但是他可以分辨貓狗不一樣;
- 增強學習:有交互的模型,根據模型做出的行為做出獎勵或懲罰,引導其做出正確的事。比如:你想教狗只能在某種地方小便,它在其他地方做出該行為你就打它,符合你預期就給它顆糖吃,它就乖了。
我在Udacity這一個月學的主要是監督學習,這也有很多種演算法,易於實現的如Logistic回歸:Logistic Regression 模型簡介, 決策樹,高斯樸素貝葉斯 等。也有精通調參可以出神入化的SVM。還有一些集成的模型,如隨即森林,梯度提升樹,Adaboosting等。這些集成模型在競賽中出鏡率很高,有非常高的準確率和較好的適應性(Robustness,適應性差就好比一個人只會做自己老師出的題,甚至可以做滿分,但高考就GG)。
期間還學了一些數據的處理,好的模型離不開特徵工程,去除原始數據集的雜質,構建更利於描述的規律,可以極大的幫助建模後的準確率。具體可以看劉帝偉大神說的:機器學習之特徵工程。PCA技術的數學原理可以參考CodingLabs - PCA的數學原理。
雖說做項目也要參照一些課外資料,但Udacity的項目審核還是很到位的,會有不少tips從不同角度解答,理解更深刻。過項目也會加入一個通關群,同一進度的學員可以相互交流,互相督促。還有個小班級群,會安排班級導師每2周找15分鐘時間溝通下學習情況。課程上以幾分鐘的短視頻為主,小練習為輔。一個視頻一個知識點,很適合利用碎片化時間看,有時也會停不下來,一口氣看完一小節。學習路線設計循序漸進,對學生的引導非常好,對機器學習感興趣的同學可以體驗下Sebastian Thrun大佬教的這門免費課程機器學習入門(中/英)。想跨領域系統性的學習可以加入機器學習(進階)畢竟深度學習項目和畢業項目才是真正提升自己的地方。而且最後會指導完善簡歷,領英,github的資料,還有面試的一些技巧,人家的納米學位還是追求含金量的。
這裡斗膽對想進這個領域的未來工程師提一些建議:
- 學生黨最好利用你們身份的優勢去找相關的實習,有工資還能學技術!好羨慕你們~~
- 盡量別脫產學,因為這個領域想達到能為公司帶來效益的水準要花的時間不短,可以先利用碎片化時間學,多做項目,有機會去參加競賽,利用好github。每一點點的努力都會有收穫的!
- 對於財務自由想多學技術的大佬,我只能說2個字:牛X!
國內就業情況根據拉鉤與boss直聘的數據看要求還是很高的,一般來說都要求碩士,技術上關係/非關係型資料庫都要會(sql,mongodb),大數據相關要會一些(spark,hadoop),再來就是相應的演算法能力,現在深度學習流行,所以tensorflow會的話更吃香。工作經驗上最好有個2年數據或演算法相關的工作經歷。唉。。。說多了都是淚~咳咳,奮鬥吧!多少歲都不晚。
附上幾個tips:
- 最好科學上網
- python還是要學點的,最近發現了個不錯的網站SoloLearn: Learn to Code(APP體驗也好)
- 線性代數與微積分可以上youtube搜MIT的課程(可以快放)
- LeetCode是個不錯的刷題網站
- Evernote,Chrome,google翻譯是3個很好應用
推薦閱讀:
※李宏毅機器學習2016 第十五講 無監督學習 生成模型之 VAE
※從Nesterov的角度看:我們為什麼要研究凸優化?
※想學習「機器學習」,需要學習哪些先導課程?
※目標檢測(5)-Faster RCNN
※Udacity的納米學位 (Nano degree)怎麼樣?
TAG:优达学城Udacity | 机器学习 |