作者簡介
Masanori Akaishi 1985 年畢業於東京大學工學院數學工程系,並於 1987 年於東京大學取得電腦工程碩士之後加入日本 IBM 公司。1993 年調至 SE 部門負責開放系統的基礎設施設計。2013 年至 Smart City 事業部,並於 2016 年再到 Watson 事業單位直到現在。自加入 IBM 二十餘年來,經過 IT 和 AI 各個領域的歷練,從 IT 架構設計、資料庫 SQL 調校、應用開發、程式設計、Watson、以及機器學習等都相當在行。除本書之外,他也著有《實用 Python 自然語言處理入門》、《機器學習與深度學習從 Watson Studio開始》。
章節目錄
[導入篇 機器學習快速指引]第 1 章 機器學習入門1.1 何謂機器學習1.1.1 何謂機器學習模型1.1.2 機器學習的訓練方法1.1.3 監督式學習的迴歸、分類模型1.1.4 訓練階段與預測階段1.1.5 損失函數與梯度下降法1.2 第一個機器學習模型:簡單線性迴歸模型1.3 本書討論的機器學習模型1.4 數學是深度學習的核心1.5 本書架構[理論篇 數學速學課程]第 2 章 微分、積分2.1 函數2.1.1 函數運作行為2.1.2 函數的圖形2.2 合成函數與反函數2.2.1 合成函數專欄 合成函數的表示法2.2.2 反函數2.3 微分與極限2.3.1 微分的定義2.3.2 函數值增量與微分的關係2.3.3 切線方程式專欄 切線方程式與訓練階段、預測階段的關係2.4 極大值與極小值2.5 多項式的微分2.5.1 x^n 的微分(n 是正整數)2.5.2 微分計算的線性關係與多項式的微分2.5.3 x^r 的微分(r 是實數)專欄 組合(Combination)與二項式定理2.6 兩個函數相乘的微分2.7 合成函數的微分2.7.1 用鏈鎖法則做合成函數微分2.7.2 反函數的微分2.8 兩個函數相除的微分2.9 積分專欄 積分符號的意思第 3 章 向量、矩陣3.1 向量入門3.1.1 何謂向量3.1.2 向量的標記法3.1.3 向量的分量3.1.4 往多維擴展3.1.5 分量的符號3.2 向量和、向量差、純量乘積3.2.1 向量和3.2.2 向量差3.2.3 向量與純量的乘積3.3 向量的長度(絕對值)與距離3.31 向量的長度(絕對值)3.3.2 Σ 可整合冗長的加法算式3.3.3 向量間的距離3.4 三角函數3.4.1 三角比 : 三角函數的基本定義3.4.2 單位圓上的座標3.4.3 三角函數的圖形3.4.4 用三角函數表示直角三角形的邊長3.5 向量內積3.5.1 向量內積的幾何定義3.5.2 用分量來表示內積公式3.6 餘弦相似性3.6.1 兩個二維向量的夾角3.6.2 n 維向量的餘弦相似性專欄 餘弦相似性的應用範例3.7 矩陣運算3.7.1 一個輸出節點的內積表示法3.7.2 三個輸出節點的矩陣相乘第 4 章 多變數函數的微分4.1 多變數函數4.2 偏微分4.3 全微分4.4 全微分與合成函數4.5 梯度下降法(GD)專欄 梯度下降法與局部最佳解第 5 章 指數函數、對數函數5.1 指數函數5.1.1 連乘的定義與公式5.1.2 連乘觀念的推廣5.1.3 將連乘寫成指數函數形式5.2 對數函數專欄 對數函數的意義5.3 對數函數的微分專欄 用 Python 來計算尤拉數 e5.4 指數函數的微分專欄 以 e 為底的指數函數也可用 exp 表示5.5 Sigmoid 函數5.6 Softmax 函數專欄 Sigmoid 和 Softmax 函數的關係第 6 章 機率、統計6.1 隨機變數與機率分佈6.2 機率密度函數與累積分佈函數專欄 Sigmoid 函數的機率密度函數6.3 概似函數與最大概似估計法專欄 為何概似函數的極值是求最大值,而不是最小值?[實踐篇 機器學習、深度學習實作]第 7 章 線性迴歸模型(迴歸)7.1 損失函數的偏微分與梯度下降法7.2 範例問題設定7.3 訓練資料與預測值的數學符號標示法7.4 梯度下降法的概念7.5 建立預測模型7.6 建立損失函數7.7 損失函數的微分7.8 梯度下降法之運用7.9 程式實作專欄 使用 NumPy7.10 推廣到多元線性迴歸模型專欄 學習率與迭代運算次數的調整方法第 8 章 邏輯斯迴歸模型(二元分類)81 範例問題設定8.2 線性迴歸模型與分類模型的差異8.3 針對預測模型之討論專欄 將預測值轉換成機率的意義8.4 損失函數(交叉熵 Cross entropy)8.5 損失函數的微分計算8.6 梯度下降法的運用8.7 程式實作專欄 scikit-learn 三種模型的比較專欄 交叉熵以及熱愛足球的國王們的煩惱第 9 章 邏輯斯迴歸模型(多類別分類)9.1 範例問題設定9.2 建立模型的基本概念9.3 權重矩陣9.4 Softmax 函數9.5 損失函數9.6 損失函數的微分計算9.7 梯度下降法的運用9.8 程式實作專欄 聚合函數 axis 參數的作用第 10 章 深度學習10.1 範例問題設定10.2 模型的架構與預測函數10.3 損失函數10.4 損失函數的微分10.5 反向傳播10.6 梯度下降法的運用10.7 程式實作一:原始版本10.8 程式實作二:調整權重矩陣初始值的版本10.9 程式實作三:更換激活函數為 ReLU 的版本10.10 程式實作四:隱藏層增加為 2 層的版本[發展篇 實務上的解決方法]第11 章 以實用的深度學習為目標11.1 善用開發框架11.2 卷積神經網路(CNN)11.3 循環神經網路(RNN)與長短期記憶(LSTM)11.4 數值微分11.5 優化的學習法11.6 過度配適解決方法11.7 每次訓練的資料量(批量) 11.8 權重矩陣的初始化11.9 目標下一座山頭附錄 Jupyter Notebook 開發工具A.1 啟動 Jupyter NotebookA.2 試寫一個程式A.3 將檔案輸出成單純的 Python 檔