機器學(xué)習(xí)從抬腳到趴倒在門檻
好像一下子,進入了AI時代,后臺的很多小伙伴其實都很迷茫,自己現(xiàn)在該如何去做好準(zhǔn)備,去迎接即將到來的All in AI。
所以就有了今天這篇文章啦。今天呢,跟大家分享分享目前機器學(xué)習(xí)的歷程吧,我到現(xiàn)在都沒覺得我入門了機器學(xué)習(xí),所以也沒有什么所謂的經(jīng)驗啊,成功實踐啊,沒有。
首先甩三句始終相信的話。
- 不要為了機器學(xué)習(xí)而機器學(xué)習(xí)。
- 機器學(xué)習(xí)只有洞悉來自業(yè)務(wù)的需要,配合業(yè)務(wù)發(fā)展,才能發(fā)揮作用,單純的機器學(xué)習(xí)沒什么用。
- python大法好,用2.7。
業(yè)界的前沿機器學(xué)習(xí)基本都是只支持python和C++,行業(yè)標(biāo)準(zhǔn),就用python。
大數(shù)據(jù)下還是Spark更實用。
在大數(shù)據(jù)的環(huán)境下,其實落地最實用,場景最多的,還是Spark。
該怎么去下手?
腳抬起了3cm。目標(biāo):開眼界。
首先從比較宏觀的角度,全面了解機器學(xué)習(xí)的全貌。看看機器學(xué)習(xí)能做些什么,能解決什么問題,是什么樣的套路。
機器學(xué)習(xí)就是根據(jù)已有特征,訓(xùn)練模型,然后根據(jù)模型來預(yù)測未知的數(shù)據(jù)。
很多小伙伴一開始就會扎進去什么支持向量機、Logistic回歸、LASSO啊、決策樹啊這類算法里面,一下去就去非常深入去理解他們的原理,個人認為這種切入方式是有一點問題的,如果僅僅是為了學(xué)習(xí)一下這些算法,那還行。長遠來說,還是要現(xiàn)有大局觀。
- 《圖解機器學(xué)習(xí)》
- 《集體智慧編程》
- 《機器學(xué)習(xí)》周志華
這三本書我都買了,循序漸進,***本是通俗易懂的機器學(xué)習(xí)算法圖解,作為趣味性入門來說非常好。
第二本是當(dāng)前機器學(xué)習(xí)能做些什么事情,以及python怎么實現(xiàn)這些機器學(xué)習(xí)算法,代碼狂人可以在這里面找到一些成就感,推薦先快速翻一遍,再回頭,重新一章一章看,一行代碼一行代碼打,有時候不知道它啥意思也不要緊,打出來跑跑看。
第三本是比較系統(tǒng)地說機器學(xué)習(xí)的過程,以及每個算法比較嚴(yán)格的數(shù)學(xué)推導(dǎo)過程,非常嚴(yán)謹(jǐn),數(shù)學(xué)要求較高,數(shù)學(xué)不太好的可以暫時不買,買了也看不懂。
嘛,也不用三本都買,看不完。小伙伴要是急呢,其實把***本看了也就行了,眼界也算是開了,只是手頭一點米可以下鍋都沒有而已····
腳抬了5cm了。目標(biāo):了解算法。
這個階段,可以把所有的算法原理都開始看了,主要的書是上面的《機器學(xué)習(xí)》。如果英語夠好的話呢,在coursera上學(xué)學(xué)Andrew NG的機器學(xué)習(xí)公開課。如果英語不好的話呢,可以試試鄒博老師的《機器學(xué)習(xí)實戰(zhàn)》,中文解釋來說還是非常不錯的入門教程。
當(dāng)然,師傅領(lǐng)進門,修行在個人。
教程和書再好都沒有用,還是需要你花時間,慢慢慢慢地,去一點點理解透每個算法背后的原理,以及各種各樣的優(yōu)化方法是怎么發(fā)生的。
舉例線性回歸可以這樣進階地去學(xué)習(xí):
純線性回歸。什么是最小二乘法,損失函數(shù)怎么求。
核函數(shù)。什么叫多項線性回歸,什么叫高斯核線性回歸。
正則化。什么叫正則化,正則化的目的是什么?LASSO,嶺回歸,ElasticNet都是什么。L0、L1、L2正則各代表什么東西。
廣義線性模型。廣義線性模型把什么東西涵蓋起來了,是怎么抽象怎么推導(dǎo)的?
大概就這樣,一點一點去深入,不用一次性把所有的模型都學(xué)完。但是個人建議,線性回歸,Logistic回歸,決策樹這三個必須必須完完整整先看完。畢竟很好理解又很好用,太難的臣妾真的做不到啊!!!逃避可恥但有用吖。
腳抬了6cm了。目標(biāo):利用成熟框架。
這個階段呢,就沒什么好的書介紹了,使用scikit-learn去解決前面解決過的問題吧~會發(fā)現(xiàn)超級簡單,還特么比自己實現(xiàn)的快很多勒。
腳抬了6.5cm了。目標(biāo):開始接觸神經(jīng)網(wǎng)絡(luò)。
把Tenfowflow官網(wǎng)的demo看懂,打一遍。一層一層撥開,看看RNN,CNN,GAN這些現(xiàn)在非常流行的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的原理是怎么樣的,深度學(xué)習(xí)目前來說離不開這三兄弟。如果還是看不懂呢,可以搜索一下莫凡Tenfowflow,蠻入門的,但也僅僅是入門而已。大概了解了解也可以了
如果你已經(jīng)完成了上面的步驟,你已經(jīng)可以跟我一樣出來吹牛逼了,但是其實并沒有什么卵用。
腳抬了7cm了。目標(biāo):開始實操。
進入Kangle,注冊賬號,開始泰坦尼克號吧。
腳抬了7.5cm了。目標(biāo):開始關(guān)注落地的事情。
上面說了那么多其實都沒開始任何落地的東西,你的模型要怎么訓(xùn)練,怎么開始結(jié)合業(yè)務(wù)來實際應(yīng)用起來,你對力量還是一無所知。后臺回復(fù)"MVP",先行看看吧,大概就那么幾種方式模型訓(xùn)練提供服務(wù)的,展開來講文章會太長,會被打pp的。
腳抬了10cm了。目標(biāo):開始發(fā)現(xiàn)自己數(shù)學(xué)不夠用了。
- 《概率論與數(shù)理統(tǒng)計》陳希孺
- 《線性代數(shù)應(yīng)該這樣學(xué)》
這個嘛,慢慢補吧,一時半會補不上來的T_T。
腳抬了11cm了。目標(biāo):關(guān)于特征工程。
好的特征是成功的一半。業(yè)界有這么一句半玩笑但是有點道理的話。特征選擇和特征清洗,決定了你模型的上限,你的算法和優(yōu)化只是不斷逼近這個上線而已。
該系統(tǒng)學(xué)學(xué)特征工程的東西了,直接度娘特征選擇會有一大堆的資料,我這里就不提供了,我寫得也沒人家寫得好。
特!征!工!程!非!常!重!要!
趴倒在門檻上。目標(biāo):深入理解前沿的底層原理。
跟進一些過去的優(yōu)秀論文,比如MapReduce原理的,比如李沫的Parameter原理的,比如GAN原理的,比如LPA原理的。非常非常多的論文,邊實踐邊看唄,我也沒看多少所以也沒法分享啥。
所以我就趴倒在門檻上,依然還沒入門,還在上面某些階段努力ing。
當(dāng)然需要去看得遠遠也不止上面這些書,也遠遠不止這些論文,希望早日把它們吸收了吧。生活又不止機器學(xué)習(xí)。生活確實不止遠方和詩,悲催的是到了遠方,卻發(fā)現(xiàn)讀不懂遠方的詩。
- 《女士品茶》
- 《華杉講透孫子兵法》
- 《論語(白話全譯)》
- 《深入淺出統(tǒng)計學(xué)》
- 《深入淺出數(shù)據(jù)分析》
- 《大數(shù)據(jù)智能》
- 《深度學(xué)習(xí)》
- 《優(yōu)雅的理性》
- :heavy_check_mark:《創(chuàng)新著的窘境》
- :heavy_check_mark:《數(shù)學(xué)之美》
誒,書單越來越長了,慢慢來慢慢來。好啦,分享就差不多到這里,不黑不吹,上面這些過程至少至少需要你業(yè)余時間沒日沒夜搞個半年,大家做好身體鍛煉,一起玩命學(xué)唄。