用 Python 動手學機器學習

[日]伊藤真

  • 用 Python 動手學機器學習-preview-1
  • 用 Python 動手學機器學習-preview-2
用 Python 動手學機器學習-preview-1

買這商品的人也買了...

相關主題

商品描述

本書是面向機器學習新手的入門書,從學習環境的搭建開始,圖文並茂地介紹了學習機器學習所需的Python知識和數學知識,並在此基礎上結合數學式、示例程序、插圖等,抽絲剝繭般地對有監督學習中的回歸與分類、神經網絡與深度學習的算法與應用、手寫數字識別、無監督學習的算法等進行了介紹。

本書既有圖形、代碼,又有詳細的數學式推導過程,大大降低了機器學習的學習門檻,即使沒有學過Python、數學基礎不太好,也可以看懂。

作者簡介

伊藤真(作者)
日本栃木縣人,目前居住在神奈川縣。
2000年獲得日本東北大學大學院信息科學博士學位,研究內容為小鼠導航行為的數理模型。2004年~2016年在沖繩科學技術大學院大學擔任神經計算單元實驗小組負責人,主要研究如何通過強化學習模型解釋小鼠的選擇行為和腦活動。
2017年入職Progress Technologies株式會社,研究人工智能的產業應用。
愛好是用瓦楞紙板做手工藝品。


鄭明智(譯者)
智慧醫療工程師。主要研究方向為醫療與前沿ICT技術的結合及其應用,密切關注人工智能、5G、量子計算等領域。譯有《松本行弘:編程語言的設計與實現》《深度學習基礎與實踐》《詳解深度學習》《白話機器學習的數學》等書。


司磊(譯者)
碩士畢業於日本芝浦工業大學理工學研究科,研究方向為電氣電子信息工學,該校智能係統實驗室成員。目前在某智能設備廠商任系統工程師。喜歡讀書、跑步、學習新知識以及嘗試實現一些好玩的idea。

目錄大綱

第1章學習前的準備1
1.1關於機器學習2
1.1.1學習機器學習的竅門4
1.1.2機器學習中問題的分類5
1.1.3本書的結構6
1. 2安裝Python 7
1.3 Jupyter Notebook 11
1.3.1 Jupyter Notebook的用法11
1.3.2輸入Markdown格式文本14
1.3.3更改文件名16
1.4安裝Keras和TensorFlow 17

第2章Python基礎知識19
2.1四則運算20
2.1.1四則運算的用法20
2.1.2冪運算20
2.2變量21
2.2.1利用變量進行計算21
2.2.2變量的命名21
2.3類型22
2.3.1類型的種類22
2.3.2檢查類型22
2.3.3字符串23
2.4 print語句24
2.4.1 print語句的用法24
2. 4.2同時顯示數值和字符串的方法1 24
2.4.3同時顯示數值和字符串的方法2 25
2.5 list(數組變量) 26
2.5.1 list的用法26
2.5.2二維數組27
2.5.3創建連續的整數數組28
2.6 tuple(數組) 29
2.6.1 tuple的用法29
2.6.2讀取元素29
2.6. 3長度為1的tuple 30
2.7 if語句31
2.7.1 if語句的用法31
2.7.2比較運算符32
2.8 for語句33
2.8.1 for語句的用法33
2. 8.2 enumerate的用法33
2.9向量34
2.9.1 NumPy的用法34
2.9.2定義向量35
2.9.3讀取元素36
2.9.4替換元素36
2.9. 5創建連續整數的向量36
2.9.6 ndarray的注意事項37
2.10矩陣38
2.10.1定義矩陣38
2.10.2矩陣的大小38
2.10.3讀取元素39
2. 10.4替換元素39
2.10.5生成元素為0和1的ndarray 39
2.10.6生成元素隨機的矩陣40
2.10.7改變矩陣的大小41
2.11矩陣的四則運算41
2 .11.1矩陣的四則運算41
2.11.2標量×矩陣42
2.11.3算術函數42
2.11.4計算矩陣乘積43
2.12切片43
2.13替換滿足條件的數據45
2.14 help 46
2.15函數47
2.15.1函數的用法47
2.15.2參數與返回值47
2.16保存文件49
2.16.1保存一個ndarray類型變量49
2.16.2保存多個ndarray類型變量49

第3章數據可視化51
3.1繪製二維圖形52
3.1.1繪製隨機圖形52
3.1.2代碼清單的格式53
3.1.3繪製三次函數f (x) = (x - 2) x (x + 2) 53
3.1.4確定繪製範圍54
3.1.5繪製圖形55
3.1.6裝飾圖形55
3.1.7並列顯示多張圖形58
3.2繪製三維圖形59
3 .2.1包含兩個變量的函數59
3.2.2用顏色表示數值:pcolor 60
3.2.3繪製三維圖形:surface 62
3.2.4繪製等高線:contour 64

