# **数据领域通用的基本方法**
### **神经网络的数据预处理**:使原始数据更适于用神经网络处理
* **向量化:**
**所有**输入和目标都必须是**浮点数张量**
**无论**处理什么数据(声音、图像还是文本)都必须首先将其转换为**张量**
=》数据向量化(data vectorization)
* **值标准化:**
对每个特征分别做标准化,使其均值为 0、标准差为 1
输入数据应该具有以下特征:
* **取值较小**:大部分值都应该在 0~1 范围内。
* **同质性**(homogenous):所有特征的取值都应该在大致相同的范围内。
=》更严格的方法:
* 将每个特征分别标准化,使其平均值为 0。
* 将每个特征分别标准化,使其标准差为 1。
```
x -= x.mean(axis=0)
x /= x.std(axis=0)
```
* **处理缺失值:**
训练数据或测试数据将会有缺失值
* 一般来说,对于神经网络,将缺失值设置为 0 是安全的,只要 0 不是一个有意义的值。网络能够从数据中学到 0 意味着**缺失数据**,并且会忽略这个值。
* 如果测试数据中可能有缺失值,而网络是在**没有缺失值的数据上训练**的:
**网络不可能学会忽略缺失值**
=》解决方法:**人为生成**有**缺失**项的训练样本,多次**复制**训练样本,**删除**测试数据中可能缺失的某些**特征**
* **特征提取:**
* 将数据输入模型之前,利用你自己关于数据和机器学习算法(这里指神经网络)的**知识**对数据进行**硬编码的变换**(不是模型学到的),以改善模型的效果。
* 用更简单的方式表述问题,从而使问题变得更容易
=》
* 良好的特征仍然可以让你用更少的资源更优雅地解决问题
* 良好的特征可以让你用更少的数据解决问题
- 基础
- 张量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
- 神经风格迁移
- 变分自编码器
- 生成式对抗网络
- 术语表