原文:
towardsdatascience.com/how-to-reduce-class-imbalance-bias-in-ai-explained-with-a-riddle-d85690e0ee48
难题
在国际妇女节期间,Mindspace 邀请了 22 人解决以下难题,并记录了他们的回答:
一个父亲即将带他的儿子去参加一个面试,申请在一家大型股票交易公司工作。儿子非常紧张……在开车去公司的路上,他们几乎没说话……就在到达公司停车场的时候,儿子接到一个电话。他抬头看着父亲,父亲说:“去吧,接起来。”打电话的人是股票交易公司的首席执行官,他说:“祝你好运,儿子……你行的。”男孩挂断电话,再次看着父亲,父亲仍然坐在他旁边的车里。
这怎么可能呢?不,真的……花一分钟想想。好吧!最终答案?˙ɹǝɥʇoɯ s,uos ǝɥʇ sı OƎƆ ǝɥ⊥
cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F4kFC7669quE%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D4kFC7669quE&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F4kFC7669quE%2Fhqdefault.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=youtube
即使这是一个直接的答案,大多数人也无法解决它。人类观察到大多数首席执行官都是男性,尤其是在历史上以男性为主导的股票交易公司,这种经验产生了将首席执行官与男性联系在一起的人类偏见。
机器学习中的偏见
那么,这与机器学习有什么关系呢?嗯,就像人类从经验中发展出偏见一样,机器学习模型从训练数据中学习偏见,也就是模型的“经验”。
类别不平衡偏见
以垃圾邮件检测的训练数据集为例。通常,这样的数据集是不平衡的,意味着不同类别可用的数据比例不均衡——通常是 10%的垃圾邮件和 90%的非垃圾邮件(非垃圾邮件)。尽管这准确地反映了现实(除非你报名参加了太多的忠诚度计划 😄),但模型学习到,如果它只是预测所有电子邮件都不是垃圾邮件,那么它将有 90%的时间是正确的——因此准确率达到 90%,就像人类的大脑学习到假设首席执行官是男性有 90%的成功率一样。
评估偏见
这个问题的另一个方面是评估偏差,它发生在模型迭代和评估过程中。模型使用训练数据进行优化,但它的质量通常与某些基准进行比较。当这些基准不适合模型的使用方式时,可能会出现偏差。在我们的例子中,我们使用准确率作为唯一的性能评估基准,这可能导致模型扭曲,因为它可能无法真正反映模型准确分类少数类的能力。
解决方案
我们如何对抗这些偏差并构建一个公平且真正表现良好的模型?让我们一步一步来!
类不平衡中的公平性
为了解决类不平衡偏差,有 2 种策略。
你可以做的第一件事是下采样多数类,在我们的例子中是垃圾邮件以外的邮件。下采样简单来说就是删除多数类的样本.下采样的风险是会丢弃大量数据,这可能会造成问题,因为数据的丢失可能会使得少数类和多数类实例之间的决策边界更难学习,从而导致潜在的分类性能降低。
第二,我们可以过采样少数类——垃圾邮件。过采样意味着复制少数类的样本.一个需要注意的问题是,过采样可能会增加过拟合的可能性,因为它会制作少数类例子的精确副本。
与仅使用两种方法中的一种相比,这有欠拟合或过拟合的风险,结合两种采样方法可以导致整体性能的提高。理论是,通过实施对少数类的适度过采样,这可以改善对少数类训练数据的偏差,同时在对多数类应用适度下采样以减少对多数类实例的偏差,我们可以实现某种平衡,从而产生一个整体表现更好的模型。
模型评估中的公平性
为了公平地评估模型性能,我们需要查看多个性能指标。除了准确率,正如我们刚刚学到的,它可能是误导性的,还有精确度、召回率和 F1 分数。所有这些指标都可以从混淆矩阵中计算得出。
混淆矩阵将模型的预测分为真正阳性、真正阴性、假阳性和假阴性预测。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/70b3388c78b555f53a842e822885c43e.png
混淆矩阵。
真阳性 (TP):模型正确地预测了正类。
真阴性 (TN):模型正确地预测了负类。
假阳性 (FP):模型错误地预测了正类。
假阴性 (FN):模型错误地预测了负类。
让我们比较从混淆矩阵计算得出的评估指标,以确定每个指标的最佳用途。
准确率是正确预测的百分比,计算公式为 [(0+90)/(0+90+0+10)]*100 = 90%。由于模型将所有电子邮件预测为非垃圾邮件,并且 90%的样本实际上不是垃圾邮件,我们得到了 90%的准确率。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b86c11c4a8b23154073f450595a15d7b.png
准确率的公式。
精确率衡量的是实际正确的正预测的比例。它可以被视为仅针对垃圾邮件预测的准确率。在我们的例子中,精确率为 [0/(0+0)]*100 = 0%。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f3dc971fcc879d049b76a80c76d377ae.png
精确率的公式。
召回率,也称为灵敏度或真正例率,是指所有实际正样本中被预测为真正例的样本百分比。另一种思考方式是,它是模型检测到的垃圾邮件占所有垃圾邮件的百分比。在我们的例子中,召回率为 [0/(0+10)]*100 = 0%。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/2821c1c1b4b9e27d7a64af64d1331d6c.png
召回率的公式。
F1 分数是精确率和召回率的调和平均数。它将精确率和召回率整合为一个单一指标。由于召回率和精确率都是零,因此 F1 分数也是零。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/399491bdebc0cc68af7117b7d19fdbe3.png
F1 分数的公式。
尽管准确率很高,但所有其他指标都非常低,这应该是一个明显的红旗。
结论
就像人类一样,AI 模型容易从训练数据中学习到偏差——这是模型的生活经验的等价物。确保这一点不发生是我们的责任。凭借本文的新知识,你现在能够检测和对抗类别不平衡偏差。恭喜!你已经成为了一名数据科学家!哇哦!