1. **定義問題,收集數據集**
* 你的輸入數據是什么?你要預測什么?
* 你面對的是什么類型的問題?
* **非平穩問題**(nonstationary problem):購買服裝的種類是隨著季節變化
2. **選擇衡量成功的指標**
* 對于**平衡分類問題**(每個類別的可能性相同),精度和**接收者操作特征曲線下面積**(area under the receiver operating characteristic curve,ROC AUC)是常用的指標。
* 對于類別**不平衡的問題**,你可以使用**準確率**和**召回率**。
* 對于**排序問題**或**多標簽分類**,你可以使用**平均準確率均值**(mean average precision)
* 自定義衡量成功指標
3. **確定評估方法**
* 留出驗證集
* K折交叉驗證
* 重復的*K*折驗證
4. **準備數據**
* 將數據格式化為**張量**
* **縮放**為較小的值,比如在 \[-1, 1\] 區間或 \[0, 1\] 區間。
* 不同的特征具有不同的取值范圍(異質數據),那么應該做**數據標準化**
* 可能需要做**特征工程**,對于**小數據問題**
5. **開發比基準更好的模型**
* 目標:獲得**統計功效**(statistical power),開發一個小型模型,它能夠打敗純隨機的基準(dumb baseline)
* 假設輸出是可以根據輸入進行預測的。
* 假設可用的數據包含足夠多的信息,足以學習輸入和輸出之間的關系。
* 選擇三個關鍵參數來構建第一個工作模型
* 最后一層的激活
* 損失函數
* 優化配置
| 問題類型 | 最后一層激活 | 損失函數|
| --- | --- | --- |
| 二分類問題 | sigmoid |binary\_crossentropy |
| 多分類、單標簽問題 | softmax | categorical\_crossentropy |
| 多分類、多標簽問題 | sigmoid |mse |
| 回歸到任意值 | 無 |binary_crossentropy |
| 回歸到 0~1 范圍內的值 | sigmoid |mse 或 binary_crossentropy|
6. **擴大模型規模:開發過擬合的模型**
* 模型是否足夠強大?
* 它是否具有足夠多的層和參數來對問題進行建模?
* [ ] 要搞清楚你**需要多大**的模型,就必須開發一個**過擬合的模型**
* 添加更多的層
* 讓每一層變得更大
* 訓練更多的輪次
7. **模型正則化與調節超參數**,這一步是最費時間的
調節模型、訓練、在驗證數據上評估、再次調節模型:
* 添加 dropout。
* 嘗試不同的架構:增加或減少層數。
* 添加 L1 和 / 或 L2 正則化。
* 嘗試不同的超參數(比如每層的單元個數或優化器的學習率),以找到最佳配置。
* (可選)反復做特征工程:添加新特征或刪除沒有信息量的特征。
- 基礎
- 張量tensor
- 整數序列(列表)=>張量
- 張量運算
- 張量運算的幾何解釋
- 層:深度學習的基礎組件
- 模型:層構成的網絡
- 訓練循環 (training loop)
- 數據類型與層類型、keras
- Keras
- Keras 開發
- Keras使用本地數據
- fit、predict、evaluate
- K 折 交叉驗證
- 二分類問題-基于梯度的優化-訓練
- relu運算
- Dens
- 損失函數與優化器:配置學習過程的關鍵
- 損失-二分類問題
- 優化器
- 過擬合 (overfit)
- 改進
- 小結
- 多分類問題
- 回歸問題
- 章節小結
- 機械學習
- 訓練集、驗證集和測試集
- 三種經典的評估方法
- 模型評估
- 如何準備輸入數據和目標?
- 過擬合與欠擬合
- 減小網絡大小
- 添加權重正則化
- 添加 dropout 正則化
- 通用工作流程
- 計算機視覺
- 卷積神經網絡
- 卷積運算
- 卷積的工作原理
- 訓練一個卷積神經網絡
- 使用預訓練的卷積神經網絡
- VGG16
- VGG16詳細結構
- 為什么不微調整個卷積基?
- 卷積神經網絡的可視化
- 中間輸出(中間激活)
- 過濾器
- 熱力圖
- 文本和序列
- 處理文本數據
- n-gram
- one-hot 編碼 (one-hot encoding)
- 標記嵌入 (token embedding)
- 利用 Embedding 層學習詞嵌入
- 使用預訓練的詞嵌入
- 循環神經網絡
- 循環神經網絡的高級用法
- 溫度預測問題
- code
- 用卷積神經網絡處理序列
- GRU 層
- LSTM層
- 多輸入模型
- 回調函數
- ModelCheckpoint 與 EarlyStopping
- ReduceLROnPlateau
- 自定義回調函數
- TensorBoard_TensorFlow 的可視化框架
- 高級架構模式
- 殘差連接
- 批標準化
- 批再標準化
- 深度可分離卷積
- 超參數優化
- 模型集成
- LSTM
- DeepDream
- 神經風格遷移
- 變分自編碼器
- 生成式對抗網絡
- 術語表