train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0;
test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g)。
如果|H|小,更易保证test(不等式右式小),难保证train(选择少);
如果|H|大,更易保证train(选择多),难保证test(不等式右式大)。
如果|H|无限呢?2Mexp(...)可能大于1了,对于概率值上限来说失去意义。那能否用个有限值代替|H|呢?
看一下2Mexp(...)这个上限的来源。
本质是求并集,但是得出2Mexp(...)这个式子是默认无交集的情况下求的并集,
实际上,A确定后,H形式也确定,
给定D,在H里存在相似的h,这些h在D上的表现一致,即存在交集,所以2Mexp(...)这个式子作为上限来说过大了。
给定D,可通过将H里相似h分到同类里(同类里h的数目可能是无限的),将|H|变为类数,就可能将无限的|H|变为有限的类数。
定义给定D下,将|H|分得的类为dichotomies,每一个dichotomy在D上表现相同。
假设D里有2个样本点,将D分为OO、OX、XO、XX的h分别归为一类,共有4类。
可以发现dichotomies的数量是依赖于具体D和H的,但是dichotomies的数量的最大值只依赖与D里样本点的个数N和H,
例如感知器算法里,N=2时,最大值不超过2的N次方,这里是4。
定义dichotomies的数量的最大值为N的成长函数,记为mH(N)。------只和H、N有关。
即给定样本数N,H里假设类数是小于等于mH(N)的。
对于2维感知机,mH(1)=2,mH(2)=4,mH(3)=8,mH(4)=14。
可以看出,成长函数可能是多项式型的(好的,能保证只要N足够大,2mH(N)exp(...)小),也可能是指数型的(坏的)。
对于2维及以上维数的感知机,成长函数是多项式型的吗?
shatter:如果H里的假设能够保证k个输入能够输出任意标签的组合,称H能shatter这k个输入。
break point k:H不能shatter这k个输入,称k为断点。
猜想,只要存在断点,就能保证成长函数是多项式型,进而保证了test。

机器学习基石笔记:05 Training versus Testing的更多相关文章

  1. 机器学习基石:05 Training versus Testing

    train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...

  2. Coursera台大机器学习课程笔记4 -- Training versus Testing

     这节的主题感觉和training,testing关系不是很大,其根本线索在于铺垫并求解一个问题:    为什么算法PLA可以正确的work?因为前面的知识告诉我们,只有当假设的个数有限的时候,我们才 ...

  3. 林轩田机器学习基石课程学习笔记5 — Training versus Testing

    上节课,我们主要介绍了机器学习的可行性.首先,由NFL定理可知,机器学习貌似是不可行的.但是,随后引入了统计学知识,如果样本数据足够大,且hypothesis个数有限,那么机器学习一般就是可行的.本节 ...

  4. 05 Training versus Testing

    train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...

  5. 机器学习基石 5 Training versus Testing

    机器学习基石 5 Training versus Testing Recap and Preview 回顾一下机器学习的流程图: 机器学习可以理解为寻找到 \(g\),使得 \(g \approx f ...

  6. 【Training versus Testing】林轩田机器学习基石

    接着上一讲留下的关子,机器学习是否可行与假设集合H的数量M的关系. 机器学习是否可行的两个关键点: 1. Ein(g)是否足够小(在训练集上的表现是否出色) 2. Eout(g)是否与Ein(g)足够 ...

  7. 机器学习基石笔记:Homework #1 PLA&PA相关习题

    原文地址:http://www.jianshu.com/p/5b4a64874650 问题描述 程序实现 # coding: utf-8 import numpy as np import matpl ...

  8. 机器学习基石笔记:01 The Learning Problem

    原文地址:https://www.jianshu.com/p/bd7cb6c78e5e 什么时候适合用机器学习算法? 存在某种规则/模式,能够使性能提升,比如准确率: 这种规则难以程序化定义,人难以给 ...

  9. 机器学习基石笔记:04 Feasibility of Learning

    原文地址:https://www.jianshu.com/p/f2f4d509060e 机器学习是设计算法\(A\),在假设集合\(H\)里,根据给定数据集\(D\),选出与实际模式\(f\)最为相近 ...

随机推荐

  1. JQEUERY案例

    案例效果: 点击显示全部奶粉品牌前: 点击后: 源码: <!DOCTYPE html><html><head> <meta charset="utf ...

  2. MFC笔记4

    1.添加图片 1)静态加载图片,直接在resourceView中控件设置就可以以实现 2)动态加载时,按照鸡啄米的教程http://www.jizhuomi.com/software/193.html ...

  3. 根据文件夹更改样本文件名小程序.py

    #按照文件名设置标签并将其插入文件名中import osimport shutil#获取目标文件夹的路径a= r'C:\Users\yy\Desktop\tianchi大赛\guangdong_rou ...

  4. python note 02 格式化与判断、字符串转换

    1.格式化输出% %s %d name = input ('请输入姓名:') age = input ('请输入年龄:') height = input ('请输入身高:') msg = " ...

  5. Python基础-python基本语法(二)

    一.注释 分类:单行注释和多行注释 1.单行注释 单行注释以#开头,在当前行内,#后面的内容就是注释内容 2.多行注释 被两个   '''    或     ''''''    包括起来的内容就是注释 ...

  6. ES6 Number

    1. 新增Number.EPSILON(误差检查函数)

  7. node.js中net网络模块TCP服务端与客户端的使用

    node.js中net模块为我们提供了TCP服务器和客户端通信的各种接口. 一.创建服务器并监听端口 const net = require('net'); //创建一个tcp服务 //参数一表示创建 ...

  8. Python开发——解释器安装

    Python(解释器)安装 Windows 1.Python(解释器)下载链接 2.选择好安装路径,点击安装即可 3.环境变量配置 [右键计算机]-->[属性]-->[高级系统设置]--& ...

  9. javaweb开发.eclipse使用小常识

    一.javabean快速生成 1.写好属性,如 package me.lst.domain; import java.io.Serializable;import java.sql.Date; /** ...

  10. jsp相关笔记(二)

    在jsp中将数据库表格内容读出为一个表格,并在表格中添加超链接: <%@ page language="java" contentType="text/html; ...