理解机器为什么可以学习(五)---Noise and Error
之前我们讨论了VC Dimension,最终得到结论,如果我们的hypetheset的VC Dimension是有限的,并且有足够的资料,演算法能够找到一个hypethesis,它的Ein很低的话,那么我们就大概学到了东西。
看看之前的learning flow:

我们有一个target function,能够产生一堆的sample,x 由某一个分布产生,未来的测试也有同一个分布产生。
演算法想办法从资料和假设集里找到一个好的假设。好的假设集是VC Dimension是有限的,好的假设是Ein是低的。
那么,我们现在讨论假设数据是有噪声的,之前的推导还是有效的吗?
1. Noise and Probabilistic Target
之前的讨论没有考虑噪声,但是无论是X还是Y,都是有可能带来噪声的。


那么之前的目标函数就变为目标分布:

目标部分告诉我们最好的分布是什么,杂讯是多少。

P(x)代表哪些X比较重要.
那么,现在的learning flow变为:

2. Error Measure
之前我们一直在寻找g和f接近,现在我们进行一个量化来表示g和f一不一样。
之前的g有三个特性:

(classification错误也叫做0/1 Error)


两种错误衡量方式:

错误大小和P(y|X)有关,和衡量错误的方法有关:

那么,有了错误衡量的概念之后,我们的学习曲线就需要告诉演算法使用怎样的错误衡量方式。

3. Choice of Error Measure
其实就是说的准确率和召回率。
假设做一个指纹辨识系统,
那么超市打折就希望较少的false reject,所以就可以把false reject的惩罚权重调大一些。
CIA进入许可就希望比较小的false accept,所以就可以把false accept的惩罚权重调大一些。
所以,不同的应用需要不同的错误衡量方式。在设计演算法的时候就需要考虑到错误衡量方式。
但真正的量化错误衡量方式往往不容易,所以需要寻找替代:

那么,有了替代Err的概念之后,演算法可以转变为:

4. Weighted Classification
不同的错误有不同的权重。

改变了Ein之后,之前的PLA和Pocket相应有什么影响呢?

Pocket可以让Ein01尽可能的小,但是新的衡量方式也有保证么?
这样考虑,复制权重次数即可对应。

实际上并不需要真正的去复制,而是下述的虚拟复制。

理解机器为什么可以学习(五)---Noise and Error的更多相关文章
- 理解机器为什么可以学习(四)---VC Dimension
前面一节我们通过引入增长函数的上限的上限,一个多项式,来把Ein 和 Eout 的差Bound住,这一节引入VC Bound进一步说明这个问题. 前边我们得到,如果一个hypethesis集是有bre ...
- 理解机器为什么可以学习(三)---Theory of Generalization
前边讨论了我们介绍了成长函数和break point,现在继续讨论m是否成长很慢,是否能够取代M. 成长函数就是二分类的排列组合的数量.break point是第一个不能shatter(覆盖所有情形) ...
- 理解机器为什么可以学习(二)---Training versus Testing
前边由Hoeffding出发讨论了为什么机器可以学习,主要就是在N很大的时候Ein PAC Eout,选择较小的Ein,这样的Eout也较小,但是当时还有一个问题没有解决,就是当时的假设的h的集合是个 ...
- 理解机器为什么可以学习(一)---Feasibility of learning
主要讲解内容来自机器学习基石课程.主要就是基于Hoeffding不等式来从理论上描述使用训练误差Ein代替期望误差Eout的合理性. PAC : probably approximately corr ...
- 《深入理解计算机系统V2》学习指导
<深入理解计算机系统V2>学习指导 目录 图书简况 学习指导 第一章 计算机系统漫游 第二章 信息的表示和处理 第三章 程序的机器级表示 第四章 处理器体系结构 第五章 优化程序性能 第六 ...
- Java虚拟机内存溢出异常--《深入理解Java虚拟机》学习笔记及个人理解(三)
Java虚拟机内存溢出异常--<深入理解Java虚拟机>学习笔记及个人理解(三) 书上P39 1. 堆内存溢出 不断地创建对象, 而且保证创建的这些对象不会被回收即可(让GC Root可达 ...
- Deep learning for visual understanding: A review 视觉理解中的深度学习:回顾 之一
Deep learning for visual understanding: A review 视觉理解中的深度学习:回顾 ABSTRACT: Deep learning algorithms ar ...
- (转)MyBatis框架的学习(五)——一对一关联映射和一对多关联映射
http://blog.csdn.net/yerenyuan_pku/article/details/71894172 在实际开发中我们不可能只是对单表进行操作,必然要操作多表,本文就来讲解多表操作中 ...
- 《深入理解 Java 虚拟机》学习 -- 类加载机制
<深入理解 Java 虚拟机>学习 -- 类加载机制 1. 概述 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的 J ...
随机推荐
- 关于Windows创建进程的过程
之前有听到别人的面试题是问系统创建进程的具体过程是什么,首先想到的是CreateProcess,但是对于具体过程却不是很清楚,今天整理一下. 从操作系统的角度来说 创建进程步骤: 1.申 ...
- ADO.NET #3-1 (GridView + DataReader + SqlCommand)完全手写Code Behind
[C#] ADO.NET #3-1 (GridView + DataReader + SqlCommand)完全手写.后置程序代码 之前有分享过一个范例 [C#] ADO.NET #3 (GridVi ...
- shrio中去掉 login;JSESSIONID
shrio中去掉 login;JSESSIONID 在session管理器配置页面中新增一条记录
- win8.1和wp8.1共用代码,需要注意的一些问题
最近写了一个应有,使用了mvvmlight,把viewmodel.model.common之类的代码都放到了shared共享,写下来才发现,有不少问题是自已下手之前没注意到的,有些地方实在没法中途改了 ...
- 【洛谷3759】[TJOI2017] 不勤劳的图书管理员(树套树)
点此看题面 大致题意: 给定一个序列,每个元素有两个属性\(a_i\)和\(v_i\),每次操作改变两个元素的位置,求每次操作后\(\sum{v_i+v_j}[i<j,a_i>a_j]\) ...
- mac 扫描存活IP段
法一:脚本内容 MacdeMacBook-Pro:~ root# cat ping-ttl.sh #!/bin/bash [ $UID -ne 0 ]&&{ echo "Pl ...
- python_15_os
import os #1. os.system('dir') #2 cmd_res=os.system('dir')#执行命令不保存结果 print("-------",cmd_r ...
- flush caches
- JDBC开发,数据库的连接
JDBC开发步骤 1.建完工程后,右击工程,new,新建一个文件夹Folder,装jar包, 2.将下载好的驱动包打开,找到jar文件,CTRL+C,选中装jar包的文件夹,CTRL+V ...
- Access数据库远程连接的实用方法
一般在远程文件夹开启文件共享即可通过像平常一样用连接字符串访问,注意共享的读写权限. 远程(如通过互联网)连接access数据库的示例: 首先,需要使用TCP/IP,ADO及XML(需要安装Micro ...