写点什么

实用机器学习笔记七:数据变换

作者:打工人!
  • 2021 年 12 月 08 日
  • 本文字数:1083 字

    阅读完需:约 4 分钟

实用机器学习笔记七:数据变换

前言:

本文是个人在 B 站自学李沐老师的实用机器学习课程【斯坦福 2021 秋季中文同步】的学习笔记,感觉沐神讲解的非常棒 yyds。

数据变换地位:

数据处理后,要根据模型的输入要求进行数据转换之后才能进行有效的训练,因此数据从收集到输入到模型进行训练会经过一下几个步骤:先是进行标注和清洗,然后进行数据转换,接着进行特征工程。注意:数据转换既可以在标注清洗前也可以在特征工程之后,这里把数据转换放在两者之间,但并不影响。

数据变换位置

实数标准化变换:

  • 最小最大标准化:意思就是通过线性变换把某一列数据变换到最小值 a 和最大值 b 之间。原因:机器学习模型对数据非常敏感,如果某一列数据最小值和最大值差距太大,会发生训练不稳定性。公式如下:

表示第个原始数据,表示变换后的数据,表示这列原始数据中最小值,表示这列原始数据中的最大值。

  • Z-score 标准化:把这一列数据变换为均值为 0,标准差为 1 的数据。公式如下:

  • 十进制缩放(decimal scaling):把数据标准化到[-1, 1]。公式如下:

  • Log 标准化:适用场景:如果数值总是大于 0,并且数据变化很大,可以把数据变换到 log 空间。好处:log 上面的加减就是原始数据的乘除。按照百分比来看,看数据变化的百分比来查看数据变化的影响。公式如下:

图片变换:

图片数据集保存会占用很大的空间,因此保存成本很高,可以进行图片裁剪,裁剪成像素更小的图片,这样就会节省很多存储成本。注意的是在图片裁剪之后,如果保存成 JPEG 格式的话,要注意选择的图片质量的选择,如果保存成中等质量的话,在训练之后会有 1%精度的下降。因此尽可能保存为高质量的图片。

视频变换:

在处理视频的时候要平衡存储成本,质量和加载速度。

通成机器学习模型训练视频的时候只是对大概 10 秒左右的视频感兴趣,因为模型往往学习的就是一个动作,而一个动作通常就在 10 秒左右。所以可以把长视频裁剪成一小段一小段的短视频,可以删掉很多对于机器学习模型无用的片段。

视频通常会采用压缩算法来存储,但是在训练时,只是采样几帧图片,在采样时就需要进行解码,这样是耗费时间和金钱的。通常使用 GPU 来解码。

文本变换:

  • 语法化和词根化:

比如:am,are,is---->be car,cars,car's,cars' ---->car

  • 词元化(有一个词典):

  • 以词为基础:text.split(' '),就是分离出一个一个的词

  • 以字符为基础:text.split(''),就是分离成一个一个字符

  • 以子词为基础:"a new gpu!" ---->"a", "new", "gp", "##u", "!"


发布于: 2 小时前阅读数: 10
用户头像

打工人!

关注

打工人! 2019.11.10 加入

InfoQ年度最佳内容获得者。 InfoQ签约作者 本人打工人一枚,自动化和控制专业入坑人一枚。目前在研究深度强化学习(DRL)技术。准备入坑互联网小白一枚。喜欢了解科技前沿技术,喜欢拍照。

评论

发布
暂无评论
实用机器学习笔记七:数据变换