实际数据为什么难于处理?

在处理已经清洗好的数据, 特别是常见 UCI 数据时, 很多学习器都能获得挺好的效果. 然而, 一旦用于实际数据, 我们就会面对很多困难. 某些困难已经成为机器学习的核心问题, 但有些还得自己去根据实际情况想办法.

1. 类别不平衡

在二分类问题上, 类别不平衡是指正样本、负样本所占比例相差很大, 参见 误分类代价与类不均衡数据. 生物数据, 微生物数据, 医学数据等经常是类别不平衡的.
在多标签学习问题上, 类别不平衡也称 “标签稀疏性”, 如有 1000 种可能的动物, 但某一张图片里面只有少数几种.
在多分类问题上, 类别不平衡导致了长尾效应, 即多数样本仅属于少数类别.
对于类别不平衡的数据, 使用准确率 (Accuracy) 作为评价指标不大合适, 我们可以用 F 1 F_1 F1 或者 AUC.

2. 属性缺值

由于仪器故障等原因, 数据可能存在大量的缺值. 如: 某天的湿度未测, 某位病人的心率未测等. 有些机器学习方法可以自己应对属性缺值, 但有些需要完整的数据. 因此, 缺值填补是一种常见的机器学习问题 (也可以称为技术, 反正机器学习领域经常用同一术语指代问题与技术).
推荐系统对用户评分的预测, 其实也是一个缺值填补问题.

3. 属性值异常

简单异常, 可以通过简单的阈值来检测. 如数学成绩高于 150 分.
但是属性值精度不高, 就不好弄了. 我曾经将属性值精度与测试代价联系起来. 比如, 做 CT 有不同的价格, 贵些的精度就更高. 参见 Attribute reduction of data with error ranges and test costs 编号 5 的论文. 它并不能直接解决属性值异常的问题.

4. 属性值不均衡

对于有些属性, 绝大多数取某一属性值 (如正常), 少数情况才取其它属性值 (如温度过高/过低). 属性值不均衡的时候, 需要特别关注较少出现的属性值. 这与类别不均衡有一定联系, 但好像并没有特别的技术来应对它. 可以在这方面做一定研究.

5. 标签不可信

也称为噪音标签.

  • 在二分类问题中, 标签不可信导致正/负类标错, 给训练分类器带来很大困难.
  • 在回归问题中, 标签不可信更难于检测.

应对标签不可信有几种方案:

  • outlier removal 去噪, 去除异常点. 但这个比较有风险, 因为你以为的噪音, 有可能是珍贵的样本.
  • 修改损失函数. Q 姐正在投的一篇论文做这件事, 所以暂时不能公布细节.

6. 相关性并非因果

引用一个经典例子: 一个城市里的医院多, 所以偷自行车的人也多. 从相关性上来说, 好像确实如此. 但从因果来说, 一个城市的人口多, 医院就多, 小偷也多. 所以, 人口多才是根本的原因. 机器学习很多时候并不能进行这样的推理, 就导致了笑话.

7. 条件与结论之间的关联不够

好吧, 现在终于到了今天我想强调的内容.
对于很多甲方而言, 给了你数据, 你就要做出良好的效果. 但这些数据与预测的目标之间并没有足够的关联, 怎么也做不出来. 实际上, 在机器学习中, 条件与结论之间的关联有一些工作, 见 推荐系统: 问题、算法与研究思路: 中的 “2.4 推荐系统的魔法边界”.

  • 在分类问题上, 理论上最低的误差被称为贝叶斯误差.
  • 在推荐系统中, 理论上的最低误差被称为魔法边界.

遇到实际数据后, 我们不能够一开始就对结果有太多的期望, 而应该:

  1. 用已有算法试下效果;
  2. 分析各个条件与结论之间的相关性;
  3. 分析相应的误差下界, 这个需要一定的理论, 博士生们可以试下;
  4. 根据获得的实验观察, 与甲方沟通, 看是否能获得更有用的数据.

未完待续

猜你喜欢

转载自blog.csdn.net/minfanphd/article/details/123888966