零基礎學機器學習

零基礎學機器學習

《零基礎學機器學習》是2020年人民郵電出版社出版的圖書,作者是黃佳。

基本介紹

  • 中文名:零基礎學機器學習
  • 作者:黃佳
  • 出版社:人民郵電出版社
  • ISBN:9787115545992
內容簡介,圖書目錄,作者簡介,

內容簡介

本書的目標,是讓非機器學習領域甚至非計算機專業出身但有學習需求的人,輕鬆地掌握機器學習的基本知識,從而擁有相關的實戰能力。
本書通過AI“小白”小冰拜師程式設計師咖哥學習機器學習的對話展開,內容輕鬆,實戰性強,主要包括機器學習快速上手路徑、數學和Python 基礎知識、機器學習基礎算法(線性回歸和邏輯回歸)、深度神經網路、卷積神經網路、循環神經網路、經典算法、集成學習、無監督和半監督等非監督學習類型、強化學習實戰等內容,以及相關實戰案例。本書所有案例均通過Python及Scikit-learn 機器學習庫和Keras 深度學習框架實現,同時還包含豐富的數據分析和數據可視化內容。
本書適合對AI 感興趣的程式設計師、項目經理、在校大學生以及任何想以零基礎學機器學習的人,用以入門機器學習領域,建立從理論到實戰的知識通道。

圖書目錄

