●目錄 部分基本概念與數學知識 章機器學習簡介3 1.1機器學習是什麼3 1.1.1一個簡單的例子3 1.1.2為什麼需要機器學習5 1.2典型應用7 1.2.1語音識別7 1.2.2人臉檢測8 1.2.3人機對弈9 1.2.4機器翻譯10 1.2.5自動駕駛11 1.3發展歷程11 1.3.1歷史成就11 1.3.2當前進展12 1.4關於本書13 參考文獻13 第2章數學知識15 2.1微積分和線性代數15 2.1.1導數15 2.1.2向量與矩陣17 2.1.3偏導數與梯度19 2.1.4雅可比矩陣20 2.1.5Hessian矩陣21 2.1.6泰勒展開22 2.1.7行列式22 2.1.8特征值與特征向量23 2.1.9奇異值分解24 2.1.10二次型24 2.1.11向量與矩陣求導24 2.2最優化方法25〖1〗〖2〗機器學習——原理、算法與應用〖1〗目錄2.2.1梯度下降法25 2.2.2牛頓法26 2.2.3坐標下降法27 2.2.4拉格朗日乘數法28 2.2.5凸優化28 2.2.6拉格朗日對偶32 2.2.7KKT條件34 2.2.8擬牛頓法35 2.2.9面臨的問題36 2.3概率論37 2.3.1隨機事件與概率37 2.3.2條件概率37 2.3.3隨機變量38 2.3.4數學期望與方差39 2.3.5隨機向量39 2.3.6優選似然估計40 參考文獻41 第3章基本概念42 3.1算法分類42 3.1.1監督信號42 3.1.2分類問題與回歸問題43 3.1.3判別模型與生成模型45 3.1.4強化學習45 3.2模型評價指標46 3.2.1精度與召回率46 3.2.2ROC曲線46 3.2.3混淆矩陣48 3.2.4交叉驗證48 3.3模型選擇48 3.3.1過擬合與欠擬合48 3.3.2偏差與方差分解49 3.3.3正則化50 參考文獻52 第二部分主要的機器學習算法與理論 第4章貝葉斯分類器55 4.1貝葉斯決策55 4.2樸素貝葉斯分類器56 4.2.1離散型特征56 4.2.2連續型特征57 4.3正態貝葉斯分類器57 4.3.1訓練算法57 4.3.2預測算法58 4.4實驗程序59 4.5應用61 參考文獻61 第5章決策樹62 5.1樹形決策過程62 5.2分類與回歸樹63 5.3訓練算法64 5.3.1遞歸分裂過程64 5.3.2尋找最佳分裂64 5.3.3葉子節點值的設定67 5.3.4屬性缺失問題67 5.3.5剪枝算法68 5.3.6訓練算法的流程69 5.3.7計算變量的重要性70 5.4實驗程序70 5.5應用71 參考文獻71 第6章k近鄰算法72 6.1基本概念72 6.2預測算法72 6.3距離定義73 6.3.1常用距離定義74 6.3.2距離度量學習74 6.4實驗程序75 6.5應用76 參考文獻76 第7章數據降維78 7.1主成分分析78 7.1.1數據降維問題78 7.1.2計算投影矩陣78 7.1.3向量降維81 7.1.4向量重構81 7.2流形學習81 7.2.1局部線性嵌入82 7.2.2拉普拉斯特征映射83 7.2.3局部保持投影86 7.2.4等距映射87 7.2.5隨機近鄰嵌入88 7.2.6t分布隨機近鄰嵌入89 7.3實驗程序90 7.4應用91 參考文獻91 第8章線性判別分析92 8.1用投影進行分類92 8.2投影矩陣92 8.2.1一維的情況92 8.2.2推廣到高維94 8.3實驗程序96 8.4應用96 參考文獻97 第9章人工神經網絡98 9.1多層前饋型神經網絡98 9.1.98 9.1.2網絡結構99 9.1.3正向傳播算法100 9.2反向傳播算法101 9.2.1一個簡單的例子101 9.2.2完整的算法105 9.3實驗程序109 9.4理論解釋110 9.4.1數學性質110 9.4.2與神經繫統的關繫111 9.5面臨的問題111 9.5.1梯度消失111 9.5.2退化111 9.5.3局部極小值111 9.5.4鞍點111 9.6實現細節問題112 9.6.1輸入值與輸出值112 9.6.2網絡規模112 9.6.3激活函數112 9.6.4損失函數113 9.6.5權重初始化113 9.6.6正則化113 9.6.7學習率的設定114 9.6.8動量項114 9.7應用114 參考文獻115 0章支持向量機118 10.1線性分類器118 10.1.1線性分類器概述118 10.1.2分類間隔118 10.2線性可分的問題119 10.2.1原問題119 10.2.2對偶問題120 10.3線性不可分的問題123 10.3.1原問題123 10.3.2對偶問題123 10.4核映射與核函數126 10.5SMO算法129 10.5.1求解子問題129 10.5.2優化變量的選擇132 10.6多分類問題133 10.7實驗程序134 10.8libsvm簡介136 10.8.1求解算法137 10.8.2庫的使用140 10.9應用142 參考文獻143 1章線性模型145 11.1logistic回歸145 11.1.1種表述145 11.1.2第二種表述147 11.1.3L2正則化原問題148 11.1.4L2正則化對偶問題151 11.1.5L1正則化原問題152 11.1.6實驗程序154 11.2線性支持向量機156 11.2.1L2正則化L1loss SVC原問題156 11.2.2L2正則化L2loss SVC原問題156 11.2.3L2正則化SVC對偶問題157 11.2.4L1正則化L2loss SVC原問題158 11.2.5多類線性支持向量機158 11.2.6實驗程序160 11.3liblinear簡介160 11.3.1求解的問題161 11.3.2庫的使用161 11.4softmax回歸162 11.5應用164 參考文獻165 2章隨機森林166 12.1集成學習166 12.1.1隨機抽樣166 12.1.2Bagging算法167 12.2隨機森林概述167 12.3訓練算法167 12.4變量的重要性168 12.5實驗程序169 12.6應用169 參考文獻169 3章Boosting算法171 13.1AdaBoost算法171 13.1.1強分類器與弱分類器171 13.1.2訓練算法172 13.1.3訓練誤差分析174 13.2廣義加法模型176 13.3各種AdaBoost算法177 13.3.1離散型AdaBoost177 13.3.2實數型AdaBoost179 13.3.3LogitBoost180 13.3.4Gentle型AdaBoost181 13.4實現細節問題182 13.4.1弱分類器182 13.4.2弱分類器的數量182 13.4.3樣本權重削減183 13.5實驗程序183 13.6梯度提升算法183 13.6.1梯度提升框架184 13.6.2回歸問題185 13.6.3分類問題185 13.6.4XGBoost187 13.7應用——目標檢測189 13.7.1VJ框架的原理190 13.7.2模型訓練192 參考文獻193 4章深度學習概論195 14.1機器學習面臨的挑戰195 14.1.1人工特征196 14.1.2機器學習算法197 14.2深度學習技術197 14.3進展與典型應用199 14.3.1計算機視覺200 14.3.2語音識別202 14.3.3自然語言處理202 14.3.4計算機圖形學203 14.3.5推薦繫統203 14.3.6深度強化學習204 14.4自動編碼器204 14.4.1自動編碼器簡介204 14.4.2去噪自動編碼器205 14.4.3稀疏自動編碼器205 14.4.4收縮自動編碼器206 14.4.5多層編碼器206 14.5受限玻爾茲曼機206 14.5.1玻爾茲曼分布206 14.5.2受限玻爾茲曼機結構207 14.5.3訓練算法209 14.5.4深度玻爾茲曼機210 14.5.5深度置信網210 參考文獻210 5章卷積神經網絡218 15.1網絡結構218 15.1.1卷積層219 15.1.2池化層222 15.1.3全連接層222 15.2訓練算法223 15.2.1卷積層223 15.2.2池化層226 15.2.3隨機梯度下降法227 15.2.4遷移學習228 15.3典型網絡228 15.3.1LeNet5網絡228 15.3.2AlexNet網絡229 15.3.3VGG網絡230 15.3.4GoogLeNet網絡231 15.4理論分析232 15.4.1反卷積運算232 15.4.2卷積層可視化233 15.4.3理論解釋235 15.5挑戰與改進措施236 15.5.1卷積層236 15.5.2池化層236 15.5.3激活函數237 15.5.4損失函數237 15.5.5網絡結構237 15.5.6批量歸一化241 15.6實現細節242 15.6.1卷積層242 15.6.2激活函數244 15.6.3內積層244 15.6.4損失層245 15.6.5求解器248 15.7應用——計算機視覺251 15.7.1人臉檢測251 15.7.2通用目標檢測254 15.7.3人臉關鍵點定位262 15.7.4人臉識別263 15.7.5圖像分割265 參考文獻266 6章循環神經網絡270 16.1網絡結構270 16.1.1循環層270 16.1.2輸出層271 16.1.3一個簡單的例子272 16.1.4深層網絡272 16.2網絡的訓練273 16.2.1一個簡單的例子273 16.2.2完整的算法275 16.3挑戰與改進措施277 16.3.1梯度消失277 16.3.2長短期記憶模型278 16.3.3門控279 16.3.4雙向網絡279 16.4序列預測問題280 16.4.1序列標注問題280 16.4.2連接主義時序分類281 16.4.3序列到序列學習285 16.5應用——語音識別287 16.5.1語音識別問題287 16.5.2GMMHMM框架288 16.5.3深度模型288 16.6應用——自然語言處理291 16.6.1中文分詞292 16.6.2詞性標注293 16.6.3命名實體識別293 16.6.4文本分類294 16.6.5自動摘要296 16.6.6機器翻譯296 參考文獻298 7章生成對抗網絡302 17.1隨機數據生成302 17.2生成對抗網絡結構303 17.2.1生成模型303 17.2.2判別模型304 17.3模型的訓練304 17.3.1目標函數304 17.3.2訓練算法305 17.3.3理論分析306 17.4應用與改進307 17.4.1改進方案308 17.4.2典型應用311 參考文獻313 8章聚類算法314 18.1問題定義314 18.2層次聚類315 18.3基於質心的算法315 18.4基於概率分布的算法316 18.4.1高斯混合模型316 18.4.2EM算法317 18.5基於密度的算法322 18.5.1DBSCAN算法322 18.5.2OPTICS算法324 18.5.3Mean Shift算法326 18.6基於圖的算法328 18.7算法評價指標331 18.7.1內部指標331 18.7.2外部指標331 18.8實驗程序332 18.9應用332 參考文獻332 9章半監督學習334 19.1問題假設334 19.1.1連續性假設334 19.1.2聚類假設334 19.1.3流形假設334 19.1.4低密度分割假設334 19.2啟發式算法335 19.2.1自訓練335 19.2.2協同訓練335 19.3生成模型335 19.4低密度分割336 19.5基於圖的算法336 19.6半監督深度學習337 參考文獻338 第20章隱馬爾可夫模型340 20.1馬爾可夫模型340 20.2隱馬爾可夫模型簡介343 20.2.1模型結構343 20.2.2中文分詞345 20.3估值問題345 20.4解碼問題347 20.5訓練算法349 20.6應用352 參考文獻352 第21章條件隨機場353 21.1馬爾可夫隨機場353 21.1.1概率圖模型353 21.1.2馬爾可夫隨機場354 21.2條件隨機場概述355 21.2.1條件隨機場簡介355 21.2.2線性鏈條件隨機場355 21.3推斷算法357 21.4訓練算法359 21.5應用360 參考文獻360 第22章強化學習361 22.1強化學習簡介361 22.1.1問題定義361 22.1.2馬爾可夫決策過程362 22.2基於動態規劃的算法366 22.2.1策略迭代算法366 22.2.2價值迭代算法368 22.3蒙特卡洛算法369 22.3.1算法簡介369 22.3.2狀態價值函數估計370 22.3.3動作價值函數估計371 22.3.4蒙特卡洛控制371 22.4時序差分學習372 22.4.1Sarsa算法372 22.4.2Q學習373 22.5深度強化學習374 22.5.1深度Q網絡375 22.5.2策略梯度算法378 22.6應用381 參考文獻381 第三部分工程實踐問題 第23章工程實踐問題概述385 23.1實現細節問題385 23.1.1訓練樣本385 23.1.2特征預處理386 23.1.3模型選擇386 23.1.4過擬合問題386 23.2安全性問題387 23.2.1對抗樣本387 23.2.2形成原因分析389 23.3實現成本問題390 23.3.1訓練樣本量390 23.3.2計算與存儲成本390 23.4深度模型優化391 23.4.1剪枝與編碼391 23.4.2二值化網絡392 23.4.3卷積核分離396 參考文獻397
內容簡介
機器學習是當前解決很多人工智能問題的核心技術,自2012年以來,深度學習的出現帶來了人工智能復興。本書是機器學習和深度學習領域的入門與提高教材,緊密結合工程實踐與應用,繫統、深入地講述機器學習與深度學習的主流方法與理論。全書由23章組成,共分為三大部分。~3章為部分,介紹機器學習的基本原理、所需的數學知識(包括微積分、線性代數、很優化方法和概率論),以及機器學習中的核心概念。第4~22章為第二部分,是本書的主體,介紹各種常用的有監督學習算法、無監督學習算法、半監督學習算法和強化學習算法。對於每種算法,從原理與推導、工程實現和應用3個方面進行介紹,對於大多數算法,都配有實驗程序。第23章為第三部分,介紹機器學習和深度學習算法實際應用時面臨的問題,並給出典型的解決方案。 本書理論推導與證明詳細、深入,結構清晰,詳細地講述主要算法的原理與細節,讓讀者不僅知其然,還知其所以然,真正理解算法、......
第3章
基 本 概 念本章介紹機器學習中的常用概念,包括算法的分類、算法的評價指標,以及模型選擇問題。按照樣本數據是否帶有標簽值,可以將機器學習算法分為有監督學習與無監督學習。按照標簽值的類型,可以將有監督學習算法進一步細分為分類問題與回歸問題。按照求解的方法,可以將有監督學習算法分為生成模型與判別模型。
比較算法的優劣需要使用算法的評價指標。對於分類問題,常用的評價指標是準確率;對於回歸問題,是回歸誤差。二分類問題由於其特殊性,我們為它定義了精度與召回率指標,以及真陽率和假陽率,在此基礎上可以得到ROC曲線。對於多分類問題,常用的評價指標是混淆矩陣。
......
序 近年來,隨著IBM沃森、谷歌DeepMind AlphaGo等新型人機繫統的橫空出世,人工智能日益受到全社會的關注,媒體報道熱度空前。事實上,伴隨大數據、深度學習、智能芯片等技術的成熟、政府的扶持以及資本的持續投入,一方面在前端催生了刷臉支付、智能音箱、以圖搜圖、智能翻譯等新的商業場景和產品;另一方面,人工智能在後端也正深刻地改變著既有的技術模式和流程。例如,在端對端的深度神經網絡中,一些傳統的特征工程模塊被弱化乃至取代;原本基於單步預測的個性化推薦引擎被強化學習技術改造。 放眼世界,人工智能正成為國際競爭的新焦點。英國、美國、新加坡等國家也各自提出了推動人工智能相關技術與產業發展的綱要與規劃。美國國防部不錯研究計劃局則於2018年9月宣布將投入2開展一項名為 AI Next 的計劃,其旨在加速人工智能研究。MIT則計劃斥資1,建設新的計算機學院,致力於將人工智......
"