概念
数据表示就是把现实世界的原始数据转化为模型能够理解和学习的数学形式。表示得越合理,模型性能和效率就越好。
基本形式
数值型(Numeric Data):
-
标量:单一数值,例如温度 = 25.3。
-
向量:一组有序数值,常用于描述一个样本的特征,如用户画像 [年龄, 收入, 活跃天数]。
-
矩阵:二维数组,例如图像(像素矩阵)、推荐系统的用户-物品交互矩阵。
张量:高维数组,是深度学习的核心数据结构,比如一批彩色图片可表示为 4D 张量 [batch_size, height, width,
channels]。
类别型(Categorical Data):
- 整数编码:给每个类别分配一个整数,特征转换的方式,例如性别男=1,性别女=0。
- 独热编码:每个类别都变成一个维度,只在所属类别的位置标
1,其余标 0。等于把类别转化为一组向量,有多个位置,只有自己位置亮起,其余都是 0。 - 嵌入表示:通过模型学习,把每个类别映射为一个低维稠密向量,可以捕捉类别之间的语义关系。例如:用户 A → [0.12, -0.05,
0.33, …]
时间序列数据(Time Series Data):
- 序列表示:把时间序列看作一个按时间顺序排列的数值序列,保留时间顺序信息。
- 滑动窗口表示:为了让模型一次输入固定长度的数据,把序列切成小窗口,每个窗口作为一个样本。适用于任何机器学习模型。
- 频域表示:将时间序列从时间域转换到频率域,提取周期性或趋势信息。
其他类型:文本数据(Text Data)、图像数据(Image Data)、图结构数据(Graph Data)
选择因素
在选择数据表示时,需要考虑多个关键因素。首先是任务目标,不同的任务类型如分类、回归、聚类或生成任务,可能需要不同的数据表示方式。其次是数据类型,结构化数据和非结构化数据(如文本、图像、音频、视频)对表示方式的要求也不同。
此外,还要考虑模型特点和计算效率。线性模型通常偏好数值化和稀疏表示;树模型(如 XGBoost、LightGBM)对类别型和数值型数据都较为鲁棒,不需要归一化;神经网络则更适合稠密嵌入和张量表示。同时,高维稀疏数据与低维稠密数据在存储和训练效率上差异较大,也需要在选择表示方式时加以权衡。
应用示例
| 数据类型 | 数据表示方式 | 常用模型 | 应用场景 |
|---|---|---|---|
| 结构化数值数据 | 向量 / 矩阵 [样本数 × 特征数] | 逻辑回归、XGBoost、神经网络 | 电商用户画像预测购买行为 |
| 类别型数据 | 嵌入向量(Embedding) | 深度协同过滤、神经网络 | 推荐系统用户-商品行为建模 |
| 文本数据 | 词向量 / 上下文嵌入(Word2Vec、BERT) | LSTM、Transformer | 情感分析、新闻分类 |
| 图像数据 | 像素矩阵 / 卷积特征张量 [H, W, C] | CNN、ResNet | 图像分类、目标检测 |
| 时间序列数据 | 向量 / 滑动窗口 / 频域表示 | RNN、LSTM、GRU | 设备传感器预测、趋势预测或异常检测 |


被折叠的 条评论
为什么被折叠?



