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

博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)

机器学习基石第八讲主要介绍噪声和误差度量,笔记整理在下面。

Noise and Probabilistic Target

现实中的数据很可能含有噪声(noise),例如前面的信用卡发放问题中,有的顾客符合发放标准但没有发给,或者同样情况的顾客有人发了有人没法,再或者顾客的信息不正确等等,VC bound是否在由噪声的情况下工作呢?

继续使用前面抽弹珠的例子,罐子中每一个弹珠代表一个数据,如果f(x)≠h(x),则将弹珠漆成橘色;如果f(x)=h(x),则将弹珠漆成绿色。引入了噪声之后,原来的y就不是真正的f(x)了。现在想象这样每一个弹珠,它的颜色不停变化,称为probablistic(noisy) marbles,不过罐子内橘色弹珠的比例还是一定的。现在我们记录弹珠被抽出瞬间的颜色,比如一次抽取100颗弹珠,抽出瞬间有20颗是橘色的,那我们就可以估计抽出瞬间整个罐子的橘色弹珠比例为20%。

这里说,如果x和y独立同分布(i.i.d),那么VC bound的整个架构还是适用的。这里的P(y|x)称为目标分布(target distribution)。一种看法是将其看作存在噪声时的‘ideal mini-target’,如P(o|x)=0.7,P(x|x)=0.3,那我们说‘ideal mini-target’应该将数据标记为圈圈,噪声水平为0.3。另外一种看法是将原来的deterministic target f看作是ideal mini-target target的一个特殊情况。

现在的学习流程图如下:

本小节测试:

Error Measure

这一小节我们更一般化地来讨论误差度量(error measure),记为E(g,f),其有三个特性:

  • out of sample: averaged over unknown x(我们是在未看过的数据上衡量)
  • pointwise: evaluated on one x(我们可以在每一个数据点上来衡量)
  • classification: [prediction ≠ target](查看分类正确与否)

我们通常用平均的下图中的err来衡量E(g,f),下图还给出了在样本上的错误率的计算方法。这里介绍的0/1错误(0/1 error),此外经常使用的还有平方错误(squared error)(适用于输出为实数的问题)和其他的一些错误计算方法,根据实际情况来选择。

下面给出了一个使用0/1 error和squared error的例子(图中标有星号的时错误率最低的):

加入了误差度量的机器学习流程图如下:

然后是本小节测试:

Algorithm Error Measure

这里使用指纹识别问题(比如说电脑有了指纹识别功能,只让电脑主人使用)来介绍误差度量的选择。在这个问题中可能出现两种错误:false accept(将入侵者误认为主人而让他使用电脑)和false reject(将主人误认为入侵者,而不让其使用)。

举个例子,将指纹识别系统应用于超市,如果系统认定某位顾客为常客,则给该顾客折扣;如果系统认定某位顾客不是常客,则不给该顾客折扣。在这个问题中,系统应该尽量避免的错误是fasle reject(发生这种错误可能导致常客不再来,给超市带来的损失远远大于给非常客打折的损失)。如果将指纹识别系统应用于CIA的机密文件权限,那系统应该尽量避免的则是false accept。

可以看到不同问题应该使用不同的误差度量方法。下面介绍了几种在设计机器学习算法时可能会用到的误差度量方法(记为err^):

本节小测试:

Weighted Classification

本小节介绍weighted classification,这里的权重指的是犯错所带来的损失。例如前面的CIA例子中的false reject的权重为1,而false accept的权重为1000,该问题的Eout和Ein如下图所示。

将基于损失权重的Ein(h)记为Ewin(h)。 下面介绍如何改进pocket PLA算法。一种方法如下图,是将hypothesis错误标记为-1的数据点复制1000份,这样就达到了将此类错误的损失权重记为1000的效果。

当然,我们不会真的进行复制1000份的操作,而是做下面的两点:

  • weighted PLA: randomly check -1 example mistakes with 1000 times more probability
  • weighted pocket replacement: if wt+1 reaches smaller Ewin than w^, replace w^ by wt+1

本小节测试:

最后是本讲总结:

时间: 2024-10-31 02:19:27

机器学习基石第八讲:noise and error的相关文章

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

一.Noise and Probabilistic Target

机器学习基石第六讲:theory of generalization

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 机器学习基石第六讲继续讨论"学习是否可行的问题". Restriction of Break Point 继续前面的讨论,我们看mH(N)是否会有一个很小的增长速度.回顾前面的四种成长函数及其break point.我们知道k是一个成长函数的break point,那比k大的值全是break point. mH(N)是一个hypothesis在N个数据点上可以产生的dic

机器学习基石——第9-10讲.Linear Regression

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第9讲-------Linear Regression 从这一节开始,开始涉及到How Can Machines Learn的问题了. 一.Linear

机器学习基石——第7-8讲.The VC dimension

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第7讲-------The VC dimension 一.VC dimension的定义 VC dimension是什么呢?大家可能猜到了,这是和我们上

机器学习基石——第13-14讲.Hazard of Overfitting

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第13讲-------Hazard of Overfitting 从这一节开始,我们开始探讨How Can Machines Learn Better的

机器学习基石——第15-16讲.Validation

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第15讲-------Validation 一.模型选择问题 机器学习的每个模型都有各式各样的参数.即使只是对于二元分类,学习算法上可以选择PLA,LR

机器学习基石——第1-2讲.The Learning Problem

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第一讲-------The Learning Problem 一.课程总体 Machine Learning是一个理论与应用混合的工具,本课程则主要是f

机器学习基石——第3-4讲.Types of Learning

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第3讲-------Types of Learning 上一节讲到如果要回答YES/NO的是非问题,我们可以使用像PLA(感知机)这样的算法,他会在无数

机器学习基石——第5-6讲.Training versus Testing

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第5讲-------Training versus Testing 从这一讲开始,讲的问题就是属于Why Can Machines Learn的范畴了.