林轩田老师-机器学习基石学习笔记8

2017/11/09 learning note 共 1363 字,约 4 分钟

经过一周的期中考,再次更新啦! 上一讲是主要引入了VC维这个机器学习中非常重要的概念。并梳理了以下这个结论: 如果假设集的VC维有限大,数据足够大,且可以找到一个假设让,数据的Ein≈0,那么机器学习就是可行的。 但是数据集当中会不会含有一些我们认为他是对的东西呢,就是NOISE了,这一讲重点在于此。

引子

什么是噪音? 这里写图片描述 这里的橘色珠子就是噪音 发信用卡的时候,好的用户却被标签为坏的,同样的用户却又有不同的标签,或者用户信息输入错误了…… 这里写图片描述 这些都可以称之为噪音 那么VC维的有限界定还可以用在含噪音的数据机器学习中吗?

噪音和概率目标(probabilitic target)

如果我们把弹珠看成输入,橘色弹珠看成noise。之前没有橘色的是我们可以称为deterministic的数据集,现在有了噪音,我们 那么我们可以用概率的表示方法将noise标识出来:

对每个(x,y)出现的概率是P(yx)。

数学上可以证明如果数据集按照P(y|x)概率分布且是独立同分布的,那么以前证明机器可以学习的方法依然奏效,VC维有限界定则可推断Ein和Eout是近似的。 这里写图片描述 老师使用贪心算法举例推导了一次。 P(y|x)被称为目标分布。它告诉我们什么是最好的选择,伴随着多少noise。 其实,没有noise的数据仍然可以看成“特殊”的P(y|x)概率分布,即概率仅是1和0。 对于以前确定的数据集:

P(y|x)=1,for y=f(x)
P(y|x)=0,for y≠f(x)

引入NOISE之后机器学习的流程图变成了: 这里写图片描述

错误度量

我们一直使用Eout进行误差的估计。 那对于一般的错误还有什么度量呢?

1、样本外未知数据 2、每个数据点的测试(pointwise) 3、预测与目标的一致性

PointWise error实际上就是对数据集的每个点计算错误并计算平均 Ein和Eout的pointwise error的表达式为: 这里写图片描述 pointwise error是机器学习中最常用也是最简单的一种错误衡量方式 pointwise error一般可以分成两类:

0/1 error和squared error。 0/1 error通常用在分类问题上;

squared error通常用在回归问题上。 这里写图片描述 这个最小目标原则如图,其实这个图更多的表述应该是不同的错误度量会造成不同的决策。 引入错误度量之后的机器学习流程图: 这里写图片描述

算法的错误度量

从算法的执行结果来看 Error有两种:

false accept false reject

这里写图片描述 比如是超市优惠,那么false reject应该设的大一些;如果是安保系统,那么false accept应该设的大一些。这个时候就要引入权重的概念了。 这里写图片描述 引入算法的错误度量之后的机器学习流程图: 这里写图片描述

权重分类

那么如何设置这些权重呢: 如下图,将hypothesis错误标记为-1的数据点复制1000份,这样就达到了将此类错误的损失权重记为1000的效果。 这里写图片描述

其实1000次太夸张,尤其是在实现代码的时候,那么我们其实只用做到如下的额几点既可以了: 这里写图片描述

总结

1、有Noise的情况下,即数据集按照(x,y)处P(y|x)概率分布,那么VC维仍然成立,机器学习算法推导仍然有效。 2、机器学习的代价函数常用的Error有0/1 error和squared error两类。 3、实际问题中对false accept和false reject应该选择不同的权重。

文档信息

Search

    Table of Contents