産品特色
編輯推薦
如今是人工智能高歌猛進的時代,機器學習的發展也如火如荼。然而,復雜的數學公式和難解的專業術語容易令剛接觸這一領域的學習者望而生畏。有沒有這樣一本機器學習的書,能摒棄復雜的公式推導,帶領讀者通過實踐來掌握機器學習的方法?
《機器學習與優化》正是這樣一本書!它的寫作脫胎於意大利特倫托大學機器學習與智能優化實驗室(LION lab)的研究項目,語言輕鬆幽默,內容圖文並茂,涵蓋瞭機器學習中可能遇到的各方麵知識。更重要的是,書中特彆介紹瞭兩個機器學習的應用,即信息檢索和協同推薦,讓讀者在瞭解信息結構的同時,還能利用信息來預測相關的推薦項。
本書作者以及讀者群發布的數據、指導說明和教學短片都可以在本書網站上找到。
本書內容要點:
● 監督學習——綫性模型、決策森林、神經網絡、深度和捲積網絡、支持嚮量機等
● 無監督模型和聚類——K均值、自底而上聚類、自組織映射、譜圖繪製、半監督學習等
● 優化是力量之源——自動改進的局部方法、局部搜索和反饋搜索優化、協作反饋搜索優化、多目標反饋搜索優化等
● 應用精選——文本和網頁挖掘,電影的協同推薦係統
內容簡介
本書是機器學習實戰領域的一本佳作,從機器學習的基本概念講起,旨在將初學者引入機器學習的大門,並走上實踐的道路。本書通過講解機器學習中的監督學習和無監督學習,並結閤特徵選擇和排序、聚類方法、文本和網頁挖掘等熱點問題,論證瞭“優化是力量之源”這一觀點,為機器學習在企業中的應用提供瞭切實可行的操作建議。
作者簡介
【作者簡介】
羅伯托·巴蒂蒂(Roberto Battiti)
人工智能領域先驅,IEEE會士。因在無功搜索優化(RSO)方嚮做齣瞭開創性的工作而名震學界。 目前為意大利特倫托大學教授,同時擔任特倫托大學機器學習與智能優化實驗室(LION lab)主任。
毛羅·布魯納托(Mauro Brunato)
意大利特倫托大學助理教授,LION研究團隊成員。
【譯者簡介】
王彧弋
博士,現於瑞士蘇黎世聯邦理工學院從事研究工作,主要研究方嚮為理論計算機科學與機器學習。
目錄
第 1章 引言 1
1.1 學習與智能優化:燎原之火 1
1.2 尋找黃金和尋找伴侶 3
1.3 需要的隻是數據 5
1.4 超越傳統的商業智能 5
1.5 LION方法的實施 6
1.6 “動手”的方法 6
第 2章 懶惰學習:最近鄰方法 9
第3章 學習需要方法 14
3.1 從已標記的案例中學習:最小化和泛化 16
3.2 學習、驗證、測試 18
3.3 不同類型的誤差 21
第 一部分 監督學習
第4章 綫性模型 26
4.1 綫性迴歸 27
4.2 處理非綫性函數關係的技巧 28
4.3 用於分類的綫性模型 29
4.4 大腦是如何工作的 30
4.5 綫性模型為何普遍,為何成功 31
4.6 最小化平方誤差和 32
4.7 數值不穩定性和嶺迴歸 34
第5章 廣義綫性最小二乘法 37
5.1 擬閤的優劣和卡方分布 38
5.2 最小二乘法與最大似然估計 42
5.2.1 假設檢驗 42
5.2.2 交叉驗證 44
5.3 置信度的自助法 44
第6章 規則、決策樹和森林 50
6.1 構造決策樹 52
6.2 民主與決策森林 56
第7章 特徵排序及選擇 59
7.1 特徵選擇:情境 60
7.2 相關係數 62
7.3 相關比 63
7.4 卡方檢驗拒絕統計獨立性 64
7.5 熵和互信息 64
第8章 特定非綫性模型 67
8.1 logistic 迴歸 67
8.2 局部加權迴歸 69
8.3 用LASSO來縮小係數和選擇輸入值 72
第9章 神經網絡:多層感知器 76
9.1 多層感知器 78
9.2 通過反嚮傳播法學習 80
9.2.1 批量和bold driver反嚮傳播法 81
9.2.2 在綫或隨機反嚮傳播 82
9.2.3 訓練多層感知器的高級優化 83
第 10章 深度和捲積網絡 84
10.1 深度神經網絡 85
10.1.1 自動編碼器 86
10.1.2 隨機噪聲、屏蔽和課程 88
10.2 局部感受野和捲積網絡 89
第 11章 統計學習理論和支持嚮量機 94
11.1 經驗風險最小化 96
11.1.1 綫性可分問題 98
11.1.2 不可分問題 100
11.1.3 非綫性假設 100
11.1.4 用於迴歸的支持嚮量 101
第 12章 最小二乘法和健壯內核機器 103
12.1 最小二乘支持嚮量機分類器 104
12.2 健壯加權最小二乘支持嚮量機 106
12.3 通過修剪恢復稀疏 107
12.4 算法改進:調諧QP、原始版本、無補償 108
第 13章 機器學習中的民主 110
13.1 堆疊和融閤 111
13.2 實例操作帶來的多樣性:裝袋法和提升法 113
13.3 特徵操作帶來的多樣性 114
13.4 輸齣值操作帶來的多樣性:糾錯碼 115
13.5 訓練階段隨機性帶來的多樣性 115
13.6 加性logistic迴歸 115
13.7 民主有助於準確率-拒絕的摺中 118
第 14章 遞歸神經網絡和儲備池計算 121
14.1 遞歸神經網絡 122
14.2 能量極小化霍普菲爾德網絡 124
14.3 遞歸神經網絡和時序反嚮傳播 126
14.4 遞歸神經網絡儲備池學習 127
14.5 超限學習機 128
第二部分 無監督學習和聚類
第 15章 自頂嚮下的聚類:K均值 132
15.1 無監督學習的方法 134
15.2 聚類:錶示與度量 135
15.3 硬聚類或軟聚類的K均值方法 137
第 16章 自底嚮上(凝聚)聚類 142
16.1 閤並標準以及樹狀圖 142
16.2 適應點的分布距離:馬氏距離 144
16.3 附錄:聚類的可視化 146
第 17章 自組織映射 149
17.1 將實體映射到原型的人工皮層 150
17.2 使用成熟的自組織映射進行分類 153
第 18章 通過綫性變換降維(投影) 155
18.1 綫性投影 156
18.2 主成分分析 158
18.3 加權主成分分析:結閤坐標和關係 160
18.4 通過比值優化進行綫性判彆 161
18.5 費希爾綫性判彆分析 163
第 19章 通過非綫性映射可視化圖與網絡 165
19.1 最小應力可視化 166
19.2 一維情況:譜圖繪製 168
19.3 復雜圖形分布標準 170
第 20章 半監督學習 174
20.1 用部分無監督數據進行學習 175
20.1.1 低密度區域中的分離 177
20.1.2 基於圖的算法 177
20.1.3 學習度量 179
20.1.4 集成約束和度量學習 179
第三部分 優化:力量之源
第 21章 自動改進的局部方法 184
21.1 優化和學習 185
21.2 基於導數技術的一維情況 186
21.2.1 導數可以由割綫近似 190
21.2.2 一維最小化 191
21.3 求解高維模型(二次正定型) 191
21.3.1 梯度與最速下降法 194
21.3.2 共軛梯度法 196
21.4 高維中的非綫性優化 196
21.4.1 通過綫性查找的全局收斂 197
21.4.2 解決不定黑塞矩陣 198
21.4.3 與模型信賴域方法的關係 199
21.4.4 割綫法 200
21.4.5 縮小差距:二階方法與綫性復雜度 201
21.5 不涉及導數的技術:反饋仿射振蕩器 202
21.5.1 RAS:抽樣區域的適應性 203
21.5.2 為健壯性和多樣化所做的重復 205
第 22章 局部搜索和反饋搜索優化 211
22.1 基於擾動的局部搜索 212
22.2 反饋搜索優化:搜索時學習 215
22.3 基於禁忌的反饋搜索優化 217
第 23章 閤作反饋搜索優化 222
23.1 局部搜索過程的智能協作 223
23.2 CoRSO:一個政治上的類比 224
23.3 CoRSO的例子:RSO與RAS閤作 226
第 24章 多目標反饋搜索優化 232
24.1 多目標優化和帕纍托最優 233
24.2 腦-計算機優化:循環中的用戶 235
第四部分 應用精選
第 25章 文本和網頁挖掘 240
25.1 網頁信息檢索與組織 241
25.1.1 爬蟲 241
25.1.2 索引 242
25.2 信息檢索與排名 244
25.2.1 從文檔到嚮量:嚮量-空間模型 245
25.2.2 相關反饋 247
25.2.3 更復雜的相似性度量 248
25.3 使用超鏈接來進行網頁排名 250
25.4 確定中心和權威:HITS 254
25.5 聚類 256
第 26章 協同過濾和推薦 257
26.1 通過相似用戶結閤評分 258
26.2 基於矩陣分解的模型 260
參考文獻 263
索引 269
《算法的煉金術:從零構建你的智能係統》 導語: 在這個數據洪流奔湧、智能需求日益迫切的時代,我們常常驚嘆於那些能夠學習、預測、決策的“聰明”係統。它們有的能夠精準識彆圖像中的貓狗,有的能根據你的喜好推薦電影,有的甚至能駕駛汽車穿越復雜的城市道路。然而,這些神奇的能力並非憑空而來,它們的背後是一係列精妙的算法,是無數次迭代與優化的結晶。本書並非直接教授你某個領域的具體應用,而是將目光投嚮算法的根基,帶你深入探究那些構建智能係統的“魔法石”。我們將一同解鎖算法的底層邏輯,理解它們如何從原始數據中提煉智慧,如何通過不斷的試錯與調整變得更加高效和精準。無論你是渴望理解人工智能背後原理的初學者,還是希望夯實理論基礎、拓展技術邊界的從業者,本書都將為你開啓一扇通往算法世界的全新大門。 第一章:算法的基石——數據與結構 在構建任何智能係統之前,我們必須首先理解它的原材料——數據。數據是智能的土壤,而數據的組織方式則決定瞭土壤的肥沃程度。本章將帶領讀者從最基礎的角度審視數據,探討不同類型數據的本質及其在算法處理中的意義。 數據的分類與理解:我們將從數據的量級(小數據、大數據)、維度(低維、高維)、類型(結構化、非結構化、半結構化)等多個維度深入剖析數據。理解數據的特性至關重要,因為它直接影響著後續算法的選擇和設計。例如,文本數據和圖像數據在存儲和處理上就存在顯著差異。我們將通過實際案例,展示如何從海量數據中識彆齣對特定任務有價值的信息。 數據結構的重要性:算法的效率往往與數據結構的組織方式息息相關。我們會迴顧並深入探討幾種經典的數據結構,如數組、鏈錶、棧、隊列、樹、圖、哈希錶等。理解它們的優缺點,以及在不同場景下適用的數據結構,能夠極大地優化算法的執行速度和內存占用。例如,在需要頻繁查找的場景,哈希錶能提供近乎常量的查找時間;而在需要高效插入和刪除的場景,鏈錶則可能更為閤適。 數據預處理的藝術:原始數據往往充滿瞭噪聲、缺失值和不一緻性,直接將其用於算法訓練可能會導緻模型性能下降甚至失效。本章將詳細講解數據預處理的關鍵步驟,包括數據清洗(處理缺失值、異常值)、數據轉換(歸一化、標準化、編碼)、特徵工程(特徵選擇、特徵提取、特徵構造)等。我們會強調,數據預處理並非機械的操作,而是一個需要深入理解數據特性、並結閤具體問題進行巧妙設計的藝術過程。例如,如何將類彆型特徵轉化為數值型特徵,以便算法能夠理解;如何處理數據中的時間序列信息,使其更易於模型學習。 第二章:算法的思維——邏輯與流程 算法的本質是解決問題的步驟和邏輯。本章將聚焦於算法的思維方式,帶領讀者理解如何將一個實際問題轉化為一係列可執行的指令,並探討不同算法設計範式的核心思想。 問題的形式化與建模:如何將現實世界模糊的問題,轉化為計算機能夠理解的、清晰的數學模型和邏輯結構,是算法設計的起點。我們將學習如何定義輸入、輸齣,如何設定約束條件,如何選擇閤適的評價指標來衡量問題解決的“好壞”。例如,一個“預測房價”的問題,可以被形式化為一個輸入“房屋特徵”(麵積、地理位置、房間數等)輸齣“預測價格”的模型。 基本算法設計範式:本章將介紹幾種最基本的算法設計範式,例如: 分治法:將復雜問題分解為更小的、獨立的子問題,分彆解決,然後將子問題的解閤並起來。我們將以經典的“歸並排序”和“快速排序”為例,深入理解分治法的思想和實現。 動態規劃:通過將大問題分解為相互重疊的子問題,並記錄子問題的解,避免重復計算,從而高效地解決問題。經典的“背包問題”、“最長公共子序列”等問題將作為實例,揭示動態規劃的魅力。 貪心算法:在每一步選擇局部最優解,期望最終得到全局最優解。我們將通過“活動選擇問題”、“霍夫曼編碼”等案例,探討貪心算法的適用條件和潛在陷阱。 迴溯法與分支限界法:用於搜索解空間的算法,尤其適用於組閤優化問題。我們將通過“八皇後問題”、“旅行商問題”等,理解如何係統地搜索所有可能的解決方案,並進行剪枝以提高效率。 復雜度分析的藝術:理解算法的效率至關重要。我們將深入學習如何使用大O符號(Big O notation)來分析算法的時間復雜度和空間復雜度。這不僅僅是理論上的學術探討,更是評估算法可行性、選擇最優算法的關鍵依據。我們會通過實例,計算並比較不同算法的復雜度,理解“O(n)”、“O(n log n)”、“O(n^2)”等不同增長趨勢的意義。 第三章:算法的進化——學習與調整 如果說前兩章聚焦於靜態的算法邏輯,那麼本章將把目光轉嚮算法的“生命力”——學習與自我調整的能力。我們將探討算法如何從經驗中汲取養分,如何通過不斷地迭代優化來提升性能。 監督學習的探索:在本章中,我們將深入理解監督學習的核心概念。它就像一位勤奮的學生,在老師(標簽數據)的指導下學習。我們會詳細介紹幾種基礎的監督學習算法,如: 綫性迴歸與邏輯迴歸:理解模型如何通過擬閤數據來建立輸入與輸齣之間的映射關係。我們會探討它們的數學原理、參數更新過程,以及如何評估模型的性能(如MSE、準確率)。 決策樹:學習如何構建一個樹狀結構,通過一係列判斷來做齣預測。我們將探討信息增益、基尼係數等用於節點劃分的指標,以及過擬閤的風險和剪枝策略。 支持嚮量機(SVM):理解如何找到最優的超平麵來分隔不同類彆的數據,以及核技巧在處理非綫性可分問題中的作用。 無監督學習的發現:與監督學習不同,無監督學習就像一位自主探索的科學傢,在沒有明確指導的情況下尋找數據中的模式和結構。我們將介紹: 聚類算法:如K-Means算法,學習如何將相似的數據點分組,發現隱藏的數據簇。我們會探討距離度量、簇的質心更新等過程。 降維技術:如主成分分析(PCA),學習如何在高維數據中提取最重要的信息,將其壓縮到低維空間,同時保留盡可能多的方差。 模型評估與調優的循環:構建一個算法模型並非終點,如何評估它的錶現並進行持續的優化纔是關鍵。本章將重點講解模型評估的常用方法,如交叉驗證、混淆矩陣、ROC麯綫等,以及如何通過調整模型參數(超參數調優)、特徵工程等手段來提升模型的泛化能力和魯棒性。我們將強調,這是一個反復迭代、不斷逼近最優解的過程。 第四章:算法的實踐——工具與應用 理論的基石一旦穩固,便需要付諸實踐。本章將帶領讀者將所學的算法知識轉化為實際的應用,瞭解常用的算法開發工具和平颱,並初步觸及一些算法在各領域的應用場景。 編程語言與庫的生態:我們將簡要介紹當前主流的算法開發編程語言,如Python,並著重介紹與其配套的強大算法開發庫,如NumPy(數值計算)、SciPy(科學計算)、Pandas(數據處理)、Scikit-learn(機器學習)等。理解這些工具的作用和基本用法,能夠極大地提高開發效率。 算法實現的最佳實踐:在實際編碼中,遵循一些最佳實踐能夠確保代碼的可讀性、可維護性和效率。我們將討論代碼風格、模塊化設計、注釋的重要性,以及如何編寫高效的算法代碼。 算法在各領域的“投影”:雖然本書不側重於某個具體應用領域,但為瞭讓讀者更好地理解算法的價值,我們將在本章簡要介紹算法在不同領域的“投影”。例如: 計算機視覺:圖像識彆、目標檢測背後的算法邏輯。 自然語言處理:文本分類、機器翻譯、情感分析等任務中算法的扮演的角色。 推薦係統:個性化推薦背後隱藏的算法模型。 金融風控:欺詐檢測、信用評分等場景的算法應用。 科學計算與模擬:在物理、化學、生物等領域,算法如何加速研究進程。 我們將強調,理解算法的通用性,是觸類旁通、適應不同領域挑戰的關鍵。 結語: 算法的世界博大精深,它既是嚴謹的科學,也是充滿創造力的藝術。本書旨在為您提供一個堅實的起點,讓您能夠理解算法的“前世今生”,掌握算法的“思維方式”,並具備初步的“實踐能力”。在數據的海洋中,算法是您最可靠的導航儀,它能幫助您發現規律,預測未來,並最終構建齣屬於您自己的智能係統。願您在算法的探索之路上,不斷發現新的可能,煉就屬於您的“智能之石”。