数据部分
所谓AI三要素
对于深度学习来说
Huber从稳健统计的角度系统地给出了鲁棒性3个层面的概念
:
模型具有较高的精度或有效性
; 对于模型假设出现的较小偏差
只能对算法性能产生较小的影响 , 噪声点 ; 对于模型假设出现的较大偏差
不可对算法性能产生 , 灾难性 “ 的影响 ” 离群点 。
题外话
数据处理的过程主要分为
数据采集–>数据标注–>数据增强–>数据清洗
本文将主要介绍数据增强与数据清洗
数据采集(Data Acquisition)
在深度学习中所使用的数据
数据采集的方法主要有
-
网络数据采集
网络爬虫或公开数据( ) -
感知设备采集
摄像头( 传感器或其他采集设备、 ) -
生成数据
GAN( VAE或扩散模型、 )
数据标注(Data Annotation)
数据标注是对未经处理过的语音
数据标准一般是借助标注工具来完成
数据增强(Data Augmentation)
数据增强指通过对已有数据添加微小改动或从已有数据新创建合成数据
数据增强是对数据采集的补充
CV领域的数据增强主要有
-
空间几何变换
翻转: 水平和垂直( ) 随机裁剪、 旋转、 仿射变换、 视觉变换、 四点透视变换( ) -
光照变换
随机亮度变换: 对比度变换、 色彩度变换、 饱和度变换、 噪声变换、 -
遮挡变换
Random erase: 随机删除( 在图上随机遮挡某一部分的像素, ) Cutout、 裁剪( 按照一定的间隔遮挡NxN像素大小的小格子, 是具有规律的, 一般是等距间隔的小格子, N一般取2或4很小的值, 类似于给图片加噪声, ) hide and seek、 裁剪( 按照更大的间隔遮挡NxN像素大小的小格子, 是具有规律的, 一般是等距间隔的小格子, N一般取值更大一些, ) Grid Mask、 网格掩码( 先把图像进行分成不同的格子, 然后按照一定的方法去挑选遮挡某些格子, 遮挡的效果取决于格子的大小和被遮挡的格子数量。 类似于增加正样本的权重。 ) Dropblock、 对图像数据使用dropout( 然后再将多个dropout之间连成块, 以此达到遮挡的目的, ) 。 -
模糊类
高斯模糊: ElasticTransformation、 -
HSV对比度变换
-
图像融合操作
NLP领域的数据增强主要有
-
同义词替换
-
随机drop
对于标题和描述中的字或词,随机的进行删除,用空格代替, -
随机 shuffle, 即打乱词序
-
回译
快速产生一些不那么准确的翻译结果达到增加数据的目的, -
添加一些随机单词的拼写错误
实际上
数据清洗(Cleansing)
数据清洗常用的过程有
笔者主要介绍归一化
归一化
把数据变成(0,1)或者(-1,1
如
- Min-Max归一化
$ \displaystyle x' = \frac{x - X_{min}}{X_{max} - X_{min}}$: - 平均归一化
$ \displaystyle x' = \frac{x - \mu}{X_{max} - X_{min}}$: - 对数函数转换
$ \displaystyle x' = log_n(x)$: - 反余切函数转换
$ \displaystyle x' = arctan(x) *\frac{2}{\pi}$:
标准化
使每个特征中的数值平均值变为0(将每个特征的值都减掉原始数据中该特征的平均)
如
- Z-score标准化
$ \displaystyle x' = \frac{x-\mu}{\sigma}$:
归一化/标准化后可以加快梯度下降的求解速度
一些分类器需要计算样本之间的距离(如欧氏距离)
白化处理
白化的目的是去除输入数据的冗余信息
- 特征之间相关性较低
; - 所有特征具有相同的方差
。