通俗易懂的機器學(xué)習(xí)入門指導(dǎo)


機器學(xué)習(xí),也叫數(shù)據(jù)挖掘、模式識別;其定義很多。但大白話的說,機器學(xué)習(xí)要做的就是,現(xiàn)在有一些數(shù)據(jù)(比如你人人網(wǎng)好友和他們的發(fā)言),我們要對數(shù)據(jù)進行處理,希望從數(shù)據(jù)中得到我們想要的信息(比如這些好友哪些和你投緣)。從上面的例子,我們可以看出機器學(xué)習(xí)其實是對人類智能的模仿,也是實現(xiàn)人類和更高智能的必經(jīng)之路。

那他他大體上有哪些內(nèi)容呢?

第一部分,機器學(xué)習(xí)的底層理論

機器學(xué)習(xí)的底層理論有一些,比如推理與規(guī)劃、近似可計算理論、正則化、提升理論、核方法、當(dāng)然還有大名鼎鼎的統(tǒng)計機器學(xué)習(xí)理論等等。這部分內(nèi)容不是初學(xué)者學(xué)的。
是這些理論其實是在實踐中總結(jié)的,沒有基礎(chǔ)的機器學(xué)習(xí)方法是不能明白理論的;
是這些理論需要的數(shù)學(xué)很高,您那高等數(shù)學(xué)啥的就別提了,這些理論至少也得有泛函分析的一般知識、優(yōu)化理論的一般知識、矩陣理論的一般知識、高等概率論、隨機分析等等的數(shù)學(xué)基礎(chǔ)。
是這些理論對于大部分只是想用一下機器學(xué)習(xí)方法的人,我覺得毫無意義;您要只是想用一下機器學(xué)習(xí),這些理論對您估計看過全當(dāng)娛樂。

第二部分,機器學(xué)習(xí)方法

這部分才是初學(xué)者應(yīng)該學(xué)的,也是必須學(xué)的。(按照數(shù)據(jù)形式,給了大體情況)他按照對數(shù)據(jù)處理可以分成如下幾個部分:

  1. 監(jiān)督學(xué)習(xí):也就是你的數(shù)據(jù)都已經(jīng)處理的很好了,哪些數(shù)據(jù)是哪種情況都分清楚了。
  2. 非監(jiān)督學(xué)習(xí):你的數(shù)據(jù)太原始了,全是一堆數(shù),都不知道哪個是哪個情況。
  3. 半監(jiān)督學(xué)習(xí):因為監(jiān)督學(xué)習(xí)效果好,但是數(shù)據(jù)要求太高;非監(jiān)督學(xué)習(xí)效果不咋地呀,但對數(shù)據(jù)要求低;那么我們折中一下,先標注一部分數(shù)據(jù),然后用監(jiān)督學(xué)習(xí)對其他未標注數(shù)據(jù)進行標注,如果算法產(chǎn)生的準確率在某個參數(shù)以下,則將這個數(shù)據(jù)給人來標準。
  4. 遷移學(xué)習(xí):比如我們現(xiàn)在有種方法,用在了圖書之間的相似分析上,那么這個方法可不可以用在人人網(wǎng)上用戶的相關(guān)分析上呢?這就是遷移學(xué)習(xí)。
  5. 強化學(xué)習(xí):根據(jù)環(huán)境反饋進行學(xué)習(xí)。
  6. “各種亂入學(xué)習(xí)”:其實,還有很多奇葩的學(xué)習(xí)方法不是以上五種比較常見的學(xué)習(xí)方法,他們大體上都是各種奇葩的想法,加上各種有愛的數(shù)學(xué)理論推導(dǎo)而成。因為還不是十分的成熟,所以初學(xué)者也不必太糾結(jié)這部分。

我們一般處理的數(shù)據(jù),都是啥樣的呢?

