[背景音乐] 翻译: RyukaSuu |审阅: 19waa Coursera Global Translator Community
前面我们讨论了分类器的准确率和误差率
但误差也有若干种不同的类型
这类误差被称为"错误"
发现分类器可能会犯的错误 是一件非常需要重视的事
我们用"混淆矩阵"来研究这些错误
让我们来看看混淆矩阵吧
我们一直在讨论 真标签 和 分类器预测结果之间的关系
分类器预测结果 也叫做 预测标签
假如说 真标签是正面情绪 我们也预测那个句子情绪为正
这种情况下我们称之为 真正类 因为我们预测对了
类似的是 如果真标签为负面情绪
我们也预测了负面情绪 这种情况我们称之为 真负类
这种情况也很好 因为我们又预测对了
我们可能犯两种错误
比如说 如果真标签为正面情绪
但我们预测为负 这就被称为 假负面
我们以为它是负面 但这是假的 因为它是正面的
类似地 如果真标签为负面 但我们预测的为正面
我们就称之为 假正类
因为它是负面 却被我们预测为正面
假正面 和 假负面 对你的分类器的实际影响
可能是不一样的
让我们来看几个实际中的例子
我们来看看两个应用
看看假正类和假负类的不同代价
比如说 在思考垃圾邮件的过滤器的时候
在这里假负类是指这封信其实是个垃圾邮件 但被我们归类进了邮件列表
那么我的收件箱里就又多了一封垃圾邮件 这有点烦人
有点令人不爽 但还不算太糟
但是 再来看看假正类
那是指一封正常邮件被标记成了垃圾邮件 扔进了垃圾邮件箱
我压根看都没看到它 就永远失去了它
这个错误代价就高了
我们再看看另一个例子
医学诊断的应用
医学诊断中的假负类是什么呢?
那是指我明明有某种病 但是没诊断出来
所以分类器说结果为阴性
我没病
这种情况下 我也就没去治
这可是非常糟糕的情况
但是假正类也可能很糟糕
那就是 我被诊断患有某种疾病 但其实我根本就没有
我可能需要服用一些虎狼之药
忍受各种副作用 然而我压根没病
所以说医疗诊断中 假正类和假负类
到底哪个更糟 真的不一定说得清楚
在医学处理中 这很依赖于治疗成本
副作用多少 和 这病到底会有多糟
这里真标签和预测标签 以及假正类 假负类之间的关系
就被称做混淆矩阵
就是我们刚刚讨论的内容
我们再举个有具体数据的例子 假设我们有100个测试样本
其中60个的真标签为正面 40个为负面
有一点点类别不平衡但是差的不很多
在这60个真标签为正面的样本中 我们预测对了50个
而在这40个真标签为负面的样本中
我们预测对了35个
现在来看看我们都知道了些什么
所以说在这100个样本中 我预测对了85个
这是我的正确率
正确率是85/100 也就是0.85
再让我们来看看真正类和真负类
噢不 看看假正类和假负类
在真标签为正面的样本中 如果我预测为正面 那就是假负类
这种情况有10次 这就是我的假负面数值
另一方面 在真标签为负面的样本中 我预测了5个为正面 这就是假正类数值
所以这个例子中 我的准确率是85%
我的假负类率 高于假正类率
当然 假正面 假负面 这些词
只适用于只有两个类别的分类问题
但理想情况下的混淆矩阵 也能处理我们有多种类别的情况
我们来看个简单例子
关于医疗诊断的例子 假如说我们有100个测试样本
有3种类别 健康 普通感冒 流感
在100个测试样本中 70个人的真实状态是健康的
20个人有普通感冒 10个人是流感
假设我们预测对了 60个健康的人
12个普通感冒的人
和8个流感的人
所以总的来说 我们的准确预测数是80
就是 60+12+8 准确率是80/100
也就是0.8 或说80%
但我们也可以讨论错误的预测
对健康人数来说 我们预测错了10个
我们可以说 我们更容易把健康的人 和得普通感冒的人搞混
而更不容易把健康的人和得流感的人搞混 因为流感是一种更加复杂的疾病
所以在我们犯的这10个错误中
有8个健康的人被诊断成了普通感冒 2个被诊断成了流感
普通感冒既能和健康互相混淆 也能和流感混淆
我们诊断错了8个得普通感冒的人
其中一半被我们当成了健康人
另一半被我们诊断为患了流感
对于那两个得了流感被诊断错的人
我们可以假设一般情况下我们不会 把得了流感的人诊断成健康的人
但这两人被诊断成了普通感冒 而不是流感
这就是一个超过两种分类结果的混淆矩阵的例子
我们可以从中了解我们犯的各种错误 以及它们代表的意义到底是什么
这是分类问题中一个非常重要的部分 翻译：Jiajuan Liu ｜审阅：PhoenixLIU Coursera Global Translator Community