机器学习中的8种常见疏忽以及对应的认知偏差

目录

1 采样偏差

2 引入无关的特征

3 数据泄漏

4 错误的补全缺少的数据项

5 忽略对数据进行正则化

6 忽略离群点

7 忽略特征间的多重共线性

8 选择了错误的评价指标


随着机器学习工具的“傻瓜化”,越来越多的人在标准数据集上训练出了效果还不错的分类器,但这并不意味着到了真实的应用场景下,可以从头到尾做完一个项目,真实的环境中会出现数据太小,数据的特征不明晰,以及大量的缺失值等很多在标准数据集下预先不到的问题。针对具体的项目,需要了解行业的背景知识,和本领域的专家当面聊,从而有针对性的做出调整。但总有一些共通的要避免的坑,而这些坑则和我们个人的认知偏差也是有对应关系的。(本文主要针对监督学习)

1 采样偏差

要做训练,先要有训练数据。而数据集的选择中,如果取样有偏,那就会导致你训练出的模型到了真实的环境中无法泛化。比如你的观测仪器会不会本身没有校准,你判定是否为合适样本的规则是否会带来某类数据无法被采用。你可以通过检查你数据的分布,是否符合预期即实际情况,来判定是否采样有偏。但做项目之前,首先要对什么是理想的数据集要有一个清晰准确全面的定义,不然即使你以为你是随机的选取数据,你也无法避免采样偏差。

采样偏差来自于我们大脑与生俱来的选择性偏差(Selection Bias),比如你会表现的比实际情况展示的更加乐观,你会忽略那些和你观点不一致的证据等。在日常生活中,你无法预先设定什么是理想的数据集,因此要维护Ta发声的权利。

2 引入无关的特征

特征并非是越多越好,在训练数据不足的时候,引入过多无关的特征,只会导致模型过拟合。你可以根据实际问题,选择你认为相关的特征;也可以使用特征选择,选取那些对模型预测贡献度大的特征;还可以使用PCA进行数据降维,使用降维后的数据做为特征。在日常生活中,当你过分关注细节,而缺少大局观时,你就被无关的特征干扰了;自闭症可以看成是一种极端情况,大脑选取了过多的细节,最终导致其无法做出有用的预测。而面对决策时的拖延和犹豫不决,也是大脑中了收集更多无关特征的毒。而特征选择中的方法,也可以借用到生活中,比如你选择是否接受一个工作时,可以列出这项工作的优缺点,再进行比较,但在此之前,你需要先筛选一下你列出的优缺点是否对你的成长与幸福有关系,然后去掉那些关系不大的项。

3 数据泄漏

如果你在预测是时候,选取的特征包含了待预测标签的变种,例如你的目的是预测一个人是否感冒,然后你选取的特征中包含Ta是否正在吃感冒药,那你的预测模型结果会出乎意料的好,但这样的模型在实际中是没用的。在特征选择时,要避免那些能够直接导出待预测标签的特征。现实生活中的数据泄露对应的是因果倒置。

4 错误的补全缺少的数据项

当数据项存在缺失时,常见的方式是用平均值去补齐,或者填入某一个和已有数据相近的随机值。但如果出现数据项缺失的原因并非是随机出现的,这样做就会带来问题。例如如果在数据的持续记录过程中,有些参与者会退出实验(比如医疗数据中患者死亡),从而造成数据项的缺失。这时就不应该使用缺失值补齐或数据插值。而应该选取那些能够包容缺失值的算法。或者将对包含缺失的及不包含缺失的数据分别训练一个分类器。日常生活中,当我们面对缺失的数据时,想当然的补上一个我们最常看见的值,这样大多数还不如补上平均值。

5 忽略对数据进行正则化

有些模型,例如KNN或支持向量机,对于极端的数据点十分敏感,如果使用原始数据来处理,那么模型关注的就只是那些包含极端大值的特征,但这些特征并不是对预测最有效的,在真实情况下,极端的值不一定会出现,从而影响模型的泛化能力。为此要将数据进行正则化,使其具有相同的方差和均值。日常生活里,我们也容易被极端值迷惑,比如飞机明明是最安全的交通方式,但由于飞机失事后的影响很大,导致人们高估的飞行的危险,因此你要做的是将全部数据拿出来,统一来看,而不是只关注一个数据点。

6 忽略离群点

在清洗数据时,你会发现有极少数数据点很反常,这时你会想将这些离群点拿掉,应该不会有多少影响。这时你要注意的是分析数据点离群的原因,是由于测量仪器的bug,导致了出现了明显不可能出现的情况,还是这些数据就可能会有一些离群点。如果是前者,那离群点应该去掉,但如果是后者,那在训练数据集中去掉离群点,训练出的模型到了包含离群点的真实数据中,还是会难以泛化的。不同的模型对于离群点的容忍程度也是不同的,adaBoost会对离群点给予超高的权重,而决策树对是否包含离群点则不那么在乎,因此当你无法确定为何会出现离群点时,要选择那些对离群点更容忍的分类器。日常生活中,我们总会遇到那些特立独群的人,听到那些离经叛道的观点,这时我们该不该选择性的忽略,需要你来判断这个离群点到底是因何而生,完全的包容或排斥非主流的观点,都不是应选择的道路,你要做的除了甄别异想天开的背后是否有证据支持,还要让自己的价值观不那么容易被极端观点说左右。

7 忽略特征间的多重共线性

如果训练数据中的特征存在多重共线性,例如特征A和特征B与C相关,特征B又与特征C,D和E相关,那么一个值的细微变化,就会导致众多特征的变化,从而使得训练数据中的由测量不准确带来误差被指数级的放大,从而使得模型变得对误差敏感,从而影响泛化能力。为此要检查训练数据的特征间是否俩俩存在着相关性,如果存在严重的多重共线性,要去除那些冗余的特征,或者将相关的特征组合起来,作为一个特征来分类。日常生活中的多重共线性是人群中的人云亦云,你以为你是听从多数的意见,但如果你听到的信息追诉起来是来自一个人,那这个信息就不应该被当成是群体智慧。

8 选择了错误的评价指标

对于分类器,评价的指标有很多,常见的例如查全(recall),查准(precision)已经ROC,F1等。但对于具体的应用场景,应该选择不同的评价指标,有时假阳性是不可容忍的,有时则是一定要保证假阴性足够的低。如果你没有选择适合应用场景的评价指标,训练好的模型也会由于缺少优化目标,而无法实用化。而日常生活中,在不同的阶段,就该有不同的奋斗目标,不然你将无法确定自己是否成功。

总结一下,本文总结了8种监督学习者的常见疏忽及解决方法,针对每种,引申了其在日常生活中对应的认知偏差,供读者自查自勉。这8种疏忽分别是:

1 采样偏差

2 引入无关的特征

3 数据泄漏

4 错误的补全缺少的数据项

5 忽略对数据进行正则化

6 忽略离群点

7 忽略特征间的多重共线性

8 选择了错误的评价指标

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值