台湾大学机器学习基石Lecture8

8-1:Noise and probabilistic Target

杂絮和概率目标函数
本节主要介绍的是数据有噪声的情况下,机器学习是否还是可行的。
那么什么是噪声呢?比如发银行信用卡的时候:
1. 相同的用户特征却得到了不同的输出标签y
2. 对数据进行分类的时候,对应的标签填写错误
3. 或者直接就是录入了错误的数据
以上都是噪声产生的原因。
还是以从罐子里抽小球为例进行说明,之前我们讲的是没有噪声的情况下输入样本和总体样本都服从于同一个分布 p(X) ,其罐子里的小球颜色都是固定不变的,也称这些小球是(deterministic )确定性的小球,其对应的标记y取决于 f(x)h(x) 是否成立。
如果我们假设小球的颜色是会改变的,比如在小球取出来的一瞬间,小球的颜色是一定几率的变来变去,我们只知道小球变为某一种颜色的概率,而不能确定取出来的小球的具体颜色是什么,这种小球叫做(probabilistic)概率性的小球,那么 yh(x) 不能直接得到,其中标签y会取决于分布 p(y|x) 。这里 p(y|x) 称为目标分布,
举个例子来说,有两种情况,分别为 p(O|x)=0.7,p(X|x)=0.3 (O和X分别表示+1和-1),那么你会选择哪一个呢?毫无疑问,你会选择概率大的也就是0.7的那一个,其中0.3也就是噪声了。
其中确定性的分布其实是这种目标分布的特例,如下所示:
p(y|x)=1  for  f(x)=h(x)
p(y|x)=0  for  f(x)h(x)
VC限制对于这种目标分布仍然可用,因为输入样本服从分布 p(x) ,而标签y服从 p(y|x) ,二者即(x,y)服从联合概率分布 p(x,y)
所以现在机器学习的目标函数就变成了目标分布(包含f(x)+noise),得到了新的流程图如下:这里写图片描述


8-2:Error Measure

错误衡量
这一节我们主要介绍错误的衡量方式。
机器学习的目标是使得假设 gf ,即使得 Eout(g)=Ex p(g(x)f(x)) 最小。更一般的说,错误衡量 E(g,f) 考虑哪些问题呢?
1. out_of_sample(样本外的未知数据),所有未知样本x的平均
2. pointwise(逐点):每一个点上进行评估
3. classification(分类):即 [predictiontarget] ,也称之为‘0/1’错误.
pointwise错误衡量其实就是先计算每个点的错误然后取平均。我们使用err()来表示逐点的错误衡量(pointwise error measure),那么训练样本的错误和未知样本的错误衡量方式如下:
Ein(g)=1NNn=1err(g(xn),f(xn))
Eout(g)=Ex perr(g(x),f(x))
我们将假设函数g(x) yˇ 表示,而目标函数f(x)用y表示。Pointwise error measure是机器学习中常用的错误衡量方式,主要应用在两个方面:
1. 0/1 error-对应的表达式为:
    err(yˇ,y)=[yˇy]
即0/1经常被用作分类问题上。
2. squared err-对应的表达式为:
    err(yˇ,y)=(yˇy)2
平方错误经常被用作回归问题。
在含有噪声的情况下,目标分布 p(y|x) 和逐点错误函数err()共同决定了Ideal Mini-Target(理想的错误率最小的目标函数)。但是不同的衡量方式对目标函数的计算结果是不同的,举例来说:
考虑 p(y=1|x)=0.2,p(y=2|x)=0.7,p(y=3|x)=0.1, 如果我们使用0/1 error来衡量错误,那么我们很容易得到下面的结论:这里写图片描述
也就是说假设如果取g=1的时候,那么错误err=0.7+0.1=0.8,对于g=1.9,因为没有这个取值,所以err=1,那么我们取最优的g=2。
但是如果我们用squared error来衡量错误呢?结果如下图:
这里写图片描述
在这里竟然最优的g=1.9。
综上,加入了错误衡量方式,这对算法和最终的假设选择都起到了很大的作用。我们把error measure加入,更新机器学习流程图如下:
这里写图片描述


8-3:Algorithmic Error Measure

算法的错误衡量
错误有两种类型,如下图所示:
这里写图片描述
分别称为false reject 和 false accept,即错误的接受和错误的拒绝。但是这两种类型的错误权重应该是不一样的,举个例子来说:
1. 在逛超市的时候,遇到商品会员有3折时候,那么会员就会很快乐的选择这个商品然后取付钱,当然也有不少会员想用会员价买的人,如果付钱的时候由于系统的问题,是会员的结果被判定为不少会员,不是会员的反而认定是会员,那么这样子就会使得会员大失所望,并且说我以后再也不来了,这样对公司造成了很大损失。而不是会员的得到了优惠也可能是偶尔路过,对公司提升不了多少利益。这种情况false reject > false accept
2. 如果安保系统,错误的接受了错误的指纹,导致数据丢失,后果很严重,但是如果错误的拒绝了一个普通员工的要求,并不会有多少损失,这种情false reject < false accept
所以我们应该针对不同的情形设计不同的算法,比如:
这里写图片描述
左边是超市的错误代价,右边是安防的错误代价。
但是存在一个问题是错误衡量方式如何定量的给出,比如上面的10,1000这些数值如何确定,因此在进行算法设计的时候,我们就采用替代的方式 errˇ 进行设计。
下面给出两种替代方式:

  • plausible(说服自己的方式):
    • 0/1 error:噪声相对于整体的样本一定是比较小的,那么只需要找到一个足够小的错误(这是一个NP-hard问题,可以使用pocket算法求解)。
    • squared errr:只要噪声服从高斯分布,最小化高斯噪声就可以了。
  • friendly(很好设计的演算法):
    • closed-form solution:也就是相当于解析解,直接求出结果
    • convex objective function:凸目标函数

那么得到了近似的错误衡量方式以后,用这个 errˇ 代替err得到下面的更新流程图:
这里写图片描述


8-4:weighted classification

加权分类
对上一节安防提到的错误矩阵,我们将之称为成本矩阵如下:
这里写图片描述
使用这个矩阵分别表示 Ein(h)Eout(h) 如下:
$E_{in}(h)=\frac{1}{N}\sum_{i=1}^N\{ 1\}$
这里写图片描述
由于VC的限制,我们只需要求最小的 Ein(g) 即可。我们用 Ewin(g) 代替 Ein(g) ,那么我们的目的是对于加权分类最小化 Ewin
如果样本空间是线性可分的,那么由第二节的推导,足够次数的循环后,一定会使得 Ein(g)=0 ,那么如果样本空间不是线性可分呢,我们可以使用pocket算法。但是pocket是针对0/1的,对于上述情况并不能保证pocket算法有用,下面对这个进行说明。
一种简单的方式是进行如下的等价变换:
这里写图片描述
我们将每一份标签 y=1 的数据复制了1000份(因为-1犯错的权值是1000),每一份都是0/1 error,我们称之为加权pocket算法。它有如下特点:

  • weighted PLA:选到-1的可能性是之前的1000倍
  • weighted placement replacement:即如果 Ewin wˇ 小,那么用 wt+1 替代 wˇ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值