1. 程式人生 > >簡單粗暴地入門機器學習

簡單粗暴地入門機器學習

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

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

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

[step 1: 方向]

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

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

我的話,很實在地說,就是不想被淘汰呀!最開始就是這麼一個感覺。
官方一點的話,就是可以提高效率呀。
廣泛的需求我並沒有去想,只是想解決一下自己的需求。
譬如,不想做家務,就弄個機器人給我做;不想做瑣事,就弄個智慧助理給我做。

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

eg:是想做資料科學還是人工智慧開發呢?
if Data Science:就多做 kaggle 上偏分析的專案
if AI:再想想是自然語言處理還是影象識別呢?

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

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

為了確立明確的入口,最好是知道這三者的關係,方便大家做計劃時更專注一些
大家可以去多看幾篇這樣的文章,可以很快地瞭解一下大綱。

從這個圖看,機器學習的基礎還是要看滴,雖然現在深度學習很流行,類似 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,知道套路可以用,先用上就會很有成就感。
裡面文件不懂得,例如哪些引數什麼意思呀,怎麼調呀,也可以找搜尋引擎幫助。
不過面試的話,對模型的原理,推導,細節還是要把握好的。

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