使用 Python 程式語言實作機器學習基礎理論的入門書,均衡涵蓋程式套件應用與理論推導,透過本書讀者能夠按圖索驥,走出機器學習新手村,成功一轉!
❶先使用套件現成類別與函式
❷再認識演算方法理論與推導
❸最後使用自行定義類別重現
內容簡介
本書內容改編自第 8 屆 iT邦幫忙鐵人賽,Big Data 組冠軍網路系列文章──《 R 語言使用者的 Python 學習筆記》,從系列文章中後段開始改寫,省略了原本 Python 基礎語法、網頁資料擷取(俗稱爬蟲)與 Pandas 的章節,著重在以 NumPy、Matplotlib、Scikit-Learn 入門機器學習基礎理論的部分,並與作者的實體課程 (台大工商管理學系、台大資工系統訓練班與中華電信學院等資料科學課程) 教材整合編修而成。
三大重點
❶ 先使用套件現成類別與函式
☛NumPy的 N 維陣列操作與運算
☛物件導向風格的Matplotlib視覺化
☛Scikit-Learn 的五個核心理念
☛Keras的模型建立步驟
❷ 再認識演算方法理論與推導
☛均方誤差函式
☛梯度遞減演算方法
☛交叉熵函式
☛前向傳播與反向傳播
❸ 最後使用自行定義類別重現
☛正規方程類別
☛梯度遞減類別與AdaGrad類別
☛羅吉斯迴歸類別
☛深度學習類別
作者簡介:
郭耀仁
畢業自台灣大學商學研究所,現在是一名講師,在台大工商管理學系、台大資工系統訓練班與中華電信學院等機構講授資料科學課程,亦有一門 Hahow 好學校線上課程:如何成為資料分析師。
任職過上海的韓商新創、台北的美商軟體公司、銀行與美商顧問公司;閒暇時喜歡跑步與寫作部落格 Datainpoint。
在 2017 年以主題《R 語言使用者的 Python 學習筆記》獲得第 8 屆 iT邦幫忙鐵人賽 Big Data 組冠軍。
目錄
CHAPTER 1 關於視覺化與機器學習
1.1 一個資料科學專案
1.2 何謂視覺化
1.3 為何視覺化
1.4 何謂機器學習
1.5 pyvizml 模組
1.6 為何機器學習
1.7 延伸閱讀
CHAPTER 2 數列運算
2.1 關於 NumPy
2.2 為何 NumPy
2.3 如何建立 ndarray
2.4 常用的 ndarray 屬性
2.5 純量、向量、矩陣與張量
2.6 ndarray 的索引
2.7 ndarray 的切割
2.8 ndarray 特別的索引
2.9 重塑外觀
2.10 複製陣列
2.11 合併陣列
2.12 通用函式
2.13 聚合函式
2.14 延伸閱讀
CHAPTER 3 資料探索
3.1 關於 Matplotlib
3.2 為何 Matplotlib
3.3 使用 Matplotlib 的兩種方式
3.4 輸出 Matplotlib 作圖
3.5 常見的探索性資料分析
3.6 觀察數值資料相關性的需求
3.7 觀察類別資料排序的需求
3.8 觀察數值資料分布的需求
3.9 觀察數學函式外觀的需求
3.10 觀察區域海拔高度的需求
3.11 顯示二維數值陣列的需求
3.12 如何為圖形增加元素
3.13 如何在圖形中加入中文字
3.14 如何繪製子圖
3.15 延伸閱讀
CHAPTER 4 機器學習入門
4.1 關於 Scikit-Learn
4.2 為何 Scikit-Learn
4.3 五個核心理念
4.4 機器學習的資料表達
4.5 Scikit-Learn 的支援場景
4.6 關於訓練、驗證與測試資料
4.7 延伸閱讀
CHAPTER 5 數值預測的任務
5.1 關於數值預測的任務
5.2 以 Scikit-Learn 預測器完成數值預測任務
5.3 正規方程 Normal Equation
5.4 自訂正規方程類別 NormalEquation
5.5 計算複雜性
5.6 梯度遞減 Gradient Descent
5.7 自訂梯度遞減類別 GradientDescent
5.8 標準化與進階的梯度遞減
5.9 延伸閱讀
CHAPTER 6 類別預測的任務
6.1 關於類別預測的任務
6.2 以 Scikit-Learn 預測器完成類別預測任務
6.3 羅吉斯迴歸
6.4 自訂羅吉斯迴歸類別 LogitReg
6.5 二元分類延伸至多元分類:One versus rest
6.6 二元分類延伸至多元分類:Softmax 函式
6.7 兩種表示類別向量的形式
6.8 延伸閱讀
CHAPTER 7 表現的評估
7.1 如何評估機器學習演算方法
7.2 評估數值預測任務的表現
7.3 評估類別預測任務的表現
7.4 自訂計算評估指標的類別 ClfMetrics
7.5 誤差的來源
7.6 減少訓練誤差
7.7 減少訓練誤差與測試誤差的間距
7.8 延伸閱讀
CHAPTER 8 深度學習入門
8.1 什麼是深度學習
8.2 為何深度學習
8.3 什麼是 Keras
8.4 為何 Keras
8.5 撰寫 Keras 的步驟
8.6 前向傳播
8.7 反向傳播
8.8 自訂深度學習類別 DeepLearning
8.9 MNIST 資料與時裝 MNIST 資料
8.10 延伸閱讀
APPENDIX A pyvizml.py
CHAPTER 1 關於視覺化與機器學習
1.1 一個資料科學專案
1.2 何謂視覺化
1.3 為何視覺化
1.4 何謂機器學習
1.5 pyvizml 模組
1.6 為何機器學習
1.7 延伸閱讀
CHAPTER 2 數列運算
2.1 關於 NumPy
2.2 為何 NumPy
2.3 如何建立 ndarray
2.4 常用的 ndarray 屬性
2.5 純量、向量、矩陣與張量
2.6 ndarray 的索引
2.7 ndarray 的切割
2.8 ndarray 特別的索引
2.9 重塑外觀
2.10 複製陣列
2.11 合併陣列
2.12 通用函式
2.13 聚合函式
2.14 延伸閱讀
CHAPTER 3 資料探索
3.1 關於 Matplotlib
3.2 為何 Matplotlib
3....