我們處理的數(shù)據(jù),一般來說是表狀的,說白了,就是——每一條數(shù)據(jù)就是一個向量(前幾天看到有個孩子說向量是有方向的,我覺得特?zé)o語,= =!,現(xiàn)在就連物理學(xué)里面的向量你都想象不出他的方向了,雖然向量可以想象成幾何形體,這是分析的基礎(chǔ),但是不要拘泥于幾何) 。既然每一條數(shù)據(jù)是一個向量,那么很顯然所有數(shù)據(jù)構(gòu)成了一個向量空間。這個向量空間一定要有一定的抽象想象能力,不光是歐式空間,還可能是拓撲空間。。。馬上你就會知道為啥了。

那知道了如上內(nèi)容。我們看看機器學(xué)習(xí)最基礎(chǔ)最核心的有哪些方法,當(dāng)然如果你看的書里面超出這個,請不要驚訝,我只是列舉了非常非常常用而常見的方法。

最常見的機器學(xué)習(xí)方法 = 基礎(chǔ)方法 * 拓展方法 * 應(yīng)用領(lǐng)域

基礎(chǔ)方法

  • 關(guān)聯(lián)分析:現(xiàn)在數(shù)據(jù)是一條條的銷售記錄,我們要找出其中哪些商品經(jīng)常被一起買,這個到時候會有兩個主要方法:Apriori方法,主要就是剪枝,和他相識的有AIS和STEM,其中STEM是針對SQL語言使用的關(guān)聯(lián)分析算法;FP-growth,主要是建立一個樹,通過這個結(jié)構(gòu)加速算法;還有垂直關(guān)聯(lián)挖掘、數(shù)組方法。
  • 決策樹:有一個叫讀心術(shù)的應(yīng)用,他不斷讓你提供你心中所想的人的信息,進行不斷的推演最終找到你所想的人。這個應(yīng)用看似神奇,其實說白了用決策樹就可以大概做一個。決策樹就是一顆樹,樹的每個邊上都有條件,根節(jié)點是起始節(jié)點,葉節(jié)點是結(jié)果節(jié)點;從根節(jié)點,不斷的依據(jù)邊上的信息移動到相應(yīng)的樹節(jié)點上,直到葉節(jié)點,給出結(jié)果。這就是決策樹。決策樹是一大類算法,主要有ID3、C4.5等等。
  • 感知器:還記得我剛才說的向量空間么?每一個向量都可以表示為空間中的一個點,那如果我們可以找到一條直線把所有點分為兩部分,一部分都是A類,另一部分都是B類。那么我們以后還有一個點,我們只要看他在直線的哪邊就可以直接判定他的類別。感知器是一大類算法,算法太多了,不一一枚舉。
  • 支持向量機:感知器的升級版。如果學(xué)過泛函的同學(xué),都知道完備的內(nèi)積空間就是Hilbert空間,核方法可以在Hilbert空間上進行。支持向量機就是使用了間隔最大原則和核方法來對感知器進行改進,從而得到相對好的效果。支持向量機,是一大類算法。
  • 反饋神經(jīng)網(wǎng)絡(luò):感知器的升級版。感知器是一個線性函數(shù),如果多個線性函數(shù)互相嵌套,而且使用非線性動力提供復(fù)雜的向量空間曲面描述,我們會得到比感知器更好的效果。= =!提問支持向量機和反饋神經(jīng)網(wǎng)絡(luò)雜合是啥?
  • 神經(jīng)網(wǎng)絡(luò):其實神經(jīng)網(wǎng)絡(luò)包括反饋神經(jīng)網(wǎng)絡(luò)。之所以把反饋神經(jīng)網(wǎng)絡(luò)單獨提出來,是因為用的太多,而且他是繼承感知器的。但是神經(jīng)網(wǎng)絡(luò)本身可是一個非常非常非常非常豐富的一大大大類算法,而且錯綜復(fù)雜。我嘗試分個類吧,主要有層次網(wǎng)絡(luò)時延神經(jīng)網(wǎng)絡(luò)、耦合神經(jīng)網(wǎng)絡(luò)自組織神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)(和時延神經(jīng)網(wǎng)絡(luò)有點像,但是在連續(xù)和離散量上有些許的不同,連續(xù)可用模擬電路實現(xiàn))、徑向基函數(shù)網(wǎng)絡(luò)(這個其實是正則化的網(wǎng)絡(luò),一般用的RBF網(wǎng)絡(luò)就是反饋神經(jīng)網(wǎng)絡(luò)T-正則化)、集成神經(jīng)網(wǎng)絡(luò)、模糊神經(jīng)網(wǎng)絡(luò)、玻爾茲曼機(使用退火算法的一種網(wǎng)絡(luò))、概率神經(jīng)網(wǎng)絡(luò)等等等等等等。當(dāng)然還有神經(jīng)場理論,需要微分幾何的知識,屬于機器學(xué)習(xí)的基礎(chǔ)理論,初學(xué)者可以無視。當(dāng)然還有人試圖設(shè)計神經(jīng)網(wǎng)絡(luò)計算機,初學(xué)者也可以無視。當(dāng)然神經(jīng)網(wǎng)絡(luò)可是很神奇的,他連PCA、ICA、LDA(線性判別分析)、LDA(隱藏地理特來分布)啥的都可以用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)。
  • 統(tǒng)計判決方法:是依據(jù)統(tǒng)計理論設(shè)計的統(tǒng)計判決理論。其實,統(tǒng)計判決是很實用的理論,而且其中包含的很多方法都在各個機器學(xué)習(xí)領(lǐng)域應(yīng)用,比如最小化最大損失、貫序判決、參數(shù)估計等等。樸素貝葉斯就是其中的一個。這也是一大類算法。
  • 貝葉斯網(wǎng)絡(luò):推理和規(guī)劃理論支持的一個理論。
  • 序列分析方法:就是分析一個序列的學(xué)習(xí)。語言就是一個文字的序列,所以諸如隱馬爾科夫方法啥的。
  • 邏輯回歸:如果你學(xué)習(xí)過生態(tài)學(xué),你對邏輯方程和邏輯回歸就毫不陌生,其實這個和感知器是一個尿性的東西。他和隱馬爾科夫模型的學(xué)習(xí)可以用到一個叫最大熵原則。其實最大熵原則是可以在信息論下被用變分法中的柯西-拉格朗日方程推出來的,這也是Duda的《模式分類》后的一道習(xí)題。
  • 聚類方法:我們有一堆數(shù)據(jù),我們想知道他們自己之間的哪些是一類。也是一大類方法,常用的有:k-均值、層次聚類、密度分布聚類、模型聚類、圖聚類算法(包括蟻群聚類)。
  • 數(shù)據(jù)處理方法:比如主成分分析(PCA)、線性判決LDA、獨立分析ICA等等。
  • 其他:抱歉,我雖然寫了一些,但覺得基礎(chǔ)中的基礎(chǔ),貌似好像還不止這些,歸納起來貌似有些困難。不過其實主要的應(yīng)該就是如上了吧。歡迎補充。

