幫助中心 | 我的帳號 | 關於我們

從零開始構建深度前饋神經網路(Python+TensorFlow2.x)/人工智慧與大數據技術大講堂

  • 作者:張光華|責編:劉立卿
  • 出版社:機械工業
  • ISBN:9787111696155
  • 出版日期:2022/01/01
  • 裝幀:平裝
  • 頁數:224
人民幣:RMB 69.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書是「人工智慧與大數據技術大講堂」叢書的第2部,從體驗手寫數字識別(k近鄰演算法)開始,循序漸進地加深讀者對神經網路模型的理解,進而可以設計並實現自己的模型。本書通過Python+NumPy從零開始構建神經網路模型,強化讀者對演算法思想的理解,然後通過TensorFlow重新構建這些模型,進一步加深讀者對模型的理解。
    前饋神經網路是深度學習的重要知識,其核心思想是反向傳播與梯度下降。本書從極易理解的示例開始,然後逐漸深入,從而幫助讀者充分理解並熟練掌握反向傳播與梯度下降演算法,為後續學習深度學習技術打下堅實的基礎。
    本書採用理論與實踐並重的風格,先以圖文方式講解演算法思想,再用Python+NumPy實現演算法,然後給出TensorFlow實現,幫助讀者不斷地加深對核心演算法的理解,提高實際動手能力,從而鍛煉將演算法思想轉化為程序代碼的能力。

作者介紹
張光華|責編:劉立卿
    張光華,博士畢業於重慶大學和清華大學,碩士畢業於中國科學技術大學。現為中國醫藥教育協會智能眼科學組常委、山西智能大數據產業技術創新研究院醫療大數據研究中心主任主要研究方向為量子點微型多光譜成像技術、醫學圖像處理、機器學習等。已在頂級的國際會議及SCI期刊上發表了醫學、圖像處理和機器學習等領域的多篇論文,並參與了多項中國與歐洲的科學基金項目。

目錄
前言
第1章  環境搭建
  1.1  下載並安裝Python
  1.2  Python軟體環境管理工具Anaconda
    1.2.1  下載Anaconda
    1.2.2  安裝Anaconda
    1.2.3  驗證Anaconda的安裝
  1.3  通過TUNA加速Anaconda
    1.3.1  清華大學開源軟體鏡像站TUNA
    1.3.2  在Windows中設置Anaconda鏡像通道
    1.3.3  在類UNIX中設置Anaconda鏡像通道
  1.4  使用Jupyter Notebook
    1.4.1  通過「開始」菜單啟動Jupyter Notebook
    1.4.2  通過命令行啟動Jupyter Notebook
    1.4.3  新建並重命名Notebook
    1.4.4  安裝Jupyter Notebook插件
  1.5  安裝TensorFlow 2
    1.5.1  通過Notebook cell安裝TensorFlow 2
    1.5.2  通過pip install命令離線安裝TensorFlow
  1.6  小結與補充說明
第2章  使用k近鄰演算法識別手寫數字圖像
  2.1  手寫數字圖像數據集MNIST
    2.1.1  使用TensorFlow載入MNIST
    2.1.2  使用scikit-learn載入MNIST
  2.2  分類器與準確率
  2.3  k近鄰演算法的基本思想
  2.4  利用k-NN識別MNIST
    2.4.1  劃分數據集
    2.4.2  識別MNIST與模型評估
    2.4.3  數據探查
    2.4.4  性能優化
    2.4.5  調參
    2.4.6  最近鄰再探查
  2.5  k-NN中的距離度量
  2.6  小結與補充說明
第3章  感知機演算法思想與實現
  3.1  機器學習的基本分類
  3.2  鳶尾花數據集iris
    3.2.1  樣本特徵
    3.2.2  樣本分類
    3.2.3  構造簡化版iris數據集
  3.3  感知機分類精簡版iris
    3.3.1  極簡體驗感知機
    3.3.2  感知機模型的數學表達
    3.3.3  極簡體驗感知機學習演算法
    3.3.4  感知機學習演算法的Python實現
    3.3.5  損失函數與梯度(選修)
    3.3.6  感知機代碼合併
  3.4  感知機的實現類
    3.4.1  構造器__init__()

    3.4.2  預測方法predict()
    3.4.3  更新模型參數update_params()
    3.4.4  啟動訓練fit()
    3.4.5  重構Perceptron類
  3.5  小結與補充說明
第4章  對數幾率回歸演算法思想與實現
  4.1  神經網路結構示意圖
  4.2  對數幾率回歸的數學表達
  4.3  對數幾率函數的Python實現
  4.4  對數幾率回歸模型的損失函數
  4.5  梯度下降法的數學表達(選修)
  4.6  梯度下降法的Python實現
  4.7  對數幾率回歸模型的Python實現
  4.8  使用對數幾率回歸模型分類鳶尾花
    4.8.1  使用LR分類精簡版iris數據集
    4.8.2  統計準確率
    4.8.3  構造簡化版iris數據集
    4.8.4  劃分函數train_test_split()
    4.8.5  劃分iris數據集
    4.8.6  使用對數幾率回歸模型分類iris數據集
  4.9  小結與補充說明