引子:AI 菜鳥的挑戰—100 天上線智慧型預警系統
第1 課 機器學習快速上手路徑—唯有實戰
1.1 機器學習的家族譜
1.1.1 新手入門機器學習的3 個好訊息
1.1.2 機器學習就是從數據中發現規律
1.1.3 機器學習的類別—監督學習及其他
1.1.4 機器學習的重要分支—深度學習
1.1.5 機器學習新熱點—強化學習
1.1.6 機器學習的兩大套用場景—回歸與分類
1.1.7 機器學習的其他套用場景
1.2 快捷的雲實戰學習模式
1.2.1 線上學習平台上的機器學習課程
1.2.2 用Jupyter Notebook 直接實戰
1.2.3 用Google Colab 開發第一個機器學習程式
1.2.4 在Kaggle 上參與機器學習競賽
1.2.5 在本機上“玩”機器學習
1.3 基本機器學習術語
1.3.1 特徵
1.3.2 標籤
1.3.3 模型
1.4 Python 和機器學習框架
1.4.1 為什麼選擇用Python
1.4.2 機器學習和深度學習框架
1.5 機器學習項目實戰架構
1.5.1 第1 個環節:問題定義
1.5.2 第2 個環節:數據的收集和預處理
1.5.3 第3 個環節:選擇機器學習模型
1.5.4 第4 個環節:訓練機器,確定參數
1.5.5 第5 個環節:超參數調試和性能最佳化
1.6 本課內容小結
1.7 課後練習
第2 課 數學和Python 基礎知識—一天搞定
2.1 函式描述了事物間的關係
2.1.1 什麼是函式
2.1.2 機器學習中的函式
2.2 捕捉函式的變化趨勢
2.2.1 連續性是求導的前提條件
2.2.2 通過求導發現y 如何隨x 而變
2.2.3 凸函式有一個全局最低點
2.3 梯度下降是機器學習的動力之源
2.3.1 什麼是梯度
2.3.2 梯度下降:下山的隱喻
2.3.3 梯度下降有什麼用
2.4 機器學習的數據結構—張量
2.4.1 張量的軸、階和形狀
2.4.2 標量—0D(階)張量
2.4.3 向量—1D(階)張量
2.4.4 矩陣—2D(階)張量
2.4.5 序列數據 —3D(階)張量
2.4.6 圖像數據 —4D(階)張量
2.4.7 視頻數據—5D(階)張量
2.4.8 數據的維度和空間的維度
2.5 Python 的張量運算
2.5.1 機器學習中張量的創建
2.5.2 通過索引和切片訪問張量中的數據
2.5.3 張量的整體操作和逐元素運算
2.5.4 張量的變形和轉置
2.5.5 Python 中的廣播
2.5.6 向量和矩陣的點積運算
2.6 機器學習的幾何意義
2.6.1 機器學習的向量空間
2.6.2 深度學習和數據流形
2.7 機率與統計研究了隨機事件的規律
2.7.1 什麼是機率
2.7.2 常態分配
2.7.3 標準差和方差
2.8 本課內容小結
2.9 課後練習
第3 課 線性回歸—預測網店的銷售額
3.1 問題定義:小凍的網店廣告該如何投放
3.2 數據的收集和預處理
3.2.1 收集網店銷售額數據
3.2.2 數據讀取和可視化
3.2.3 數據的相關分析
3.2.4 數據的散點圖
3.2.5 數據集清洗和規範化
3.2.6 拆分數據集為訓練集和測試集
3.2.7 把數據歸一化
3.3 選擇機器學習模型
3.3.1 確定線性回歸模型
3.3.2 假設(預測)函式—h (x )
3.3.3 損失(誤差)函式—L (w ,b )
3.4 通過梯度下降找到最佳參數
3.4.1 訓練機器要有正確的方向
3.4.2 凸函式確保有最小損失點
3.4.3 梯度下降的實現
3.4.4 學習速率也很重要
3.5 實現一元線性回歸模型並調試超參數
3.5.1 權重和偏置的初始值
3.5.2 進行梯度下降
3.5.3 調試學習速率
3.5.4 調試疊代次數
3.5.5 在測試集上進行預測
3.5.6 用輪廓圖描繪L 、w 和b 的關係
3.6 實現多元線性回歸模型
3.6.1 向量化的點積運算
3.6.2 多變數的損失函式和梯度下降
3.6.3 構建一個線性回歸函式模型
3.6.4 初始化權重並訓練機器
3.7 本課內容小結
3.8 課後練習
第4 課 邏輯回歸—給病患和鳶尾花分類
4.1 問題定義:判斷客戶是否患病
4.2 從回歸問題到分類問題
4.2.1 機器學習中的分類問題
4.2.2 用線性回歸+ 階躍函式完成分類
4.2.3 通過Sigmiod 函式進行轉換
4.2.4 邏輯回歸的假設函式
4.2.5 邏輯回歸的損失函式
4.2.6 邏輯回歸的梯度下降
4.3 通過邏輯回歸解決二元分類問題
4.3.1 數據的準備與分析
4.3.2 建立邏輯回歸模型
4.3.3 開始訓練機器
4.3.4 測試分類結果
4.3.5 繪製損失曲線
4.3.6 直接調用Sklearn 庫
4.3.7 啞特徵的使用
4.4 問題定義:確定鳶尾花的種類
4.5 從二元分類到多元分類
4.5.1 以一對多
4.5.2 多元分類的損失函式
4.6 正則化、欠擬合和過擬合
4.6.1 正則化
4.6.2 欠擬合和過擬合
4.6.3 正則化參數
4.7 通過邏輯回歸解決多元分類問題
4.7.1 數據的準備與分析
4.7.2 通過Sklearn 實現邏輯回歸的多元分類
4.7.3 正則化參數—C 值的選擇
4.8 本課內容小結
4.9 課後練習
第5 課 深度神經網路—找出可能流失的客戶
5.1 問題定義:咖哥接手的金融項目
5.2 神經網路的原理
5.2.1 神經網路極簡史
5.2.2 傳統機器學習算法的局限性
5.2.3 神經網路的優勢
5.3 從感知器到單隱層網路
5.3.1 感知器是最基本的神經元
5.3.2 假設空間要能覆蓋特徵空間
5.3.3 單神經元特徵空間的局限性
5.3.4 分層:加入一個網路隱層
5.4 用Keras 單隱層網路預測客戶流失率
5.4.1 數據的準備與分析
5.4.2 先嘗試邏輯回歸算法
5.4.3 單隱層神經網路的Keras 實現
5.4.4 訓練單隱層神經網路
5.4.5 訓練過程的圖形化顯示
5.5 分類數據不平衡問題:只看準確率夠用嗎
5.5.1 混淆矩陣、精確率、召回率和F1 分數
5.5.2 使用分類報告和混淆矩陣
5.5.3 特徵縮放的魔力
5.5.4 閾值調整、欠採樣和過採樣
5.6 從單隱層神經網路到深度神經網路
5.6.1 梯度下降:正向傳播和反向傳播
5.6.2 深度神經網路中的一些可調超參數
5.6.3 梯度下降最佳化器
5.6.4 激活函式:從Sigmoid 到ReLU
5.6.5 損失函式的選擇
5.6.6 評估指標的選擇
5.7 用Keras 深度神經網路預測客戶流失率
5.7.1 構建深度神經網路
5.7.2 換一換最佳化器試試
5.7.3 神經網路正則化:添加Dropout 層
5.8 深度神經網路的調試及性能最佳化
5.8.1 使用回調功能
5.8.2 使用TensorBoard
5.8.3 神經網路中的過擬合
5.8.4 梯度消失和梯度爆炸
5.9 本課內容小結
5.10 課後練習
第6課 卷積神經網路—識別狗狗的圖像
6.1 問題定義:有趣的狗狗圖像識別
6.2 卷積網路的結構
6.3 卷積層的原理
6.3.1 機器通過“模式”進行圖像識別
6.3.2 平移不變的模式識別
6.3.3 用滑動視窗抽取局部特徵
6.3.4 過濾器和回響通道
6.3.5 對特徵圖進行卷積運算
6.3.6 模式層級結構的形成
6.3.7 卷積過程中的填充和步幅
6.4 池化層的功能
6.5 用卷積網路給狗狗圖像分類
6.5.1 圖像數據的讀入
6.5.2 構建簡單的卷積網路
6.5.3 訓練網路並顯示誤差和準確率
6.6 卷積網路性能最佳化
6.6.1 第一招:更新最佳化器並設定學習速率
6.6.2 第二招:添加Dropout 層
6.6.3 “大殺器”:進行數據增強
6.7 卷積網路中特徵通道的可視化
6.8 各種大型卷積網路模型
6.8.1 經典的VGGNet
6.8.2 採用Inception 結構的GoogLeNet
6.8.3 殘差網路ResNet
6.9 本課內容小結
6.10 課後練習
第7 課 循環神經網路—鑑定留言及探索系外行星
7.1 問題定義:鑑定評論文本的情感屬性
7.2 循環神經網路的原理和結構
7.2.1 什麼是序列數據
7.2.2 前饋神經網路處理序列數據的局限性
7.2.3 循環神經網路處理序列問題的策略
7.2.4 循環神經網路的結構
7.3 原始文本如何轉化成向量數據
7.3.1 文本的向量化:分詞
7.3.2 通過One-hot 編碼分詞
7.3.3 詞嵌入
7.4 用SimpleRNN 鑑定評論文本
7.4.1 用Tokenizer 給文本分詞
7.4.2 構建包含詞嵌入的SimpleRNN
7.4.3 訓練網路並查看驗證準確率
7.5 從SimpleRNN 到LSTM
7.5.1 SimpleRNN 的局限性
7.5.2 LSTM 網路的記憶傳送帶
7.6 用LSTM 鑑定評論文本
7.7 問題定義:太陽系外哪些恆星有行星環繞
7.8 用循環神經網路處理時序問題
7.8.1 時序數據的導入與處理
7.8.2 建模:CNN 和RNN 的組合
7.8.3 輸出閾值的調整
7.8.4 使用函式式API
7.9 本課內容小結
7.10 課後練習
第8 課 經典算法“寶刀未老”
8.1 K 最近鄰
8.2 支持向量機
8.3 樸素貝葉斯
8.4 決策樹
8.4.1 熵和特徵節點的選擇
8.4.2 決策樹的深度和剪枝
8.5 隨機森林
8.6 如何選擇最佳機器學習算法
8.7 用格線搜尋超參數調優
8.8 本課內容小結
8.9 課後練習
第9 課 集成學習“笑傲江湖”
9.1 偏差和方差—機器學習性能最佳化的風向標
9.1.1 目標:降低偏差與方差
9.1.2 數據集大小對偏差和方差的影響
9.1.3 預測空間的變化帶來偏差和方差的變化
9.2 Bagging 算法—多個基模型的聚合
9.2.1 決策樹的聚合
9.2.2 從樹的聚合到隨機森林
9.2.3 從隨機森林到極端隨機森林
9.2.4 比較決策樹、樹的聚合、隨機森林、極端隨機森林的效率
9.3 Boosting 算法—鍛鍊弱模型的“肌肉”
9.3.1 AdaBoost 算法
9.3.2 梯度提升算法
9.3.3 XGBoost 算法
9.3.4 Bagging 算法與Boosting 算法的不同之處
9.4 Stacking/Blending 算法—以預測結果作為新特徵
9.4.1 Stacking 算法
9.4.2 Blending 算法
9.5 Voting/Averaging 算法—集成基模型的預測結果
9.5.1 通過Voting 進行不同算法的集成
9.5.2 通過Averaging 集成不同算法的結果
9.6 本課內容小結
9.7 課後練習
第10 課 監督學習之外—其他類型的機器學習
10.1 無監督學習—聚類
10.1.1 K 均值算法
10.1.2 K 值的選取:手肘法
10.1.3 用聚類輔助理解行銷數據
10.2 無監督學習—降維
10.2.1 PCA 算法
10.2.2 通過PCA 算法進行圖像特徵採樣
10.3 半監督學習
10.3.1 自我訓練
10.3.2 合作訓練
10.3.3 半監督聚類
10.4 自監督學習
10.4.1 潛隱空間
10.4.2 自編碼器
10.4.3 變分自編碼器
10.5 生成式學習
10.5.1 機器學習的生成式
10.5.2 生成式對抗網路
10.6 本課內容小結
10.7 課後練習
第11 課 強化學習實戰—咖哥的冰湖挑戰
11.1 問題定義:幫助智慧型體完成冰湖挑戰
11.2 強化學習基礎知識
11.2.1 延遲滿足
11.2.2 更複雜的環境
11.2.3 強化學習中的元素
11.2.4 智慧型體的視角
11.3 強化學習基礎算法Q-Learning 詳解
11.3.1 迷宮遊戲的示例
11.3.2 強化學習中的局部最優
11.3.3 ε -Greedy 策略
11.3.4 Q-Learning 算法的偽代碼
11.4 用Q-Learning 算法來解決冰湖挑戰問題
11.4.1 環境的初始化
11.4.2 Q-Learning 算法的實現
11.4.3 Q-Table 的更新過程
11.5 從Q-Learning 算法到SARSA算法
11.5.1 異策略和同策略
11.5.2 SARSA 算法的實現
11.6 用SARSA 算法來解決冰湖挑戰問題
11.7 Deep Q Network 算法:用深度網路實現Q-Learning
11.8 本課內容小結
11.9 課後練習
尾聲:如何實現機器學習中的知識遷移及持續性的學習
練習答案

作者簡介

黃佳,新加坡埃森哲公司高級顧問,人工智慧專家,機器學習和雲計算高級工程師。計算機世界獎學金獲得者,新加坡政府獎學金獲得者。黃佳先生IT從業近20年,參與過公共事業、醫療、金融等多領域大型人工智慧項目,對政府、企業和事業單位的數據智慧型化項目如何成功落地有著非常深刻的思考和洞見。

相關詞條

熱門詞條

聯絡我們