NTU-Coursera机器学习:Noise and Error

噪音与概率目标函数(Noise and Probalistic Target)

实际应用中的数据基本都是有干扰的:

还是用信用卡发放问题举例子:

标记错误:应该发卡的客户标记成不发卡,或者两个数据相同的客户一个发卡一个不发卡;

输入错误:用户的数据本身就有错误,例如年收入少写一个0、性别写反了什么的。

================================================================================

VC Bound怎么在有噪音的数据下工作?还记得那个从罐子里拿小球的试验不?

之前我们规定凡是 h(x)≠f(x) 的数据(小球),就把他漆成橘色,否则绿色。橘色小球在所有小球中占据的比重就是错误率。但是现在有干扰了,一条数据可能有h(x)≠f(x),但我们错误的把它漆成了绿色,或者反之。这影响了对错误率的判断。如果我们知道在单条数据上犯错的概率,对于每个x,其输出y服从如下分布:

把 P(y|X) 叫做目标分布(Target Distribution),有它可以得到 mini target function f(x)。举例说明,如果有目标分布:

错误衡量(Error Measure)

有两种错误计算方法:

  • 第一种叫0/1错误,只要【预测≠目标】则认为犯错,通常用于分类;
  • 第二种叫平方错误,它衡量【预测与目标之间的距离】,通常用于回归。

举例说明:

有三种可能的输出:1、2、3,对应的概率分别为 0.2, 0.7, 0.1。

  • 如果用0/1错误衡量,对于任一输入,输出2犯错概率最低,所以 mini target f(x) = 2;
  • 如果用平方错误衡量, 对于任一输入,输出1.9犯错概率最低,所以 mini target f(x) = 1.9。

错误加权Algorithmic Error Measure

以指纹识别为例:

目标函数识别指纹以区分合法身份与非法身份,这里的错误是0/1错误。一种是false reject叫错误拒绝,即本来合法的识别成了非法;另一种叫false accept叫错误接受,即本来非法的识别成了合法。

想象一个应用场景,一家超市通过指纹鉴别会员,如果是会员就给一定折扣。如果某个会员被错误拒绝了,他很可能因为没有享受到本该拥有的权益而愤怒并拒绝再来这家超市,而超市将失去一个稳定的客源;如果某个普通顾客被错误接受了,超市给了他一些折扣,并无太大损失,这名顾客可能因为占了小便宜而经常光顾这家超市。所以,false reject与false accept在这里有不同的cost,它们对超市造成的损失不同,所以我们需要给他们加上不同的权重,以便学习算法在选择近似函数时对错误地衡量有所偏重:

同理,CIA的绝密资料库只能向有权限的人敞开,如果通过指纹核实人员身份,false accept的代价就变得非常大,这意味着一个没有权限的人接触到了国家机密!不能忍啊,于是工程师给false accept加了一个巨大的权重,训练时如果出现false accept,这个备选函数基本是要被毙掉了。

而如果是false reject,无所谓啦,:-)。

加权分类模型(Weighted Classification)

依然是借助CIA 身份验证的例子来说明什么是weighted classification,于是它的错误计算就变成:

给这个特殊的E-in换个名字:

W上标代表weighted。

数学家们想了个办法来改造数据,以体现权重的影响:

比如false accept( 将-1识别成+1 )权重为1000,我们将训练数据中所有标记为-1的点复制1000次,如果近似函数在这些点上犯错,将会有1000倍的惩罚。这样问题就被转化为无权重问题:

并且我们已经知道Pokect算法可以解决无权重问题。

其实在应用中我们也不会真的把某些数据复制1000次,我们只需在计算Error时,将权重高的数据被拜访的概率提高1000倍即可,这与复制是等效的。不过,如果你是遍历整个测试集(不是抽样)来计算错误,就没必要修改拜访概率了,只需给相应的错误乘上它们的权重再相加并除以N即可。到现在为止,我们拓展了VC Bound,它在多元分类问题上同样成立!

Summary

关于Machine Learning更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.

时间: 2024-08-06 07:55:46

NTU-Coursera机器学习:Noise and Error的相关文章

Coursera机器学习-第六周-Advice for Applying Machine Learning

Evaluating a Learning Algorithm Desciding What to Try Next 先来看一个有正则的线性回归例子: 当在预测时,有很大的误差,该如何处理? 1.得到更多的训练样本 2.选取少量的特征 3.得到更多的特征项 4.加入特征多项式 5.减少正则项系数λ 6.增加正则项系数λ 很多人,在遇到预测结果并不理想的时候,会凭着感觉在上面的6个方案中选取一个进行,但是往往花费了大量时间却得不到改进. 于是引入了机器学习诊断,在后面会详细阐述, Evaluati

