本書從機器學習的基本原理開始講解,然后是神經(jīng)網(wǎng)絡、深度學習,最后講解卷積神經(jīng)網(wǎng)絡。本書在講解原理的基礎上,以MATLAB為開發(fā)工具和編程語言,將深度學習所涉及的原理均用MATLAB進行仿真實踐,并將書中所有的實例以MATLAB為底層編程語言進行編程和講解。
通過本書的閱讀,讀者可以學會神經(jīng)網(wǎng)絡和多層神經(jīng)網(wǎng)絡的原理,卷積和池化的含義,并可利用MATLAB進行深度學習的研究和開發(fā)。
本書可用作高等院校人工智能課程或工程師培訓的教材,也可供從事人工智能等領域研究和應用的開發(fā)人員使用。
3.作者簡介
Serge Kruk博士,奧克蘭大學數(shù)學與統(tǒng)計系教授,曾是貝爾實驗室資深研究員。具有多年的研究和工作經(jīng)驗,目前主要的研究方向為:algorithms for semidefinite optimization, scheduling, feasibility, and the related numerical linear algebra and analysis等
鄒偉 博士,?桶顒(chuàng)始人,研究方向為機器學習、數(shù)據(jù)挖掘、計算幾何,致力于機器學習和深度學習在實際中的應用;主持研發(fā)50多個人工智能領域工業(yè)級項目,并受邀在中國移動、花旗銀行、中信集團、中航信、烽火科技、京東方、完美世界等公司進行了上百場講座和內(nèi)部培訓。創(chuàng)立的?桶钆c國內(nèi)十多所高校建立了AI聯(lián)合實驗室或實訓基地;兼任天津大學創(chuàng)業(yè)導師、山東交通學院客座教授等。曾在多個在線平臺講授“機器學習”“深度學習”等課程,廣受網(wǎng)友好評,累計學習人數(shù)超過百萬。
Serge Kruk博士將其幾十年來從事工業(yè)教學和咨詢的成果編寫成此書,本書通過使用Python編程優(yōu)化建模解決人工智能問題。這本書涵蓋了實際應用中進行創(chuàng)建和分析數(shù)學模型,如線性連續(xù)模型,非線性連續(xù)模型,純線性整數(shù)模型。本書重點在于 Python人工智能項目的模型創(chuàng)建和分析方面,而不是專注于理論;書中的每一個模型都被詳細地解釋和使用Python進行編程編,使讀者可以更好的理解本書的內(nèi)容。
書中所有示例都是Python基于Google OR-Tools進行編程,并提供所有示例的源代碼。
通過閱讀本書,你將學到:
構建基本的基于Python的人工智能(AI)應用程序
使用數(shù)學優(yōu)化方法和Google OR-Tools(優(yōu)化工具)套件
使用Python和Google OR-Tools創(chuàng)建多種類型的項目
譯者序
我們有幸見證了世界向信息化社會的轉變過程,我們從小就生活在這種變革中。個人計算機的發(fā)明打開了人類通向信息世界的大門,接著就是互聯(lián)網(wǎng)將計算機連接了起來,智能手機將人與人聯(lián)系了起來,F(xiàn)在,每個人都意識到人工智能的浪潮已經(jīng)到來。越來越多的智能服務將被發(fā)明出來,同時這也將把我們帶入一個新的時代。人工智能是引領這股智能浪潮的前沿技術。雖然它最終可能將其“寶座”移交給其他新技術,但是目前它仍是各種人工智能新技術的重要基石。
人工智能現(xiàn)在如此流行,以至于關于它的資料隨處可見。然而適用于我們的資料并不多見,而這本書正是大家所需求的。這本書的目的是希望幫助大家在學習這個新知識的過程中不那么痛苦,同時,本書中具體的開發(fā)實例講解,能夠幫助開發(fā)者避免走一些彎路。
本書介紹了關于實現(xiàn)數(shù)學模型優(yōu)化問題的技術和科學。關于優(yōu)化,它可以是任何的問題,但又可以歸結為一個問題,那就是:什么是最好的?例如:
從家到公司的最佳路線是什么?
什么是最優(yōu)的汽車生產(chǎn)方式,能夠使得利益最大化?
用什么方式將雜貨帶回家最好:紙袋還是塑料袋?
為我的孩子選擇哪個學校最好?
哪種燃料用于火箭的助推器最好?
芯片上晶體管的最佳位置在哪里?
NBA最優(yōu)的賽程如何安排?
這些問題相當模糊,但可以通過多種方式進行解釋。首先可以考慮一下:“最好的”對于我們而言,是意味著最快、最短、最愉快的騎行,最不崎嶇,還是最低的油耗?此外,這個問題還不夠完整,我們是步行,還是騎馬、開車或是滑雪?我們是獨自一人前往,還是伴隨著哭鬧的嬰兒?
為了幫助我們制定優(yōu)化問題的解決方案,數(shù)學家、理論家和實踐者根據(jù)我們構建的問題建立起了一個框架,我們稱之為模型。模型的關鍵點在于它的目標和它的約束條件。簡單地說,目標是我們想要達到的,而約束是我們采用的方法中的阻力。如果我們重新構建問題,用以更加明確地分析目標和約束,我們便可以更加接近真實的模型。
這本書綜合了十年間的討論,以及在奧克蘭大學的建模入門課程(MOR242IntrotoOperationResearchModels)和研究生課程(APM568MathematicalModelinginIndustry)的成果。書中的每個模型都使用GoogleORTools在Python中演示,讀者可以按照書中的講解和代碼重新操作執(zhí)行。實際上,本書中提供的代碼是自動提取、執(zhí)行的,輸出可以無需手動干預地插入到文本,甚至圖表也是自動生成的。
本書的目的是幫助讀者成為一名熟練的建模者。大家可以訪問網(wǎng)址https://github.com/sgkruk/ApressAI。這個網(wǎng)址提供了書中展示的所有代碼以及應用于許多問題和變化的隨機生成器。各位可以將其用作個性化的作業(yè)生成器,它也可以被用作自學工具。
本書適合各類軟硬件工程師、測試人員閱讀,也適合用于人工智能培訓、大學生創(chuàng)新創(chuàng)業(yè)實戰(zhàn)訓練,以及程序員實力提升。
本書的出版得益于北京航空航天大學出版社的推薦以及相關專家學者的辛勤付出,在此一并表示感謝。
衷心祝愿您能擁抱人工智能時代,具備人工智能場景思維,進而更好地服務他人,為社會創(chuàng)造更多的財富。
譯者
2021年3月
第1章概述/1
1.1本書面向哪些問題/3
1.2本書的特點/4
1.2.1運行模型/5
1.2.2關于符號的解釋/6
1.3實踐中去學習:兩棲動物共存/7
第2章線性連續(xù)模型/17
2.1摻雜(Mixing)/20
2.1.1構建模型/21
2.1.2變化量/24
2.1.3組合問題/26
2.2混合(Blending)/27
2.2.1構建模型/29
2.2.2變化量/32
2.3項目管理/34
2.3.1構建模型/35
2.3.2變化量/37
2.4多級模型/39
2.4.1問題實例/39
2.4.2構建模型/42
2.4.3變化量/46
2.5模式分類/48
2.5.1構建模型/50
2.5.2可執(zhí)行模型/51
第3章隱線性連續(xù)模型/53
3.1分段線性/56
3.1.1構建模型/57
3.1.2變化量/61
3.2曲線擬合/65
3.2.1構建模型/67
3.2.2變化量/71
3.3重新審視模式分類/72
3.3.1可執(zhí)行模型/73
第4章線性網(wǎng)絡模型/75
4.1最大流量/78
4.1.1構建模型/78
4.1.2決策變量/79
4.1.3變化量/84
4.2最小成本流/85
4.2.1構建模型/86
4.2.2變化量/89
4.3轉運/90
4.3.1構建模型/92
4.3.2變化量/94
4.4最快捷徑/95
4.4.1構建模型/96
4.4.2選擇算法/99
4.4.3變化量/99
第5章經(jīng)典離散模型/105
5.1最小的集合數(shù)量/108
5.1.1構建模型/109
5.1.2變化量/113
5.2集合填充/114
5.2.1構建模型/115
5.2.2變化量/116
5.3裝箱/117
5.3.1構建模型/118
5.4旅行推銷員/127
5.4.1構建模型/128
5.4.2變化量/133
第6章經(jīng)典混合模型/137
6.1設施選址/139
6.1.1構建模型/140
6.1.2變化量/144
6.2多商品流/144
6.2.1構建模型/146
6.2.2變化量/148
6.2.3實例/150
6.3人員編制/151
6.3.1構建模型/153
6.3.2變化量/156
6.4作業(yè)車間調(diào)度/157
6.4.1構建模型/157
第7章先進技術/163
7.1配料問題/165
7.1.1構建模型/166
7.1.2預分配裁剪模式/172
7.2非凸問題相關技巧/176
7.2.1從n個變量中選擇k個非零變量/179
7.2.2從n個變量中選擇k個相鄰非零變量/181
7.2.3從n個約束條件中選擇k個條件/184
7.2.4大中取大和小中取小/189
7.3排班問題/191
7.3.1構建模型/194
7.3.2變化量/199
7.4賽事時間表問題/199
7.4.1構建模型/200
7.4.2變化量/209
7.5謎題問題/209
7.5.1偽象棋問題/210
7.5.2數(shù)獨謎題/214
7.5.3算式謎題:SendMoreMoney!/216
7.5.4邏輯謎題:LadiesandTigers/219
7.6Python中優(yōu)化工具MPSolver快速參考/224