拓展方法

  • 在線化:因為我們知道,現(xiàn)在的數(shù)據(jù)都是不斷的來,不斷的更新。但由于數(shù)據(jù)巨大,我們不能每更新一次,我們就重新計算一次,所以讓算法對增量有辦法的方法叫在線化?;A(chǔ)方法都可以查到他們的在線化方法。
  • 分布式和并行化:這個還是針對大數(shù)據(jù),提供以上所有基礎(chǔ)方法的分布式和并行化方法。
  • 修正過擬合方法:由于以上基礎(chǔ)方法中大部分都存在過擬合問題,說白了就是對數(shù)據(jù)中的噪聲進行了擬合,使得學(xué)習(xí)效果變差,本來應(yīng)該得到的信息是y=x+1 , 而現(xiàn)在得到的信息是y=(x100+1)/(x99+1)+1。。顯然后一種得到的太過于精密,反而效果不好了。以上大部分基礎(chǔ)方法都可以用修正過擬合的方法來修正。其中正則化就是一個比較好的方法。
  • 各種數(shù)學(xué)亂入的方法:沒錯,你沒看錯,各種數(shù)學(xué)亂入呀。比如模糊數(shù)學(xué)亂入,產(chǎn)生一堆新方法:模糊SVM、模糊神經(jīng)網(wǎng)絡(luò)啥的。再比如比較綜合的數(shù)學(xué)亂入,商空間和粒運算啥的。再比如李群:李群機器學(xué)習(xí)。再比如微分幾何亂入,有什么流形學(xué)習(xí)。這些我覺得,看過全當(dāng)娛樂吧。