第4章機器學習中的數學67
4.1向量68
4.1.1什麼是向量68
4.1.2用Python定義向量69
4.1.3列向量的表示方法69
4.1.4轉置的表示方法70
4.1.5加法和減法71
4.1.6標量積73
4.1.7內積74
4.1.8向量的模75
4.2求和符號76
4.2.1帶求和符號的數學式的變形77
4.2 .2通過內積求和79
4.3累乘符號79
4.4導數80
4.4.1多項式的導數80
4.4.2帶導數符號的數學式的變形82
4.4.3複合函數的導數83
4.4.4複合函數的導數:鍊式法則84
4.5偏導數85
4.5.1什麼是偏導數85
4.5.2偏導數的圖形87
4.5.3繪製梯度的圖形89
4.5.4多變量的複合函數的偏導數91
4.5.5交換求和與求導的順序93
4.6矩陣95
4.6.1什麼是矩陣95
4.6.2矩陣的加法和減法97
4.6.3標量積99
4.6.4矩陣的乘積100
4.6.5單位矩陣103
4.6.6逆矩陣105
4.6.7轉置107
4.6.8矩陣和聯立方程式109
4.6.9矩陣和映射111
4.7指數函數和對數函數113
4.7. 1指數113
4.7.2對數115
4.7.3指數函數的導數118
4.7.4對數函數的導數120
4.7.5 Sigmoid函數121
4.7.6 Softmax函數123
4. 7.7 Softmax函數和Sigmoid函數127
4.7.8高斯函數128
4.7.9二維高斯函數129

第5章有監督學習:回歸135
5.1一維輸入的直線模型136
5.1. 1直線模型138
5.1.2平方誤差函數139
5.1.3求參數(梯度法) 142
5.1.4直線模型參數的解析解148
5.2二維輸入的平面模型152
5.2 .1數據的表示方法154
5.2.2平面模型155
5.2.3平面模型參數的解析解157
5.3 D維線性回歸模型159
5.3.1 D維線性回歸模型160
5.3 .2參數的解析解160
5.3.3擴展到不通過原點的平面164
5.4線性基底函數模型165
5.5過擬合問題171
5.6新模型的生成181
5.7模型的選擇185
5.8小結186

第6章有監督學習:分類189
6.1一維輸入的二元分類190
6.1.1問題設置190
6.1.2使用概率表示類別分類194
6.1.3最大似然估計196
6. 1.4邏輯回歸模型199
6.1.5交叉熵誤差201
6.1.6學習法則的推導205
6.1.7通過梯度法求解209
6.2二維輸入的二元分類210
6.2 .1問題設置210
6.2.2邏輯回歸模型214
6.3二維輸入的三元分類219
6.3.1三元分類邏輯回歸模型219
6.3.2交叉熵誤差222
6.3. 3通過梯度法求解223

第7章神經網絡與深度學習227
7.1神經元模型229
7.1.1神經細胞229
7.1.2神經元模型230
7.2神經網絡模型234
7.2. 1二層前饋神經網絡234
7.2.2二層前饋神經網絡的實現237
7.2.3數值導數法242
7.2.4通過數值導數法應用梯度法246
7.2.5誤差反向傳播法251
7.2 .6求.E / .vkj 252
7.2.7求.E / .wji 256
7.2.8誤差反向傳播法的實現262
7.2.9學習後的神經元的特性268
7.3使用Keras實現神經網絡模型270
7.3.1二層前饋神經網絡271
7.3.2 Keras的使用流程273

第8章神經網絡與深度學習的應用(手寫數字識別) 277
8.1 MINST數據集278
8.2二層前饋神經網絡模型279
8.3 ReLU激活函數286
8.4空間過濾器291
8.5卷積神經網絡295
8.6池化300
8.7 Dropout 301
8.8融合了各種特性的MNIST識別網絡模型302

第9章無監督學習307
9. 1二維輸入數據308
9.2 K-means算法310
9.2.1 K-means算法的概要310
9.2.2步驟0:準備變量與初始化311
9.2.3步驟1:更新R 313
9.2.4步驟2:更新μ 315
9.2.5失真度量318
9.3混合高斯模型320
9.3.1基於概率的聚類320
9.3.2混合高斯模型323
9.3. 3 EM算法的概要328
9.3.4步驟0:準備變量與初始化329
9.3.5步驟1(步驟E):更新γ 330
9.3.6步驟2(步驟M):更新π、μ和Σ 332
9.3.7似然336

第10章本書小結339
後記349