輕鬆簡單的好書,讓你從入門到高手,掌握機器學習及神經網路的數學、理論與實作!
本書特色
機器學習唯一的入門書,從完全不懂到開發專案靠這本書就搞定
充分展現出日本書的細膩流暢又簡單清楚
想了解機器學習又怕被數學公式轟炸的AI小白最適合
作者把所有的數學公式都用最簡單的二維平面來處理,是對人腦最直覺的投射
懶人最愛的程式設計環境,Jupyter Notebook,在瀏覽器中就可以執行神經網路
高中文組數學程度就可以100%看得懂的Python程式
雖然簡單但十分詳細的公式推導
L1、L2回歸你我都會用,但這本書卻有完整的來龍去脈,打下神經網路及深度學習的基礎
無監督學習也有詳細說明,K-means和混合高斯模型
使用Tensorflow,每一行程式碼都看得懂,完全沒有不必要細節或玩弄技巧
作者介紹
作者簡介
伊藤真
日本栃木縣人,目前居住在神奈川縣。
2000年獲得日本東北大學大學院資訊科學博士學位,研究內容為老鼠導航行為的數理模型。2004年~2016年在沖繩科學技術大學院大學擔任神經計算單元實驗小組負責人,主要研究如何通過強化學習模型解釋老鼠的選擇行為和腦活動。
2017年入職Progress Technologies株式會社,研究人工智慧的產業應用。
興趣是用瓦楞紙板做手工藝品。
目錄
第1 章| 學習前的準備
1.1 關於機器學習
1.2 安裝Python
1.3 Jupyter Notebook
1.4 安裝Keras 和TensorFlow
第2 章| Python 基礎知識
2.1 四則運算
2.2 變數
2.3 類型
2.4 print 敘述
2.5 list(陣列變數)
2.6 tuple(陣列)
2.7 if 敘述
2.8 for 敘述
2.9 向量
2.10 矩陣
2.11 矩陣的四則運算
2.12 切片
2.13 替換滿足條件的資料
2.14 help
2.15 函數
2.16 保存檔案
第3 章| 資料視覺化
3.1 繪製二維圖形
3.2 繪製三維圖形
第4 章| 機器學習中的數學
4.1 向量
4.2 求和符號
4.3 累乘符號
4.4 導數
4.5 偏導數
4.6 矩陣
4.7 指數函數和對數函數
第5 章| 監督學習:回歸
5.1 一維輸入的直線模型
5.2 二維輸入的平面模型
5.3 D 維線性回歸模型
5.4 線性基底函數模型
5.5 過擬合問題
5.6 新模型的生成
5.7 模型的選擇
5.8 小結
第6 章| 監督學習:分類
6.1 一維輸入的二元分類
6.2 二維輸入的二元分類
6.3 二維輸入的三元分類
第7 章| 神經網路與深度學習
7.1 神經元模型
7.2 神經網路模型
7.3 使用Keras 實現神經網路模型
第8 章| 神經網路與深度學習的應用(手寫數字辨識)
8.1 MINST 資料集
8.2 二層前饋神經網路模型
8.3 ReLU 啟動函數
8.4 空間篩檢程式
8.5 卷積神經網路
8.6 池化
8.7 Dropout
8.8 融合了各種特性的MNIST 辨識網路模型
第9 章| 無監督學習
9.1 二維輸入資料
9.2 K-means 演算法
9.3 混合高斯模型
第10 章| 本書小結
1.1 關於機器學習
1.2 安裝Python
1.3 Jupyter Notebook
1.4 安裝Keras 和TensorFlow
第2 章| Python 基礎知識
2.1 四則運算
2.2 變數
2.3 類型
2.4 print 敘述
2.5 list(陣列變數)
2.6 tuple(陣列)
2.7 if 敘述
2.8 for 敘述
2.9 向量
2.10 矩陣
2.11 矩陣的四則運算
2.12 切片
2.13 替換滿足條件的資料
2.14 help
2.15 函數
2.16 保存檔案
第3 章| 資料視覺化
3.1 繪製二維圖形
3.2 繪製三維圖形
第4 章| 機器學習中的數學
4.1 向量
4.2 求和符號
4.3 累乘符號
4.4 導數
4.5 偏導數
4.6 矩陣
4.7 指數函數和對數函數
第5 章| 監督學習:回歸
5.1 一維輸入的直線模型
5.2 二維輸入的平面模型
5.3 D 維線性回歸模型
5.4 線性基底函數模型
5.5 過擬合問題
5.6 新模型的生成
5.7 模型的選擇
5.8 小結
第6 章| 監督學習:分類
6.1 一維輸入的二元分類
6.2 二維輸入的二元分類
6.3 二維輸入的三元分類
第7 章| 神經網路與深度學習
7.1 神經元模型
7.2 神經網路模型
7.3 使用Keras 實現神經網路模型
第8 章| 神經網路與深度學習的應用(手寫數字辨識)
8.1 MINST 資料集
8.2 二層前饋神經網路模型
8.3 ReLU 啟動函數
8.4 空間篩檢程式
8.5 卷積神經網路
8.6 池化
8.7 Dropout
8.8 融合了各種特性的MNIST 辨識網路模型
第9 章| 無監督學習
9.1 二維輸入資料
9.2 K-means 演算法
9.3 混合高斯模型
第10 章| 本書小結
序
序
記得在上大學時,物理課的教材非常難懂,我非常煩惱。例如分析力學、量子力學、電磁學、熱力學和統計力學等,雖然使用的教材可以說都是名著等級的,卻不像高中教材那樣通俗易懂。
當時我非常希望能在學術研究上有所作為,所以絞盡腦汁地去了解那些知識,但進展並不順利,於是慢慢地就放棄了,開始每天沉浸在社團活動和兼職工作中。這當然也是因為自己還不夠努力,但要說為什麼會變成這樣,現在想來有兩個原因。
第一個原因是我在上大學時沒有掌握正確的學習方法。考上所究所之後,在神經網路和統計學相關的討論課上,在學長和導師的嚴格要求下,我開始不斷地去深究數學式。為了了解那些式子是如何推導出來的,除了自己認真思考之外,我還會向他人請教,或查詢相關的書和文獻。總之,我會在下周上討論課之前一直研究那些式子。我發現透過堅持不懈地努力,一開始不了解的數學式後來也基本上能了解了。不要思考一小時就放棄,而要用一周的時間去研究——我認為,要想真正了解數學式,就必須有這種覺悟。
第二個原因是大學時的教材跟我當時的水準不符合。當時我一直認為了解不了教材是自己能力不夠,但現在回想起來,我意識到那是錯誤的想法。在沒有儲備足夠的基礎知識的情況下就去讀高難度的專業書,當然難以了解其中的內容。也就是說,要想讀懂大學教材,應該先去讀一些過渡性的書。不執著於難懂的書,先找到符合自己當前水準的書才是正道。
現在深度學習備受矚目,機器學習的熱潮已經到來。在這一背景下,市面上出現了很多針對初學者的書,這些書往往只包含機器學習的基本數學式。與此同時,也有很多非常好的專業書。但遺憾的是,印象中很少有適合初學者在學習專業書之前閱讀的書。這時我剛好獲得了一個寫書的機會。於是,我決定為那些想要透過數學式透徹了解機器學習的讀者寫一本適合在學習專業書之前閱讀的書。
本書首先整理了最基礎的數學知識,然後盡可能簡潔地介紹了機器學習的相關問題、數學式及其推導過程,並將透過數學式了解機器學習的想法貫穿全書。因此,透過閱讀本書,讀者應該能掌握足以閱讀專業書的基礎知識。但限於本書的篇幅,有些地方可能解釋得不夠完善,或不容易了解,如果這時大家還能堅持不懈地讀下去,我將倍感榮幸。
這次有幸出版了本書的第2 版。在第2 版中,我以新版的Python 3.7.3進行了修訂,並修改了難以了解的敘述,更新了一部分圖表和數學式,還新增了第10 章,簡短地整理了本書要點。
最後,向那些對第1 版發表評價的讀者,以及對第2 版列出審讀意見的各位表示衷心的感謝。
伊藤真