標籤:

簡單粗暴地入門機器學習

簡單粗暴地入門機器學習

有很多小夥伴問過我零基礎要怎麼入門機器學習或者人工智慧,今天來提煉一下,方便志同道合的朋友們參考。

記得我剛入此山洞準備修鍊的時候,就 Google 了好多這類的問題,那時候覺得大家的建議好多呀,這條路看起來真長,那麼多東西要學,那麼多書要看,那麼多有用的課程要學。

現在我可以就自己走過的坑坑包包來推薦一條簡單粗暴的路徑。

[step 1: 方向]

在行動之前,先想好這幾個最基本的問題,如果自己想不全都可以去搜一下,知乎上很多大拿的回答:

--1.為什麼要學習機器學習或者人工智慧呢?

我的話,很實在地說,就是不想被淘汰呀!最開始就是這麼一個感覺。

官方一點的話,就是可以提高效率呀。

廣泛的需求我並沒有去想,只是想解決一下自己的需求。

譬如,不想做家務,就弄個機器人給我做;不想做瑣事,就弄個智能助理給我做。

所以大家在開始入洞之前,也要先想幾分鐘這個問題:

eg:是想做數據科學還是人工智慧開發呢?

if Data Science:就多做 kaggle 上偏分析的項目

if AI:再想想是自然語言處理還是圖像識別呢?

我覺得 NLP 和 CV 是最基礎的技術,AI 主要還是看應用領域,現在比較火的:自動駕駛,聊天機器人,ARVR,智能家居,智能教育,等等,最基礎的就是看和理解么,當然對於每個具體的方向,肯定是涉及到更多技術和具體的細節知識需要去學的,不過入門的話,這倆是基礎。可以選其一,有興趣也可以選倆。AI 主要還是跟實際應用場景關聯起來意義才大,醫療,生物,氣象,教育,交通目前比較火,對某個領域感興趣可以專攻更深。

--2.機器學習,人工智慧,數據科學的關係?

為了確立明確的入口,最好是知道這三者的關係,方便大家做計劃時更專註一些

大家可以去多看幾篇這樣的文章,可以很快地了解一下大綱。

我比較喜歡下面這個圖,因為它還列出了其他幾個大的技能。

來自這篇文章:數據挖掘(data mining),機器學習(machine learning),和人工智慧(AI)的區別是什麼? 數據科學(data science)和商業分析(business analytics)之間有什麼關係?

從這個圖看,機器學習的基礎還是要看滴,雖然現在深度學習很流行,類似 Tensorflow 等平台也可以直接把數據仍進去,調用多種模型,變換網路的層次等參數,它就輸出結果,不過神經網路模型是只是機器學習的一種,不是全部。當然開始的話,完全可以跨過ML課程,去學用TF訓練一個聊天機器人,分析情緒,翻譯器等等。

--3.多長時間後想達到什麼樣的目標?

eg:1 年後找到 ML 工作

then:簡歷上需要相關項目 or 學歷背景

對於很多已經工作的夥伴,學歷如果不容易實現的話,可做好項目這一欄。

then:在拉勾網等招聘網站上面找到感興趣的工作,去看相關工作描述,提取出需求的技能,列入學習清單,學習時間緊時可以挑相關的先重點學。

[step 2: 路線-步驟]

第一步確立方向後,假設你想做人工智慧,並且是自然語言處理,以此為例:

入門路線的話,一點我只推薦一個吧,簡單不會被嚇到,也是我經驗覺得比較高效的:

--1.語言:

推薦 python

入門書:learn python the hard way

pkg 教程網站:python scikit-learn

當然還需要 numpy,matplotlib,pandas 等常用包,scikit 是介紹演算法多一些,可直接看

--2.課程:

Coursera 上吳恩達的是我覺得比較基礎且系統的,但它用matlab,大家可以直接換成 python 去敲代碼。Udacity 上的機器學習課程是用 Python 做的。

--3.書:

周志華的西瓜書《機器學習》

--4.自然語言處理基礎:

課程:cs224d

如果是圖像處理,課程:cs231n

--5.小項目:

數據科學:Kaggle 上很多好玩的比賽,開腦洞+實戰

人工智慧:建議找個感興趣的小方向,實際做出來一個,例如做一個自動會創作音樂的小程序

--6.螺旋式升級:

我覺得最有意思的就是在第5步,這期間就會發現還有好多關聯東西需要學,所以就邊學邊戰吧

[Tips]

2017 可以給自己定個小目標,一個月拿下一步,升一級,醬紫至多 5 個月後你就可以有自己的AI了。

上面幾步,大家完全可以根據自己的喜好,在搜索引擎提供的結果中,選擇適合自己的資源和節奏。

我覺得最有效的就是從實戰中學習,但是理論也是必不可少的。

每一步先只選一個,適合自己的資源,就開始好好學。

上面只是一小步,離精深還遠。

[關於阻礙]

大家擔心比較多的問題就是,數學不記得了還能學么?

我覺得,暫時不要緊,可以直接看 scikit,裡面有代碼的 demo,知道套路可以用,先用上就會很有成就感。

裡面文檔不懂得,例如哪些參數什麼意思呀,怎麼調呀,也可以找搜索引擎幫助。

不過面試的話,對模型的原理,推導,細節還是要把握好的。

大家都說成長最快的方式,就是找這個領域的牛人學習。對於這種學習,如果沒辦法做到直接的,在線的,看他的書呀,聽他的課呀,都算是學習。


推薦閱讀:

Deep Reinforcement Learning for Visual Object Tracking in Videos 論文解讀
機器學習與數據挖掘網上資源
機器學習總結-Logistic 回歸
如何測量這個世界的混亂-1-定義混亂
Fisher Linear Discriminant Analysis(Fisher線性判別分析)

TAG:機器學習 |