术语表:
- 样本(sample)或输入(input):进入模型的数据点。 �
- 预测(prediction)或输出(output):从模型出来的结果。
- 目标(target):真实值。对于外部数据源,理想情况下,模型应该能够预测出目标。
- 预测误差(prediction error)或损失值(loss value):模型预测与目标之间的距离。
- 类别(class):分类问题中供选择的一组标签。例如,对猫狗图像进行分类时,“狗”
和“猫”就是两个类别。 � - 标签(label):分类问题中类别标注的具体例子。比如,如果1234号图像被标注为
包含类别“狗”,那么“狗”就是 1234 号图像的标签。 � - 真值(ground-truth)或标注(annotation):数据集的所有目标,通常由人工收集。
- 二分类(binary classification):一种分类任务,每个输入样本都应被划分到两个互
斥的类别中。 - 多分类(multiclass classification):一种分类任务,每个输入样本都应被划分到两个以上的类别中,比如手写数字分类。
- 多标签分类(multilabel classification):一种分类任务,每个输入样本都可以分配多个标签。举个例子,如果一幅图像里可能既有猫又有狗,那么应该同时标注“猫”标签和“狗”标签。每幅图像的标签个数通常是可变的。
- 标量回归(scalar regression):目标是连续标量值的任务。预测房价就是一个很好的例子,不同的目标价格形成一个连续的空间。
- 向量回归(vector regression):目标是一组连续值(比如一个连续向量)的任务。如
果对多个值(比如图像边界框的坐标)进行回归,那就是向量回归。 � - 小批量(mini-batch)或批量(batch):模型同时处理的一小部分样本(样本数通常为 8~128)。样本数通常取2的幂,这样便于 GPU上的内存分配。训练时,小批量用来为模型权重计算一次梯度下降更新。
- 信息泄漏(information leak):每次基于模型在验证集上的性能来调节模型超参数,都会有一些关于验证数据的信息泄露到模型中
评估数据(划分数据集)的注意事项
数据代表性(data representativeness): 随机打乱数据
时间箭头(the arrow of time):时间预测类问题需要保证测试集中所有数据的时间都晚于训练集数据
数据冗余(redundancy in your data):确保训练集和验证集之间没有交集
特征工程
用更简单的方式表述问题,从而使问题变得更容易。(它通常需要深入理解问题)
神经网络的数据预处理
- 向量化
- 值标准化
输入数据的特征:
(1) 取值较小(0~1)
(2) 同质性: 所有特征的取值都应该在大致相同的范围内 - 处理缺失值
- 特征提取
过拟合与欠拟合
优化(optimization):调节模型以在训练数据上得到最佳性能(即机器学习中的学习)
泛化(generalization):训练好的模型在前所未见的数据上的性能好坏
模型随着训练迭代次数的增加,一般是由欠拟合到过拟合状态过渡
降低过拟合的方法:
- 获取更多的数据
- 减小网络大小
- 添加权重(L1,L2)正则化
- dropout正则化
机器学习的流程
- 定义问题,收集数据集
(1)问题类型是什么?
(2)输入数据是什么?预测什么?输出是否可以根据输入进行预测?
(3)可用数据是否包含足够多的信息,足以学习输入和输出之间的关系? - 选择衡量成功的指标
- 确定评估方法
- 数据预处理
- 开发比基准更好的模型
第一个工作模型需要考虑的三个参数:最后一层的激活、损失函数、优化器 - 扩大模型规模:开发过拟合的模型
- 模型正则化与调节超参数
(1)添加 dropout。
(2)尝试不同的架构:增加或减少层数。
(3)添加L1和/或L2正则化。
(4)尝试不同的超参数(比如每层的单元个数或优化器的学习率),以找到最佳配置。
(5)反复做特征工程:添加新特征或删除没有信息量的特征。
网友评论