官术网_书友最值得收藏!

前言
PREFACE

在大量數據背后很可能隱藏了某些有用的信息或知識,而數據挖掘就是通過一定方法探尋這些信息或知識的過程。此外,數據挖掘同時受到很多學科和領域的影響,大體上看,數據挖掘可以被視為數據庫、機器學習和統計學三者的交叉。簡單來說,對數據挖掘而言,數據庫提供了數據管理技術,而機器學習和統計學則提供了數據分析技術。

從名字中就不難看出,機器學習最初的研究動機是為了讓計算機具有人類一樣的學習能力以便實現人工智能。顯然,沒有學習能力的系統很難被認為是智能的。而這個所謂的學習,就是指基于一定的“經驗”而構筑起屬于自己的“知識”過程。

小蝌蚪找媽媽的故事很好地說明了這一過程。小蝌蚪沒有見過自己的媽媽,它們向鴨子請教。鴨子告訴它們:“你們的媽媽有兩只大眼睛?!笨吹浇痿~有兩只大眼睛,它們便把金魚誤認為是自己的媽媽。于是金魚告訴它們:“你們媽媽的肚皮是白色的?!毙◎蝌娇匆婓π肥前锥瞧?,又把螃蟹誤認為是媽媽。螃蟹便告訴它們:“你們的媽媽有四條腿?!毙◎蝌娇匆娨恢粸觚敂[動著四條腿在水里游,就把烏龜誤認為是自己的媽媽。于是烏龜又說:“你們的媽媽披著綠衣裳,走起路來一蹦一跳。”在這個學習過程中,小蝌蚪的“經驗”包括鴨子、金魚、螃蟹和烏龜的話,以及“長得像上述四種動物的都不是媽媽”這樣一條隱含的結論。最終,它們學到的“知識”就是“兩只大眼睛、白肚皮、綠衣裳、四條腿,一蹦一跳的就是媽媽”。當然,故事的結局,小蝌蚪們就是靠著學到的這些知識成功地找到了媽媽。

反觀機器學習,由于“經驗”在計算機中主要是以“數據”的形式存在的,所以機器學習需要設法對數據進行分析,然后以此為基礎構建一個“模型”,這個模型就是機器最終學到的“知識”??梢姡◎蝌綄W習的過程是從“經驗”學到“知識”的過程。相應地,機器學習的過程則是從“數據”學到“模型”的過程。正是因為機器學習能夠從數據中學到“模型”,而數據挖掘的目的恰恰是找出數據背后的“信息或知識”,兩者不謀而合,所以機器學習才逐漸成為數據挖掘最為重要的智能技術供應者而備受重視。

正如前面所說的,機器學習和統計學為數據挖掘提供了數據分析技術。而另一方面,統計學也是機器學習得以建立的一個重要基礎。換句話說,統計學本身就是一種數據分析技術的同時,它也為以機器學習為主要手段的智能數據分析提供了理論基礎??梢?,統計學、機器學習和數據挖掘之間是緊密聯系的。

統計學大師喬治·博克斯有一句廣為人們提及的名言:“所有的模型都是錯的,但其中一些是有用的?!睙o論是基于統計的方法,還是基于機器學習的方法,最終的模型都是對現實世界的抽象,而非毫無偏差的精準描述。相關理論只有與具體分析實例相結合才有意義。而在這個所謂的結合過程中,你既不能期待一種模型(或者算法)能夠解決所有的(盡管是相同類型的)問題,也不能面對一組數據時,就能(非常準確地)預先知道哪種模型(或者算法)才是最適用的。或許你該記住另外一句話:“No clear reason to prefer one over another. Choice is task dependent(沒有明確的原因表明一種方法勝于另外一種方法,選擇通常是依賴于具體任務的)”。這也就突出了數據挖掘領域中實踐的重要性,或者說由實踐而來的經驗的重要性。

以上所描述的觀點正是激發本書寫作初衷的核心理念。鑒于此,本書從統計學觀點入手,并以統計分析理論為基礎,進而對現代機器學習方法進行系統性的介紹。循序漸進,又兼收并蓄地將機器學習與統計分析中較為核心的理論與方法呈現給各位讀者朋友。具體來說,本書主要涉及(但不限于)的內容有:

  • 概率與數理統計基礎,其中統計分析方法涉及參數估計、假設檢驗、極大似然法、非參數檢驗(含列聯分析、符號檢驗、符號秩檢驗、秩和檢驗等)、方差分析方法等。
  • 回歸方法,包括線性回歸、多元回歸、多項式回歸、非線性回歸(含倒數模型、對數模型等)、嶺回歸,以及LASSO等。
  • 監督學習與分類方法,包括感知機、邏輯回歸(含最大熵模型)、樸素貝葉斯、決策樹(含ID3、C4.5、CART)、支持向量機、人工神經網絡等。
  • 無監督學習與聚類方法,包括K均值算法、EM算法(含高斯混合模型)、密度聚類中的DBSCAN算法等。
  • 蒙特卡洛采樣方法,包括逆采樣、拒絕采樣、自適應拒絕采樣、重要性采樣、吉布斯采樣和馬爾科夫鏈蒙特卡洛等。
  • 概率圖模型基礎,主要以貝葉斯網絡為例進行介紹。
  • 降維與流形學習,包括奇異值分解、主成分分析和多維標度法等。
  • 附錄部分還簡述了機器學習中所必備的其他數學基礎,包括拉格朗日乘數法、詹森不等式與凸優化、多元函數最優化、泛函空間理論(在解釋核方法時會用到)等內容。

在敘述方式上,本書也注意從具體問題或實例入手,力求闡明問題提出的原委,從而由淺入深地闡明思路,并給出詳細的數學推導過程,讓讀者知其然,更知其所以然。

此外,鑒于本書是以統計方法為切入點講解機器學習理論的,在涉及數值計算、算法演示和數據分析應用時,我們特別選用R作為描述語言。R是當前在統計學領域占據統治地位的一種解釋型語言。它語法簡潔、容易上手,即使非專業人士也能輕松掌握。事實上,R語言在世界范圍內的眾多使用者絕大多數都來自于數學、統計學、應用經濟學,以及生物信息學等其他非計算機領域。此外,R還是一種免費的、開源的數據分析集成環境。它擁有豐富而完善的軟件包資源,甚至很多最新的算法都可以在R中找到對應的實現。更重要的是,由于R對很多算法提供了非常完善的封裝,再加之其簡單易用的特點,本書并不要求讀者已經具備R編程方面的背景。即使從未使用過R語言的人依然可以閱讀本書。

讀者亦可以訪問筆者在CSDN上的技術博客(白馬負金羈),本博客主要關注機器學習、數據挖掘、深度學習及數據科學等話題,其中提供的很多技術文章可以作為本書的補充材料,供廣大讀者在自學時參考。讀者在閱讀本書時遇到的問題以及對本書的意見或建議,可以在本博客上通過留言的方式同筆者進行交流。

自知論道須思量,幾度無眠一文章。由于時間和能力有限,書中紕漏在所難免,真誠地希望各位讀者和專家不吝批評、斧正。

左 飛

2020年4月

主站蜘蛛池模板: 丹凤县| 惠水县| 宾川县| 凤台县| 伊宁县| 苏州市| 瑞丽市| 武强县| 新安县| 昭觉县| 宁晋县| 肇源县| 新密市| 小金县| 工布江达县| 缙云县| 鄢陵县| 都安| 颍上县| 铜川市| 沂南县| 沙雅县| 清远市| 海南省| 吉首市| 阳谷县| 深州市| 乌海市| 昭通市| 龙海市| 乌兰县| 壤塘县| 昭平县| 青冈县| 墨脱县| 庄河市| 阆中市| 长宁区| 四会市| 新绛县| 政和县|