《机器学习基石》课程学习总结(三)

前面两篇文章要点回顾: 第一篇:机器学习的主要任务是用算法A,利用数据集D从假设集H中挑出一个函数g,使得E_in(g)最小。 第二篇:可以证明,当假设集H的d_vc是有限值,数据集D中样本数量N足够大时,找到的函数g的E_in和E_out很大概率上是近似相等的,因此,E_in很小时可以认为E_out也会很小。也就是说,机器确实从数据中学习到了“知识”。 这篇文章是对第8课内容的总结,比较短,但是很重要。

1、如果数据中有noise

在前面两篇文章中,讨论机器学习时默认有一个前提是成立的,那就是数据集D中的x由某个分布独立产生,y由f(x)产生。现实的数据集D往往不能满足这个条件,而是可能掺杂着noise,以发放银行信用卡为例,noise可能有三种形式:

  • 某个样本点(x,y),x仍是由某个分布产生,但y却与f(x)相反,也就是说,按照函数f计算x,应当发放信用卡,现实却是没有发放信用卡(f(x)=1,y=0),反之同理。
  • 同样的x,不一样的y,在数据集中,同样的x,有的对应的y为1,有的对应的y为0。
  • x有误。样本点中的x不是与其他x产生自同一分布。即顾客个人信息有误。

经过前面各种证明,好不容易得出了机器可以学习的结论,noise的存在,让我们回到原点,我们不得不再次审视,面对有noise的数据集D,机器还可以学习吗?更具体一点,之前推导出的vc bound还有效吗?

所幸的是,尽管有noise的存在,vc bound还是有效的,也就是说,如果我们找出的函数小g,在有noise的数据集D上的E_in很小,那么,它的E_out也有很大的概率是很小的。这里的E_out使用的样本也是同样掺杂着noise的。

从条件概率来看noise,我们可以认为数据集D中的y不是来自f(x),而是来自一个条件分布P(y|x), 只不过P(y = f(x) | x) > P(y != f(x) | x)。此时,对于二元分类问题,我们将f(x)称作ideal mini-target function。因为f(x)就是我们希望尽可能接近的目标函数,使用它做分类预测时,所犯的分类错误率是最小的。

在这种情况下学习到的函数小g也具有了概率的含义,也就是说,给定x,y等于g(x)是一个大概率事件,y不等于g(x)是一个小概率事件。此时的g仍然是在尽可能模仿f,但由于数据中noise不可避免,使得我们的函数小g只能模仿在noise下表现出来的f。

一句话总结:noise可以看成是条件分布P(y|x)。在二元分类问题中,f(x)就是对于给定的x,概率最大的y值,它是机器学习的新目标函数,称为ideal mini-target function。

2、错误衡量err

观察上面定义的ideal mini-target function,容易知道,只要我们能够学习到一个函数小g,使它尽可能接近f(x),那么,用小g做二元分类预测时,犯的错误将会最小。这里有一个很容易被我们忽视的问题,那就是衡量小g犯的错误的大小。

在二元分类问题中,衡量小g犯的错误很简单,假设对于x,对应的样本值为y,小g的预测值为g(x),若g(x)==y,则所犯错误为0,若g(x)!=y,则所犯错误为1。这样的错误衡量称为“0/1 error”。

实际上,对于不同的问题,还有许多的错误衡量err,比如在回归问题中常用的平方错误衡量:err(g(x),y)=(g(x)-y)^2

那么,不同的错误衡量err对我们做机器学习有什么不同的影响呢?

一句话概括就是:P(y|x)和err联合在一起,会决定ideal mini-target function。

比如在二元分类问题中,假如P(y|x)已经确定,err采用“0/1 error” ,那么,ideal mini-target function 就是f(x),即对于给定的x,y为f(x)的概率最大。

在实际的机器学习问题中,P(y|x)是未知的。但是通过选用不同的err,可以隐含地决定ideal mini-target function,也就是我们的算法学习的目标函数。课程视频中有一个简单的小例子来说明这个问题,可用来帮助理解,这里不再赘述。

那么问题来了,如何确定哪个err比较好?

答案是:看你要解决的具体问题,这是评价err好坏的根本标准,但仅仅考虑这一点也是不行的,因为不同的err,在实现算法A时的难度也是不一样的。最后选择的err是在二者之间的一个trade-off。

3、加权分类

这部分内容比较简单,简述如下:

在样本集中,不同的样本(x_n,y_n)有不同的重要性,犯错的代价是不一样的,为了体现出这一点,可以采用“虚拟复制”技术,将其归约为普通的0/1 error问题。

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2018-02-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏算法channel

「机器学习」:不得不知的概念(3)

在上一篇推送中我们总结了机器学习第一课:一些最最基本的概念,比如特征,训练集,维数,假设空间等,通过一个例子说明什么是机器学习的泛化能力。接下来,再通过一个例子...

33911
来自专栏AI研习社

开发者自述:我是怎样理解支持向量机(SVM)与神经网络的

SVM与神经网络 支持向量机并不是神经网络,这两个完全是两条不一样的路吧。不过详细来说,线性SVM的计算部分就像一个单层的神经网络一样,而非线性SVM就完全...

3446
来自专栏Coding迪斯尼

由深入浅,人工智能原理的大白话阐述

1255
来自专栏个人分享

数据挖掘10大算法详细介绍

在一份调查问卷中,三个独立专家小组投票选出的十大最有影响力的数据挖掘算法,今天我打算用简单的语言来解释一下。

1284
来自专栏人工智能

十种深度学习算法要点及代码解析

谷歌董事长施密特曾说过:虽然谷歌的无人驾驶汽车和机器人受到了许多媒体关注,但是这家公司真正的未来在于机器学习,一种让计算机更聪明、更个性化的技术。 也许我们生活...

1948
来自专栏SimpleAI

【DL碎片4】深度学习中的的超参数调节

从【DL笔记1】到【DL笔记N】,是我学习深度学习一路上的点点滴滴的记录,是从Coursera网课、各大博客、论文的学习以及自己的实践中总结而来。从基本的概念、...

764
来自专栏大数据文摘

数据缺失的坑,无监督学习这样帮你补了

1213
来自专栏专知

【深度干货】专知主题链路知识推荐#5-机器学习中似懂非懂的马尔科夫链蒙特卡洛采样(MCMC)入门教程01

【导读】主题链路知识是我们专知的核心功能之一,为用户提供AI领域系统性的知识学习服务,一站式学习人工智能的知识,包含人工智能( 机器学习、自然语言处理、计算机视...

3597
来自专栏李强强的专栏

【SPA大赛】腾讯广告点击大赛:对stacking的一些基本介绍

这次给大家分享的是 stacking 的一些基本知识,希望对大家有帮助。现在比赛进入了白热化阶段,并且马上要切换决赛B榜了,很多队伍都开始想着融合模型进行提高,...

4791
来自专栏数据派THU

ML:教你聚类并构建学习模型处理数据(附数据集)

1548

扫码关注云+社区