机器学习中的数据处理与聚类分析
1. 数据组件与异常值
在数据处理中,有时候使用比原始特征数量更少的组件重建数据集是有益的。例如,在某些情况下,考虑 13 个组件中的 6 个时,累积数据集能超过原始数据集的 85%;考虑 9 个组件时,能达到 95%。通过减少内存使用和计算时间,以及控制估计的方差,这样做有助于保证机器学习过程结果的稳定性。
在探索数据时,可能会遇到异常值。异常值也被称为离群点,当你确定它们是由于某些错误产生时,就属于异常值;如果只是因为你第一次见到这样的值,但它们是合法信息,那就是新奇值。异常值可能是由于具有独特且不寻常的值组合,或者与不可能或极不可能的值相关联,又或者是许多值的微妙组合使示例变得罕见。
异常值在从数据中学习时是个问题。因为机器学习算法通过观察示例并从中提取规则和模式来学习,一个异常的案例可能难以理解,会迫使算法重新考虑它到目前为止所学的内容。许多成本函数基于观察值和期望值之间的差异工作,一个远超出预期范围的值会导致与期望值有巨大偏差,使学习过程突然适应异常值,而低估正常值。
不过,并非所有机器学习算法都对异常值敏感。在算法学习时,可以采取一些预防措施,比如缓慢更新算法学习的参数,使其不会立即将遇到的每个值视为理所当然,而是只考虑最常遇到的值。在学习训练开始之前,采用良好的数据审核方式处理意外情况也是一个好做法。
2. 单变量策略检测异常值
明显的异常值会扭曲数据分布,严重影响描述性统计。存在异常值时,均值通常会有很大偏差,你会注意到均值和中位数之间有很大差异。此外,异常值会影响特征之间的关系,可能削弱或加强两个特征之间的关联,给学习算法带来更多困惑。还有一些微妙的异常值,它们不会明