吴恩达机器学习笔记(9)——机器学习系统设计

一、机器学习系统的设计

1、确定执行的优先级
我们以垃圾邮件分类为例,途径可以有:

  • 收集大量的数据(例如,honeypot)
  • 选取更多复杂的特征量(将邮件标题,邮件单词也考虑进来)
  • 开发更为复杂的算法来处理输入(例如一些故意的拼写错误,m1ss, hell0等)

但是我们很难说,对于一个具体的问题,哪种方法可能会有效果。

2、误差分析
对一个具体的机器学习问题,由于无法简单的确定优先级,所以推荐的做法是:

  • 快速实现一个简单的算法,并使用交叉验证方法去检验它
  • 画出相应的学习曲线,决定是否加入更多的特征或者数据
  • 误差分析:人工找出错误分类的规律。

另外!设定一个“误差度量值”是特别重要的。算法可以返回一个数值评价指标,来估计算法执行的效果。

3、不对称性分类的误差评估(Skewed Classes)
有些时候,我们要分类的东西,其数量比可能极不对称,这样的情况我们称为偏斜类(Skewed Classes)。例如,在癌症诊断时,医学上来说可能有0.5%的样本有癌症。而现在,假设我们训练出了一个算法,其误差有1%,如果我们改变这个算法,把模型简单地设置为“全都没有癌症”,其误差降低到了0.5%,但是很显然这样的做法是不可取的。

那么对于这样的情况,一般的误差度量值并不能准确衡量算法的效果。由此我们引出了两个参数:查准率和召回率(Precision/Recall)

对于一个癌症分类问题,我们假设y=1表示患有癌症,即rare class:

  • 预测为: 1, 实际为: 1 — True positive
  • 预测为: 0, 实际为: 0 — True negative
  • 预测为: 0, 实际为, 1 — False negative
  • 预测为: 1, 实际为: 0 — False positive

那么,查准率precision为:
在这里插入图片描述
召回率Recall为:
在这里插入图片描述
这两个值都是越高越好。

4、查准率和召回率的权衡
假如我们想让患者对我们发出的判定更信任,那么我们可以将分类的阈值提高(毕竟被判定为癌症后不论生理还是心理都要承受巨大的痛苦):

  • 当​hθ(x)≥0.7​时诊断为癌症
  • 当​hθ(x)<0.7​时不认为是癌症
    这样的话,被判定为癌症的患者有高于70%的概率真的患上了癌症。

在这个算法下,我们有更高的准确率,但是更低的召回率。这意味着,我们可能会漏掉更多实际上有癌症的患者。

那么如果我们换一个方法,降低阈值:

  • 当​hθ(x)≥0.3​时诊断为癌症
  • 当​hθ(x)<0.3​时不认为是癌症

这是一个比较保守的算法,在这个算法下,我们有更高的召回率,但是更低的准确率。这意味着我们尽可能不漏掉患者,但是也让许多本来健康的人承受了痛苦。

如何选取一个评估值,去得到较高的查准率同时较高的召回率呢。这里使用一个F指标或F1指标(F Score or F1 score):
在这里插入图片描述
P,R分别为查准率和召回率的均值。




二、机器学习数据

我们应该训练多少数据?

在某些情况下,如果给出足够的数据,“劣等算法”可以优于具有较少数据的高级算法。

我们必须让我们的特征量来获得足够的数据量。一个较为有效的思路是:给定输入x,人类专家能够自信地预测y吗?

使用大数据的理由:如果我们有一个低偏差的算法(拥有许多特征量或隐藏单元的复杂函数),那么使用更大的训练集,将减少过拟合的可能性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值