斯坦福2014机器学习笔记八----机器学习系统的设计

今天的这部分内容比较简单,没有复杂的数学公式,学了这一周多的理论,接下来的几天准备python实战啦!先来看今天的部分吧。

 

一、纲要

  初学者设计机器学习系统的建议

  误差分析

  偏斜类的定义及误差度量

二、内容详述

  1、初学者设计机器学习系统的建议

  在部分内容中,Andrew Ng老师给出的建议是:初学者在设计机器学习系统时,并不是开始就建立一个非常复杂的系统,使用非常复杂的特征向量,而应该设计一个简单的系统并且尽可能快的实现功能,然后再去画出学习曲线、计算误差,判断你的算法导致了系统处在什么样的状态下,是高方差还是高偏差问题。在这样的分析之后,你就能决定是需要更多的数据集还是增加特征向量或者其他解决方法。

  2、误差分析

  对误差分析的实施一般都是在交叉验证集而不是测试集。就是说我们对交叉验证集的数据进行代入,并对结果进行分析,看哪些数据预测的结果跟真实结果有误差,再对这些数据进行分析,并进一步修改我们的算法。

  3、偏斜类的定义及误差度量

  类偏斜情况表现为我们的训练集中有非常多的同一种类的实例,只有很少或没有其他类的实例。以肿瘤这个例子来说明,例如我们希望用算法来预测癌症是否是恶性的,在我们的训练集中,只有0.5%的实例是恶性肿瘤。假设我们编写一个非学习而来的算法,在所有情况下都预测肿瘤是良性的,那么误差只有0.5%。然而我们通过训练而得到的神经网络算法却有1%的误差。这时,误差的大小是不能视为评判算法效果的依据的。

  所以这里又提出了查准率跟召回率的概念。还是用肿瘤的例子来帮助我们理解,查准率就是在我们预测患了肿瘤的人中有多少人是确实患了肿瘤的。召回率是在实际患了肿瘤的人中我们预测正确的比例。对于分类问题,若hθ(x)>0.8,则y=1,hθ(x)<0.8,则y=0这种情况下,会有较高的查准率和较低的召回率。因为当我们认为一个人患肿瘤的概率大于80%时,我们才认为他患肿瘤,所以我们预测的人中确实患肿瘤的人就会相对0.5这个阀值而言多,而召回率呢,当阀值选择0.8时,我们很可能会漏掉一些患了肿瘤的人,所以召回率就较低了。而当阀值选择较小时,情况正相反。

  但是我们需要考虑的是我们设计的系统需要着重考虑的是查准率还是召回率,我们希望的是查准率和召回率都适中而不是一个极高另一个极低。我们这里用一个式子来做衡量:

P表示查准率,R表示召回率。

 

posted @ 2017-10-26 23:50  嗜血的草  阅读(272)  评论(0编辑  收藏  举报