[深度之眼机器学习训练营第四期]机器学习系统设计

工作流程

这节课以垃圾邮件分类为例,介绍了机器学习系统的整个设计和实现流程。给定电子邮件数据集,我们可以为每个邮件构造一个向量。每个向量包含10000到50000个元素,每个元素代表一个单词,这些元素都是数据集中出现频率最高的单词。如果在电子邮件中找到一个单词,则将箱梁中相应的元素设为1,否则设为0。一旦我们准备好所有的向量,就可以进行模型训练,然后使用它来判断电子邮件是否为垃圾邮件。

为了提高分类准确率,一般有以下方法:

  • 收集大量数据
  • 设计复杂的特征
  • 使用不同的算法处理数据

错误分析

面对一个机器学习问题,推荐的处理流程是:

  • 实现一个简单的机器学习算法,并在验证集上进行测试
  • 画出学习曲线,观察增大数据量、添加特征等操作是否可以提升模型在验证集上的性能
  • 检查验证集中预测错误的实例,并尝试找出导致大多数错误的原因

处理非均衡分布的数据集

对于很多现实中的问题,样本标签的分布可能是不均衡的。以癌症预测为例,患癌症的人可能占数据集中的1%,不患癌症的人可能有99%。如果我们的分类器将所有的人都预测为不患癌症,那么这个分类器的准确率就是99%,但是这显然不是一个好的分类器。为了处理这种不均衡分类问题,我们引入如下所示的混淆矩阵:

Confusion MatrixActual Values
10
Predict Values1True PositiveFalse Positive
0False NegativeTrue Negative

混淆矩阵中,True Positive表示真正例,也就是实际为正例且被算法预测为正例的样本;True Negative表示真负例,即实际为负例且被算法预测为负例的样本;False Positive表示假正例,即实际为负例而被算法预测为正例的样本;False Negative表示假正例,即实际为正例而被算法预测为负例的样本。
有了混淆矩阵,我们就可以计算模型的精度(Precision)和召回率(Recall)了:
Precision = True Positive # Predict Positive = True Positive True Positive + False Positive \text{Precision} = \frac{\text{True Positive}}{\text{\# Predict Positive}} = \frac{\text{True Positive}}{\text{True Positive}+\text{False Positive}} Precision=# Predict PositiveTrue Positive=True Positive+False PositiveTrue Positive

Recall = True Positive # Actual Positive = True Positive True Positive + False Negative \text{Recall} = \frac{\text{True Positive}}{\text{\# Actual Positive}} = \frac{\text{True Positive}}{\text{True Positive}+\text{False Negative}} Recall=# Actual PositiveTrue Positive=True Positive+False NegativeTrue Positive
有了精度和召回率,我们就可以比较好地评价模型的性能了。回想一下癌症分类的例子,尽管将所有样本预测为不患癌症可以获得很高的精度,但是模型的召回率为0。一般而言,一个好的模型,它的精度和召回率都很高。因此,我们可以将精度和召回率合在一起考虑:
F 1  Score = 2 × Precision × Recall Precision + Recall \text{F}_1\text{ Score} =2\times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} F1 Score=2×Precision+RecallPrecision×Recall

最后,根据混淆矩阵给出准确率的计算方法:

Accuracy = True Positive + True Negative # Total Examples = True Positive + True Positive True Positive + False Positive + False Negative + True Neagtive \text{Accuracy} = \frac{\text{True Positive} + \text{True Negative}}{\text{\# Total Examples}} = \frac{\text{True Positive} + \text{True Positive}}{\text{True Positive}+\text{False Positive}+\text{False Negative}+\text{True Neagtive}} Accuracy=# Total ExamplesTrue Positive+True Negative=True Positive+False Positive+False Negative+True NeagtiveTrue Positive+True Positive

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值