第5章  使用TensorFlow實現對數幾率回歸
  5.1  深入LR參數更新
    5.1.1  改進LogisticRegression類的update_weights()方法
    5.1.2  改進LogisticRegression類的fit()方法
    5.1.3  使用LR分類鳶尾花數據集並查看日誌
  5.2  使用TensorFlow自動求梯度
    5.2.1  極簡體驗TensorFlow自動求梯度
    5.2.2  NumPy數組的形狀與維數
    5.2.3  使用TensorFlow計算矩陣乘積
    5.2.4  使用TensorFlow計算LR模型的激活值
    5.2.5  使用代碼定義LR模型的損失函數
    5.2.6  使用TensorFlow求LR模型的損失函數對激活值的梯度
    5.2.7  手動計算LR模型的損失函數對權值的梯度
    5.2.8  使用TensorFlow求LR模型的損失函數對參數的梯度
  5.3  使用自動求梯度實現LR
    5.3.1  更新TensorFlow變數
    5.3.2  實現LogisticRegressionV2類
    5.3.3  使用LogisticRegressionV2分類精簡版iris
    5.3.4  極簡體驗模型調參
  5.4  使用Sequential實現LR
  5.5  小結與補充說明
第6章  LR圖像分類
  6.1  簡化版MNIST數據集
    6.1.1  生成索引數組
    6.1.2  NumPy數組切片(取元素)
    6.1.3  數據探查
    6.1.4  使用np.concatenate()合併數組
    6.1.5  構建簡化版MNIST數據集
  6.2  LR分類簡化版MNIST

    6.2.1  數據預處理之歸一化
    6.2.2  數據預處理之扁平化
    6.2.3  LR分類簡化版MNIST
    6.2.4  修復LogisticRegression類
    6.2.5  測試修復
  6.3  小批量梯度下降
    6.3.1  向量化編程
    6.3.2  構造小批量樣本
    6.3.3  計算LR損失函數關於線性模型的導數dz
    6.3.4  計算LR損失函數關於權值向量的導數dw
    6.3.5  計算LR損失函數關於偏置量的導數db
    6.3.6  小批量模型訓練
    6.3.7  小批量LR分類簡化版MNIST
    6.3.8  查看模型預測失誤的樣本
  6.4  新問題與修復
    6.4.1  發現問題與復現問題
    6.4.2  原因分析及解決方法
    6.4.3  向量化predict()方法
    6.4.4  修復LogisticRegression類
    6.4.5  評估模型方法evaluate()
    6.4.6  提前終止控制開關
    6.4.7  提前終止策略方法(選修)
    6.4.8  重構LogisticRegression類
  6.5  小結與補充說明
第7章  代碼重構與計算圖簡介
  7.1  構建神經網路的基本流程
    7.1.1  模型架構及超參數
    7.1.2  初始化模型參數
    7.1.3  前向傳播、反向傳播與計算圖
  7.2  重構LogisticRegression類
    7.2.1  重新構造簡化版MNIST數據集
    7.2.2  探查簡化版MNIST數據集
    7.2.3  LR分類簡化版MNIST
    7.2.4  重構LogisticRegression類
    7.2.5  測試重構版LogisticRegression類
  7.3  使用TensorFlow定義並訓練模型
  7.4  體驗TensorBoard
  7.5  隨機化
    7.5.1  使用np.random.random()生成隨機數
    7.5.2  隨機初始化權值向量
    7.5.3  使用np.random.shuffle()混淆數組
    7.5.4  隨機訪問樣本
    7.5.5  隨機梯度下降
    7.5.6  小批量隨機梯度下降
  7.6  小結與補充說明
第8章  兩層神經網路
  8.1  單層神經網路之局限性
    8.1.1  線性可分
    8.1.2  線性不可分
  8.2  兩層神經網路前向傳播

    8.2.1  部分記號說明
    8.2.2  矩陣乘積的代碼實現
    8.2.3  隱層前向傳播的數學表達
    8.2.4  隱層前向傳播的代碼實現
    8.2.5  輸出層前向傳播的數學表達
    8.2.6  輸出層前向傳播的代碼實現
  8.3  兩層神經網路反向傳播
    8.3.1  輸出層反向傳播的數學表達
    8.3.2  輸出層反向傳播的代碼實現
    8.3.3  隱層反向傳播的數學表達
    8.3.4  隱層反向傳播的代碼實現
  8.4  兩層神經網路實現異或運算
  8.5  實現MLPClassifier類
    8.5.1  構造器__init__()
    8.5.2  參數初始化initialize_params()
    8.5.3  前向傳播forward_propagation()
    8.5.4  反向傳播backward_propagation()
    8.5.5  參數更新update_params()
    8.5.6  模型輸出
    8.5.7  模型啟動訓練fit()
    8.5.8  測試MLPClassifier類
  8.6  小結與補充說明
第9章  多層神經網路
  9.1  多層感知機部分記號說明
  9.2  重構多層神經網路
    9.2.1  參數初始化
    9.2.2  前向傳播
    9.2.3  反向傳播參數更新
    9.2.4  測試新版本
  9.3  重構MLPClassifier類
    9.3.1  構造器__init__()
    9.3.2  參數初始化initialize_params()
    9.3.3  前向傳播forward_propagation()
    9.3.4  反向傳播參數更新
    9.3.5  模型輸出
    9.3.6  模型啟動訓練fit()
    9.3.7  測試MLPClassifier類
    9.3.8  修復MLPClassifier類
    9.3.9  測試修復
  9.4  使用TensorFlow實現多層神經網路
    9.4.1  使用TensorFlow解決異或問題
    9.4.2  使用TensorFlow驗證MLPClassifier類
  9.5  使用MLPClassifier類實現對數幾率回歸
    9.5.1  使用LR實現邏輯與函數
    9.5.2  使用MLPClassifier類實現對數幾率回歸
    9.5.3  使用TensorFlow驗證代碼實現
  9.6  小結與補充說明
  附錄  標量、向量與矩陣簡介
後記

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032