庫存狀況
「香港二樓書店」讓您 愛上二樓●愛上書
我的購物車 加入會員 會員中心 常見問題 首頁
「香港二樓書店」邁向第一華人書店
登入 客戶評價 whatsapp 常見問題 加入會員 會員專區 現貨書籍 現貨書籍 購物流程 運費計算 我的購物車 聯絡我們 返回首頁
香港二樓書店 > 今日好書推介
二樓書籍分類
 
決心打底!Python 深度學習基礎養成

決心打底!Python

沒有庫存
訂購需時10-14天
9789863126331
我妻幸長
吳嘉芳
旗標
2020年7月07日
230.00  元
HK$ 207  






ISBN:9789863126331
  • 規格:平裝 / 416頁 / 17 x 23 x 2.4 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣


  • 電腦資訊 > 程式設計 > SQL

















    一步步拆解複雜的數學算式,一筆筆手工算給你看, 硬派學習才能紮穩根基!



      「想要學好深度學習,深入了解底層各種演算法的運算細節絕對有其必要!」相信不少初學者正抱持著相同的想法,希望好好熟悉 mini-batch 反向傳播、梯度下降等各種深度學習演算法的細節,但多數的情況卻可能一直碰壁...



      原因很簡單,當你深究神經網路的底層運算,會發現種種演算法的背後統統都是數學, 學寫程式還行,滿滿的數學算式卻很容易讓人打退堂鼓,但是,真有決心學好基礎千萬不要就此放棄!



      其實神經網路底層並沒用到多深的數學,只需要向量、矩陣等線性代數,以及偏微分、鏈鎖法則等微分技巧,掌握這些就綽綽有餘,但為什麼一堆數學算式總是讓人看了頭昏腦脹?因為數學光用看的是「無感」的!既然無法逃避,我們就帶你跟數學來個正面對決!當遇到看起來很複雜的數學算式時,我們會先一步步手工算給你看,再用 Python + NumPy 算一遍來驗證,完成這兩個步驟後保證清楚了解各種算式的涵義!



      而針對深度學習的精髓-mini-batch 反向傳播運算,我們也將硬派拆解背後的數學運算,你將清楚看到 DNN、CNN 神經網路所有「反」著算來進行優化的細節,這絕對是其他深度學習書籍少見的紮實內容。



      若你之前看了一大堆深度學習書籍或網路文章,始終對數學心存畏懼,也對底層的運算似懂非懂,請跟著本書潛心修練,一定可以紮實養成深度學習的基礎! 



    本書特色



      Python 基礎紮根 ? 正面迎戰數學 ? 神經網路底層概念,該學的一次搞定!



      •惡補深度學習的數學基礎,手工算最清楚!


      對數�指數�向量�矩陣�矩陣乘積�微分�偏微分�全微分�鏈鎖法則



      •紮實打好 Python 與常用套件的基礎

      list�tuple�條件式�迴圈�函式�類別�reshape�transpose�NumPy�Matplotlib�scikit-learn



      •零框架!硬派拆解深度學習演算法背後的數學運算

      DNN 反向傳播�CNN 反向傳播�mini-batch SGD�Dropout�AdaGrad



      •詳細解說,流暢翻譯

      本書由【施威銘研究室】監修,書中針對原書進行大量補充,並適當添加註解,幫助讀者更加理解內容!


     





    Ch01 深度學習基礎養成指引



    Ch02 深度學習需要的 Python 語法與運算套件

    2-1 安裝 Python 環境

    2-2 Python 的基本語法

    2-2-1 資料型別 (Data Type) 與變數 (Variable)

    2-2-2 算符 (Operator)

    2-2-3 list 型別

    2-2-4 tuple 型別

    2-2-5 dict 型別

    2-2-6 if 判斷式

    2-2-7 for 迴圈

    2-2-8 while 迴圈

    2-2-9 串列生成式 (list Comprehensions)

    2-2-10 函式 (Function)

    2-2-11 變數的有效範圍 (Scope Rule)

    2-2-12 類別 (Class)

    2-2-13 繼承 (Inheritance)

    2-3 NumPy 快速上手

    2-3-1 匯入 NumPy 套件

    2-3-2 NumPy 的陣列

    2-3-3 其他建立陣列的方式

    2-3-4 再以圖解看陣列的軸 (axis)

    2-3-5 利用 reshape() 改變陣列形狀

    2-3-6 陣列間對應元素 (element-wise) 的運算

    2-3-7 擴張 (Broadcasting)

    2-3-8 陣列元素的存取

    2-3-9 切片 (Slicing)

    2-3-10 陣列轉置 (transpose)

    2-3-11 其他常用的 NumPy 函式

    2-4 Matplotlib 快速上手

    2-4-1 將一堆資料點繪成圖表

    2-4-2 裝飾圖表內容

    2-4-3 繪製散佈圖

    2-4-4 將數值以圖像呈現



    Ch03 深度學習需要的數學知識

    3-1 數學符號與運算式

    3-1-1 利用 sigma (Σ) 表示總和

    3-1-2 自然底數

    3-1-3 自然對數

    3-2 線性代數

    3-2-1 純量 (Scalar)

    3-2-2 向量 (Vector)

    3-2-3 矩陣 (Matrix)

    3-2-4 張量 (Tensor)

    3-2-5 純量與矩陣乘積

    3-2-6 對應元素 (element wise) 的乘積

    3-2-7 矩陣乘積 (Matrix multiplication)

    3-2-8 矩陣轉置 (Transpose)

    3-3 微分

    3-3-1 常微分

    3-3-2 微分的公式

    3-3-3 鏈鎖法則 (Chain Rule)

    3-3-4 偏微分

    3-3-5 全微分

    3-3-6 多變數的鏈鎖法則



    Ch04 神經網路的基礎

    4-1 認識人類神經網路

    4-2 單一神經元的人工神經網路

    4-3 多層神經網路架構

    4-4 再從實作認識「激活函數」

    4-4-1 階梯函數 (Step function)

    4-4-2 Sigmoid 函數

    4-4-3 tanh 函數

    4-4-4 ReLU 函數

    4-4-5 Leaky ReLU

    4-4-6 恆等函數

    4-4-7 Softmax 函數

    4-5 神經網路最廣泛的應用:迴歸與分類

    4-6 實戰演練 (一):實作「單一神經元 + 單一輸出」的神經網路

    4-6-1 單一神經元的架構

    4-6-2 程式內容說明

    4-6-3 實驗:看看權重與偏值對輸出值的影響

    4-7 實戰演練 (二):實作「多層 + 單一輸出」的神經網路

    4-7-1 神經網路的架構

    4-7-2 程式內容說明

    4-7-3 權重與偏值對輸出的影響

    4-8 實戰演練 (三):實作「多層 + 多個輸出」的神經網路

    4-8-1 神經網路的架構

    4-8-2 程式內容說明

    4-8-3 利用輸出結果替輸入資料做分類



    Ch05 訓練神經網路

    5-1 訓練神經網路的基本概念

    5-2 用損失函數 (Loss Function) 計算誤差

    5-2-1 均方誤差 (Mean-Square Error, MSE)

    5-2-2 交叉熵 (Cross Entropy)

    5-3 認識修正權重的方法 - 梯度下降法 (Gradient Descent)

    5-3-1 梯度下降法的基本概念

    5-3-2 利用「梯度下降法」找到誤差值最低點所對應的權重

    5-4 計算梯度 (Gradient), 了解權重參數對誤差的影響

    5-4-1 用「反向傳播法 (Back Propagation)」計算各層間單一權重的梯度

    5-4-2 四組單一權重梯度算式的微分推導

    5-4-3 梯度下降法的數學算式

    5-5 訓練前的資料準備工作

    5-5-1 將資料切割成「訓練資料集」與「測試資料集」

    5-5-2 分批訓練的概念

    5-6 將分批訓練概念引入梯度計算

    5-6-1 將輸入資料、預測結果轉換成矩陣形式

    5-6-2 將輸入矩陣傳入神經網路, 進行前向傳播運算

    5-6-3 權重矩陣的梯度計算 (反向傳播運算)

    5-7 實作演練:模擬數據讓神經網路訓練



    Ch06 深度學習實戰演練

    6-1 訓練神經網路常遇到的問題

    6-1-1 陷入局部最小值 (Local minimum)

    6-1-2 過度配適 (Overfitting) 的問題

    6-1-3 梯度消失 (Vanishing gradient)

    6-2 避免過度配適的方法

    6-2-1 找出最佳的層數與神經元數

    6-2-2 減少訓練週期

    6-2-3 資料擴張 (Data Augmentation)

    6-2-4 常規化 (Regularization)

    6-2-5 丟棄法 (Dropout)

    6-3 避免發生局部最小值的方法

    6-3-1 Momentum 優化演算法

    6-3-2 AdaGrad 優化演算法

    6-3-3 RMSProp 優化演算法

    6-3-4 Adam 優化演算法

    6-4 實作演練 (一):使用神經網路替鳶尾花分類

    6-4-1 範例概要說明

    6-4-2 載入資料集並做前置處理

    6-4-3 設定神經網路各初始值

    6-4-4 用 Python 類別定義各層的運算

    6-4-5 將前向傳播、反向傳播、修正權重、計算誤差等運算撰寫成函式

    6-4-6 開始訓練神經網路

    6-4-7 執行程式, 看看訓練成果

    6-5 實作演練 (二):解決訓練成效不佳的問題

    6-5-1 導入 Adagrad 演算法

    6-5-2 導入丟棄法 (Dropout)

    6-5-3 導入 Adagrad + Dropout

    6-5-4 驗證 4 種組合的訓練成果

    6-5-5 實際拿神經網路模型預測全新資料



    Ch07 卷積神經網路 (CNN)

    7-1 卷積神經網路 (CNN) 的基本概念

    7-1-1 為什麼使用 CNN?

    7-1-2 卷積神經網路 (CNN) 的基本架構

    7-1-3 卷積層 (Convolution Layer) 的運算

    7-1-4 池化層 (Pooling Layer) 的運算

    7-1-5 池化層 → 密集層 (Dense Layer) 的運算

    7-1-6 填補 (Padding) 與步長 (Stride) 的概念

    7-1-7 訓練 CNN 網路的方法

    7-1-8 整理本節使用的變數

    7-2 認識 im2col 與 col2im 演算法

    7-3 卷積層的程式實作

    7-4 池化層的程式實作

    7-5 密集層的程式實作

    7-6 實戰演練 (一):實作卷積神經網路

    7-6-1 載入手寫數字資料集

    7-6-2 CNN 網路的結構

    7-6-3 開始訓練 CNN 神經網路

    7-6-4 執行程式, 看看訓練成果

    7-6-5 實際拿 CNN 模型預測資料

    7-6-6 回頭檢視卷積層的功用

    7-7 實戰演練 (二):實作層數更多的 CNN 網路



    Ch08 RNN、LSTM、GRU、GAN、VAE、DRL、DQN...各種深度學習技術

    8-1 循環神經網路 (RNN)

    8-1-1 RNN 的基本概要

    8-1-2 LSTM (長短期記憶神經網路)

    8-1-3 LSTM 的改良版 - GRU

    8-2 生成模型與 GAN、VAE

    8-2-1 GAN

    8-2-2 VAE

    8-3 深層強化學習 (Deep reinforcement learning)

    8-3-1 強化式學習

    8-3-2 深層強化學習





    ?




    其 他 著 作