如何踏上人工智能之路(機器學(xué)習(xí)篇)
如何打開機器學(xué)習(xí)的大門
AI這個詞相信大家都非常熟悉了,在幾年人公智能圈子格外熱鬧,先是阿法狗帶了個好頭,讓大家重新對人工智能刮目相看。能取得今天這樣的成績絕非瞬間的爆發(fā)而是多少年日益的積累。今天咱們就來嘮一嘮如何進軍人工智能的***步-機器學(xué)習(xí)。
我選Python玩AI:
Python語言已經(jīng)非常火爆了,有句古話說得好,人生苦短,我用Python。在機器學(xué)習(xí)這個領(lǐng)域Python已經(jīng)成為了主流,一方面因為這門語言簡直太簡單了,就我個人而言我搞過C++也玩過Java但是學(xué)起來用起來相對來說都比較難(說白了。。。就是我比較懶),但是python用起來簡直不要太輕松,這也是推薦新手選擇python的原因,非常容易上手,決沒有惡心到家的指針。另一方面現(xiàn)在無論是做項目還是搞研究都非常追求效率,絕大多數(shù)情況下,很多代碼都不需要自己從頭到尾實現(xiàn),而是調(diào)用已經(jīng)非常完善的庫了,這也是我覺得python***大的地方,可以很輕松的安裝好一個想用的庫,用這些庫幫助我們解決問題。
對于剛?cè)腴T的同學(xué)來說,肯定不會自己動手一步一步的去實現(xiàn)所有需要的技術(shù)代碼,一個最直接的學(xué)習(xí)方法就是結(jié)合開源的框架,那么可以說機器學(xué)習(xí)和深度學(xué)習(xí)的開源框架基本都是python接口的,能用這些開源框架是我們學(xué)習(xí)的一個最基本的手段啦,所以重要的事情說三遍,python!python!python!
Python科學(xué)計算庫-Numpy
說到機器學(xué)習(xí),簡單來說就是,數(shù)據(jù)輸入進來,然后得出一個想要的結(jié)果。那么在中間我們計算的是什么呢,為了計算的高效和方便,通常都是將數(shù)據(jù)轉(zhuǎn)換成矩陣的形式,也就是行作為樣本,列作為特征。那么這些復(fù)雜的矩陣計算我們該怎么樣完成呢?這里我們就需要Numpy了,它可以幫助我們很輕松的完成一系列的計算。如果你要跟數(shù)據(jù)打交道,那么Nmupy你肯定離不開了。
Python數(shù)據(jù)分析處理庫-Pandas
在做任何一個機器學(xué)習(xí)算法之前都需要對數(shù)據(jù)進行預(yù)處理,也就是說數(shù)據(jù)是不純凈的,首先我們需要提取特征,再去除一些錯誤的有問題的樣本,那么這些該快速完成呢,如果你喜歡偷懶要快速做完這些苦活,那么Pandas將會是一個非常不錯的選擇,在這里,你只需要簡單的幾行代碼就可以對數(shù)據(jù)做好預(yù)處理的操作。
Python數(shù)據(jù)分析處理庫-Matplotlib
數(shù)據(jù)分析和機器學(xué)習(xí)都離不開可視化展示,因為無論是做項目交付還是搞算法研究,都需要對自己的成果心里有個數(shù)吧,那么在這里我們就可以用Matplotlib來完成這個事,還是簡單的幾行代碼,就能把結(jié)果輕松展示出來。
Python機器學(xué)習(xí)庫-Scikit-Learn
這個武器十分有殺傷力,它就是我們機器學(xué)習(xí)必備的家伙,在這里我們可以選擇任何你喜歡的機器學(xué)習(xí)算法,然后把數(shù)據(jù)輸入進來,直接RUN就可以迭代計算了,簡單太自動了,這個庫十分強大,封裝了大量機器學(xué)習(xí)算法以及評估和預(yù)處理等操作。輕輕松松幾行,一個復(fù)雜的機器學(xué)習(xí)算法已經(jīng)在跑了。
數(shù)據(jù)與實戰(zhàn)
在機器學(xué)習(xí)這條路上,我們一定會跟數(shù)據(jù)打交道,這里十分推薦大家找一些真是的案例數(shù)據(jù),用這些python庫來實際的玩一玩。因為這些庫都是開源的,咱們也可以自己打一些斷點,從流程上一步一步走完整個機器學(xué)習(xí)的算法。
有很多同學(xué)都問過我,基礎(chǔ)很一般能入門機器學(xué)習(xí)嗎,聽說機器學(xué)習(xí)對數(shù)學(xué)的要求很高,這該怎么辦呀?說實話機器學(xué)習(xí)就是數(shù)學(xué)公式組成的,但是如果不搞科研的話我覺得能把流程和應(yīng)用搞懂已經(jīng)足夠用了,并不推薦新手直接從數(shù)學(xué)開始進軍,因為我覺得這個活太枯燥了,不見得大家都能有這種持之以恒的毅力堅持住。我覺得可以從案例和應(yīng)用下手,先了解算法從頭到尾做了一件什么事以及能用在什么地方,再回過頭來去搞算法的推導(dǎo)效果應(yīng)該會更好的、
學(xué)習(xí)路線圖
這個路線圖是針對咱們要入門的同學(xué)制定的,已然成神的同學(xué)們可不使用哦。
(一)搞定Python:
千萬別花個把個月轉(zhuǎn)攻這個,因為語言只是一個工具,我們完全可以邊用邊學(xué),建議快速掌握基本語法,邊練邊學(xué)。
(二)機器學(xué)習(xí)算法:
機器學(xué)習(xí)有很多經(jīng)典的算法,咱們不妨從最簡單的K近鄰開始,用python實現(xiàn)出這些經(jīng)典的機器學(xué)習(xí)算法從流程的角度熟悉這些算法的原理。
(三)熟悉這些庫:
如果大家想精通這些庫,我覺得難度還是蠻大的,不妨先熟悉這些庫能做什么,等咱們實際用的時候再去查語言就完全來得及。因為我用了這么久大部分函數(shù)還得每次用的時候現(xiàn)查,即便我知道該這么用還是會不放心查一查。
(四)案例與實戰(zhàn):
用真實數(shù)據(jù)來玩算法是學(xué)習(xí)的***方式。咱們可以找一些真實的數(shù)據(jù)來練練這些機器學(xué)習(xí)算法,先搞定算法的原理,再把數(shù)據(jù)應(yīng)用進去,然后就是一步一步debug完成整個項目。
【本文是51CTO專欄作者唐宇迪的原創(chuàng)稿件,轉(zhuǎn)載請注明出處】