上一章:第2章 项目开始前
文章目录
-
- [3.1 关于数据的问题](#3.1 关于数据的问题)
-
- [3.1.1 数据是否可获得](#3.1.1 数据是否可获得)
- [3.1.2 数据是否相当大](#3.1.2 数据是否相当大)
- [3.1.3 数据是否可用](#3.1.3 数据是否可用)
- [3.1.4 数据是否可理解](#3.1.4 数据是否可理解)
- [3.1.5 数据是否可靠](#3.1.5 数据是否可靠)
- [3.2 数据的常见问题](#3.2 数据的常见问题)
-
- [3.2.1 高成本](#3.2.1 高成本)
- [3.2.2 质量差](#3.2.2 质量差)
- [3.2.3 噪声(noise)](#3.2.3 噪声(noise))
- [3.2.4 偏差(bias)](#3.2.4 偏差(bias))
- [3.2.5 预测能力低(low predictive power)](#3.2.5 预测能力低(low predictive power))
- [3.2.6 过时的样本](#3.2.6 过时的样本)
- [3.2.7 离群值](#3.2.7 离群值)
- [3.2.8 数据泄露/目标泄漏](#3.2.8 数据泄露/目标泄漏)
3.1 关于数据的问题
3.1.1 数据是否可获得
1、首先考虑数据是否存在?
2、若存在,考虑是否可获得:物理上、合同上、道德上、成本上
3.1.2 数据是否相当大
判断是否收集了足够数据的一个实用的方法:绘制学习曲线(learningcurve)
,具体操作为:不同数量训练样本的学习算法会对应不同的训练得分和验证得分,分别将它们绘制出来。
通过观察学习曲线,会发现模型在达到一定数量的训练样本后,表现趋于平缓。在达到这个训练样本数量后,额外增加样本而受益却递减。
如果学习算法的表现趋于平缓,那么有三种情况:
- 收集更多数据对训练更好的模型没有帮助
- 包含信息的特征不足以建立表现更好的模型
- 选择的学习算法无法利用已有数据训练出足够复杂的模型
3.1.3 数据是否可用
(1)数据质量
信息错误
(2)数据集是否规整
用于机器学习的数据集必须是规整的
(3)是否有缺失值(missing value)
使用数据填补(data imputation)技术填补缺失值
(4)神奇数字(magic number)
人们用9999或-1等特殊数字标记的缺失值,需要通过使用适当的数据填补技术替换这些神器数字
(5)重复(duplicate)
重复数据通常会被删除,除非是故意用来解决不平衡问题(imbalanced problem)
(6)数据过期(expired)
如需要训练一个识别打印机异常行为的模型,却使用上一代打印机的测量结果,将使用过期数据训练出来的模型部署到新一代打印机,就可能会的表现的很差。
(7)数据不完整(incomplete)或现象代表性不足(unrepresentative)
如自动驾驶汽车系统的行人数据集,如果只有工程师冒充行人,会导致大多数情况下只采集到年轻男性,而儿童、女性和老人的代表性不足或完全没有。
3.1.4 数据是否可理解
防止数据泄露(data leakage)/目标泄露(target leakage)
如预测房屋交易价格,如果使用房子的属性(卧室数量、位置、建造年份等)训练模型,发现测试集中的表现几乎完美,生产部署后却大多数时候错误。
仔细检查发现训练数据中包含了房地产经纪人的佣金,因为佣金取决于售价,模型很容易学会了将这个属性完美地转换成房价。
3.1.5 数据是否可靠
(1)收集程序是否可靠
(2)是否存在标签延迟(delayed)或间接(indirect)特性影响
- 标签延迟
以客户流失预测(churn prediction)问题为例。
有一个描述客户的特征向量,用来预测客户是否会在未来6个月后离开。特征向量代表对用户现在的了解,但标签是在未来指定。在现在和未来之间,很多事件会影响客户的去留,因此延迟的标签会使数据可靠性降低。
- 间接特性
以预测网站访问者对某网页是否感兴趣为例。
数据集中的"感兴趣"/"不感兴趣"标签,反映了特定用户是否对该网页感兴趣。例如用户按下了"喜欢"按钮,这是直接的兴趣指标。但如果用户只点击了链接,这是间接指标,因为有可能存在用户误点的情况。所以如果标签是间接的,则可能导致数据不太可靠。
(3)反馈链路(feedback loop)
3.2 数据的常见问题
3.2.1 高成本
3.2.2 质量差
数据质量有两个部分:原始数据质量、标签质量
原始数据的常见问题:噪声、偏差、预测能力低、样本过时、离群值和泄露
3.2.3 噪声(noise)
数据中的噪声是对样本的损坏。
如图像模糊或不完整,音频背景噪声,民意调查缺失年龄、性别属性,等等。
3.2.4 偏差(bias)
数据的偏差是指,与数据所代表的现象不一致。
偏差类型:
(1)选择偏差(selection bias)
(2)自选偏差(self-selection bias)
如训练一个预测成功企业家的模型。
先询问企业家是否成功,然后选取宣称自己成功的企业家那里获得数据。
问题是,真正成功的企业家没时间回答你的问题,而自称成功的人很可能不是真的成功。
(3)遗漏变量偏差(omitted variable bias)
(4)赞助偏差(sponsorship bias)或资助偏差(funding bias)
(5)采样偏差(sampling bias)/分布偏差(distribution shift)
用于训练的样本分布不能反映模型在生产中收到的输入的分布
(6)偏见/刻板印象偏差(prejudice/stereotype bias)
(7)系统性值失真(systematic value distortion)
(8)实验者偏差(experimenter bias)
(9)贴标偏差(labeling bias)
避免偏差的方法
(1)选择偏差
可以通过系统地质疑选择特定数据源的原因来避免。
(2)自选偏差
无法完全消除。
预先选择回答者以减少自选偏差。
(3)遗漏变量偏差
很难完全避免。
试着用用代理变量代替被省略的变量。
如要训练一个预测二手车价格的模型。若无法得到车龄,就用当前车主拥有该车的时间来代替。
(4)赞助偏差
通过仔细调查数据来源,特别是来源所有者提供数据的动机,可以减少赞助偏差。
(5)采样偏差
通过研究生产中数据的各种属性的真实比例,然后在训练数据中保持类似的比例进行采样,来避免采样偏差。
(6)偏见/刻板印象偏差
通过将学习算法暴露在更均匀的样本分布中,减少偏见/刻板印象偏差。
(7)系统性值失真偏差
通过多个设备测量,或者聘请经过训练的人员来比较测量,或观察设备的输出来缓解。
(8)实验者偏差
通过让多人验证调查中提出的问题来避免。
(9)贴标偏差
3.2.5 预测能力低(low predictive power)
3.2.6 过时的样本
在实际场景中,由于概念漂移(concept drift),模型开始出错。概念漂移是特征和标签之间的统计关系发生了根本性的变化。
如预测用户是否喜欢网站上的某些内容。随着时间的推移,用户的喜好可能会改变。过去的样本不再反映这些用户的偏好,并开始伤害模型的表现。
3.2.7 离群值
3.2.8 数据泄露/目标泄漏
监督学习中的数据泄露是指无意中引入了不该提供的目标信息,这就是所谓的"污染"。
后续待更新
今天看到第三章,发现这本书的翻译不是特别好,多是字面直译过来,甚至有的地方不够通顺。 要求翻译者精通机器学习显然不现实,加上这本书基本都是理论内容,所以后续考虑粗读一些。
以后我会尽量选择清北等出版社的图书,质量应该会更高。
请在关闭网页之前,利用2秒钟
的时间,在脑海中迅速回顾一遍本部分的框架及要点
!