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
- 神经风格迁移
- 变分自编码器
- 生成式对抗网络
- 术语表