数据集是机器学习的基础. 有两种基本的表示方式.
1. 纯集合表示
数据集为 , 属性集为 . 第 个实例的第 个属性值表示为 . 为了省掉一个符号, 也可以认为每个属性都是一个函数, 这样, 第 个实例的第 个属性值表示为 .
2. 纯向量/矩阵表示
数据集为 , 其中 .
3. 讨论
我们来讨论一下两种表示的优缺点.
- 纯集合表示中, 中的 为平常的符号, 本质上表示的是对象编号. 因此, 没有 这样的表示. 纯向量表示中, 中的 为粗体, 表示向量.
- 纯集合表示中, 即使两个对象 与 的所有属性值都完全相同, 它们的编号不同, 也不存在相重的问题. 纯向量表示中, 与
- 纯集合表示中, 不同的属性可以有不同的值域; 纯向量表示中, 一般会统一为实数域、整数域、或
- 纯集合表示中, 数据子集可直接表达, 同时可以用并、交、差等数据子集的操作; 纯向量表示中, 数据子集就不容易写了.
- 纯集合表示中, 需要使用 这类方式来表示某一数据, 比较繁琐; 纯向量表示中, 可使用
- 纯集合表示中, 分类模型的表达比较困难; 纯向量表示中, 线性模型可以直接使用矩阵操作 , 其中 表示对标签的预测,
4. 混合表示
从以上分析可以看出, 集合表示法要求对象独立、可交换, 其优点是可以使用集合的运算符. 向量表示法则可使用 来表示某一具体的数据值. 我们只需要对象互换, 而不要求属性可以互换, 因此可以使用如下混合表示法.
Let be the dataset, where is an instance. The labels of form a vector where is the label of .
如果是多标签数据, 就应写成
The labels of form a vector where is the label vector of , and .
分析:
- 要写成集合, 而
- 如果想描述标签分布, 或者标签缺失, 可在这个基础上修改.
- 本质上不支持 这种矩阵运算. 但如果确实需要, 就只有牺牲严谨性, 说明一下: In the following context, is also treated as