coursera机器学习

上周出差回来,开始找了一篇论文看<ScSPM>,这里有源代码,自己希望能认真看懂:毕竟这篇文章包含了dense sift特征提取+Spare coding+linear svm知识很全面,希望能看懂代码.这个过程却发现自己缺少了很多东西,他自己的sift提取方法,Sc,svm都是自己实现的:感觉看懂好难.然后周六开始实验室有“学术交流”,师兄师姐交流他们整个小论文的过程,针对梯度下降这些基本的方法,我们都没有认真的理解.发现图像和机器学习自己都没有认真的系统的学习:自己在博客上零零散散的看了很

吴恩达Coursera机器学习

涉及 Logistic 回归.正则化. 六.逻辑回归(Logistic Regression) 6.1 分类问题 6.2 假说表示 6.3 判定边界 6.4 代价函数 6.5 简化的成本函数和梯度下降 6.6 高级优化 6.7 多类别分类:一对多 七.正则化(Regularization) 7.1 过拟合的问题 7.2 代价函数 7.3 正则化线性回归 7.4 正则化的逻辑回归模型 六.逻辑回归(Logistic Regression) 6.1 分类问题 参考文档: 6 - 1 - Classi

机器学习基石第八讲:noise and error

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 机器学习基石第八讲主要介绍噪声和误差度量,笔记整理在下面. Noise and Probabilistic Target 现实中的数据很可能含有噪声(noise),例如前面的信用卡发放问题中,有的顾客符合发放标准但没有发给,或者同样情况的顾客有人发了有人没法,再或者顾客的信息不正确等等,VC bound是否在由噪声的情况下工作呢? 继续使用前面抽弹珠的例子,罐子中每一个弹珠代表一个

机器学习基石第八讲 Noise and Error

一.Noise and Probabilistic Target

coursera 机器学习课程 GraphLab环境准备

在网上看到coursera有机器学习的课程,正好再学习学习,温固一下,还有很多其他的课程也很好.收费的哟! 手机APP和网站收取的费用有差异,网站上要便宜一下,费用差的挺多的,果断在网站上支付了. 有兴趣的同学可以学一下,推荐,老师也是国外的老师,课程还是蛮精良的,不用担心听不懂,有中文字幕. 这里是coursera的网址: https://www.coursera.org/ 学习的环境用的是GraphLab,所以这里用将环境的搭建简单介绍一下: 学习的语言主要是使用python,GraphLa

Coursera 机器学习基石 第4讲 学习的可行性

这一节讲述的是机器学习的核心.根本性问题——学习的可行性.学过机器学习的我们都知道,要衡量一个机器学习算法是否具有学习能力,看的不是这个模型在已有的训练数据集上的表现如何,而是这个模型在训练数据外的数据(一般我们称为测试数据)上性能的好坏,我们把这个性能称为泛化能力(generalization ability),机器学习中,我们的目标是寻找高泛化能力的模型:有些模型虽然在训练数据集上分类效果很好,甚至正确率达到100%,但是在测试数据集上效果很差,这样的模型泛化能力很差,这种现象也叫过拟合(O

关于Noise and Error主题的一些小知识

(一)Noise会不会对VC bound产生影响? 答案是不会. 当信号中加入了Noise,其实对我们之前学过的内容不产生任何本质上的影响. 之前<机器学习真的起作用吗?>中的分析是基于:training dataset D的来源是:(x,f(x)).其中x从服从某一概率分布P. 现在noise对数据产生了什么影响?之前,f(x)是确定的.现在f(x)不确定了.因为Noise的存在会影响f(x)的值.此时y更像是服从某一概率分布.但是抽样的一瞬间,y是确定的值.我们要估计的就是抽样这一瞬间,整

Coursera机器学习-第三周-逻辑回归Logistic Regression

Classification and Representation 1. Classification Linear Regression (线性回归)考虑的是连续值([0,1]之间的数)的问题,而Logistic Regression(逻辑回归)考虑的是离散值(例如只能取0或1而不能取0到1之间的数)的问题.举个例子,你需要根据以往季度的电力数据,预测下一季度的电力数据,这个时候需要使用的是线性回归,因为这个值是连续的,而不是离散的.而当你需要判断这个人抽烟还是不抽烟的问题时,就需要使用逻辑回