應(yīng)用領(lǐng)域

  • 應(yīng)用到圖,搖身一變?yōu)?strong>圖挖掘。
  • 應(yīng)用到數(shù)據(jù)庫和數(shù)據(jù)倉庫中,搖身一變?yōu)?strong>數(shù)據(jù)挖掘。
  • 應(yīng)用到社交網(wǎng)絡(luò)中,搖身一變?yōu)?strong>網(wǎng)絡(luò)科學(xué)。
  • 應(yīng)用到自然語言處理中,搖身一變?yōu)?strong>統(tǒng)計自然語言處理(多有錯誤,全當(dāng)娛樂)。
  • 應(yīng)該到你的領(lǐng)域。。。。搖身一變。。。。 。。 其實,我覺得,你要是真的能對機器學(xué)習(xí)有個大體脈絡(luò)的了解,書單也無所謂。你照著上面的東西,百度出一些博客看看,可能更適合你?;蛘吣闳フ乙恍┱撐?,也行。 其實,我覺得,你在亞馬遜檢索機器學(xué)習(xí),第一頁的書我應(yīng)該是全看了,第二頁的書大部分都看了,第三頁亦然。。。。。你也可以這么做。。。

如果你非要推薦的話:

  1. Duda的《模式分類》。其實我個人更喜歡《現(xiàn)代模式識別》這本書,但是由于國人的崇洋媚外情緒實在太嚴重,確實國內(nèi)很多書抄襲現(xiàn)象嚴重、基本上出書目的就是為了出書,根本不是給人看到。但也不能否認國內(nèi)也很多好書!
  2. 《現(xiàn)代模式識別》(第二版),真心是好書,在我個人看法,完勝Duda那本無疑。
  3. Mitchell的《機器學(xué)習(xí)》。
  4. 第一本和第二本,數(shù)學(xué)都需要很多,買書或者借書,請務(wù)必看清前面序言中的關(guān)于數(shù)學(xué)知識部分的說明,否則您就只有一個勁的補數(shù)學(xué)了。第三本其實數(shù)學(xué)需要的不多,但內(nèi)容太少,而且涉及一些淺顯的機器學(xué)習(xí)理論,也比較麻煩。這倒不如《機器學(xué)習(xí)引論》(An Introduce To Machine Learning),這本可以說用了最少的數(shù)學(xué)知識,講了一些內(nèi)容,也很薄,很好看。 其實,夠了。為啥呢?因為問我看哪方面書的人挺多的(因為我覺得我成天就看書、看論文啥的)。 但他們反復(fù)的問,貌似你推薦他們幾本,他們看了看或者沒看,就又要你推薦。。。

說句心里話,學(xué)習(xí)哪一門新科目,都不是一帆風(fēng)順的。你覺得你之前完全沒有基礎(chǔ),200多頁的機器學(xué)習(xí)書,你可以用一個下午秒殺,那我覺得你。。。太有愛了。

所以說白了,書不是重要的,重要的是你的決心,你到底要不要學(xué)這門學(xué)科!你要是抱著半吊子的心態(tài),那果斷你可以不用看了,因為半吊子的決心是不會學(xué)明白任何一門學(xué)科!你要是想學(xué),就咬緊牙,堅持看,反復(fù)看,反復(fù)查。


轉(zhuǎn)自:http://blog.163.com/zhoulili1987619@126/blog/static/353082012015613104243192/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容