吴恩达机器学习——第12章 机器学习系统设计

1、特征向量构建

给出一个机器学习问题,我们如何从样本中找出特征向量呢,下面以垃圾邮件的例子来进行说明。
我们把每个邮件中的每个单词都作为矩阵的一行,这样就能构建所有出现单词的矩阵向量:
X = [ 0 1 0 0 1 1 1 0 . . . ] X=\left[\begin{matrix}0\\1\\0\\0\\1\\1\\1\\0\\...\end{matrix}\right] X=01001110...
对于每个样本(邮件)来说,如果这个单词存在,则向量对应的值为1,否则为0。
基于这个思想,在训练集上找出出现频率最高的单词(一般在1w-5w之间),使用这些单词组成特征向量。

2、误差分析思想

对于一个机器学习问题,我们可以采用的机器算法、特征的组成多种多样,那究竟该选择哪一个呢?

2.1 手工验证

手工检查分类错误的样本,找到这些错误样本的特征,然后找出影响最大的特征,然后把这些特征加入到评估函数中,对算法进行改善。

机器学习算法中有一句流传很广的话:“不同学习算法,对它们造成困难的样本总是类似的”。所以可以先实现一个最简单的算法,然后通过手工验证的方式,从分类错误的样本中总结出更好的特征组合,以便于对其它算法的优化。

2.2 数值评估

手工检查的方式,不能量化,不能很好的评估特征的影响。可以引入数据评估的方式,对每种算法、特征的变更,使用数值的方式进行比较,很直观的就能对比方案的好坏。

2.3 不对称分类的误差分析

2.3.1 偏斜类问题

通过数值评估的方式可以解决一定的问题,但是遇到偏斜类的样本,就不能正确的反映算法的实际效果了。

偏斜类样本是这样的样本:正例所占比率非常小,比如0.5%。这种情况下,如果算法的错误率是1%,不能证明这个算法是个好算法。

比如使用算法:y = 0,这样预测所有样本都是负例,错误率是0.5%(因为只有5%的正例)。这种情况下,我们不能说y=0是一个好算法。

那怎么解决这个问题呢,通过查准率和召回率可以有效解决这个问题。

2.3.2 查准率 召回率

通过一个图来理解查准率、召回率。假设这是个二分类问题,所有的数据分成了4个部分,依次是:

  1. 预测值是1,实际值是1,使用 P 1 P_1 P1标识
  2. 预测值是1,实际值是0,使用 P 2 P_2 P2标识
  3. 预测值是0,实际值是0,使用 P 3 P_3 P3标识
  4. 预测值是0,实际值是1,使用 P 4 P_4 P4标识

查准率的含义是:实际为真预测也为真的占预测为真的比率,则 查 准 率 = P 1 P 1 + P 2 查准率=\frac{P_1}{P_1+P_2} =P1+P2P1

召回率的含义是:实际为真预测也为真的占实际为真的比率,则 召 回 率 = P 1 P 1 + P 4 召回率=\frac{P_1}{P_1+P_4} =P1+P4P1

下面看看通过查准率和召回率,如何解决偏斜类的问题。

假设评估函数为y=0,则 P 1 P_1 P1为0,则查准率和召回率都为0.
假设评估函数为y=1,则 P 3 = 0 , P 4 = 0 , P 1 ≈ 0 , P 2 ≈ m P_3=0,P_4=0,P_1\approx0,P_2\approx{m} P3=0,P4=0,P10P2m,则查准率接近于0,召回率为1.

所以只要这两个指标都最高,则算法就是最优的。

但是大多数情况下,这两个指标是矛盾的,需要根据业务需求进行筛选,看看业务需求是偏向于高查准率,还是高召回率。

比如癌症筛查的例子,比如医生怕患者担忧,想把握比较大情况下才告诉病人患病,这种情况下,只有超过80%的可能性的情况下,医生才会告知病人患病,这样 P 2 P_2 P2就会非常小,查准率会比较高。

相反,如果医生想让患者关注病情,提前做检查,则在30%的可能性的情况下,医生就会告诉病人患病,这样 P 1 P_1 P1会变大,则召回率会比较高。

如果对于不同的算法,可以得到不同的召回率(R)、查准率(P),那究竟该选择哪个算法呢,这里有一个公司: 2 R P P + R 2\frac{RP}{P+R} 2P+RRP

3、数据集

有句话是这么说的“并不是拥有最好算法的人能成功,而是拥有最多数据的人”。

数据越多,不一定对算法越有利(之前分析过),但是只要数据满足下面的条件,数据越多则算法越有利:

  • 特征能提供足够的信息来进行预测。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值