机器学习 第12章 计算学习理论
目录
- 基础知识
- PAC学习
- 有限假设空间
- 可分情形
- 不可分情形
- VC维
- 稳定性
基础知识
计算学习理论研究的是关于通过"计算"来进行"学习"的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法提供理论保证,并根据分析结果指导算法设计。
给定样例集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } D=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(\boldsymbol{x}_{2}, y_{2}\right), \ldots,\left(\boldsymbol{x}_{m}, y_{m}\right)\right\} D={(x1,y1),(x2,y2),…,(xm,ym)}, x i ϵ χ x_{i}\epsilon \chi xiϵχ,假设 χ \chi χ中的所有样本服从一个隐含未知的分布 D \mathcal{D} D, D 中所有样本都是独立地从这个分布上采样而得.
PAC学习
计算学习理论中最基本的是概率近似正确 (Probably Approximately Correct,简称 PAC)学习理论 。下面介绍几个定义
定义1:PAC辨识:对 0 < ϵ 0<\epsilon 0<ϵ, δ < 1 \delta <1 δ<1,所有 c ϵ C c\epsilon \mathcal{C} cϵC和分布 D \mathcal{D} D,若存在学习算法 ς \varsigma ς,其输出假设 h ϵ H h\epsilon \mathcal{H} hϵH满足 P ( E ( h ) ≤ ϵ ) ≥ 1 − δ P(E(h)\le \epsilon )\ge 1-\delta P(E(h)≤ϵ)≥1−δ,则称学习算法 ς \varsigma ς能从假设空间中PAC辨识概念类 C \mathrm {} C C
定义2:PAC可学习:令m表示从分布D中独立同分布采样得到的样例数目, 0 < ϵ 0<\epsilon 0<ϵ, δ < 1 \delta <1 δ<1,对所有分布T,若存在学习算法 L \mathcal{L} L和多项式函数poly(…),使得对任何 m ≥ p o l y ( 1 / ϵ , 1 / δ , s i z e ( x ) , s i z e ( c ) ) m\ge poly\left ( 1/\epsilon ,1/\delta ,size\left ( x \right ),size\left ( c \right ) \right ) m≥poly(1/ϵ,1/δ,size(x),size(c)), L \mathcal{L} L能从假设空间 H \mathcal{H} H中PAC辨识概念类 C \mathcal{C} C,则称概念类 C \mathcal{C} C对假设空间而言是PAC可学习的。
PAC 学习中一个关键因素是假设空间 H \mathcal{H} H的复杂度。 H \mathcal{H} H包含了学习算法 ε \varepsilon ε所有可能输出的假设,若在PAC学习中假设空间与概念类完全相同,即 H \mathcal{H} H= C \mathcal{C} C,这称为"恰PAC可学习",这意味着学习算法的能力与学习任务"恰好匹配"。
有限假设空间
有限假设空间是指假设空间中的假设数目是有限的。在这种情况下,可以更容易地分析学习算法的表现。对于有限假设空间,根据是否能找到一个假设完全匹配训练数据,可以分为可分情形和不可分情形。
可分情形
在机器学习中,“可分情形”指的是存在一个假设(即学习算法中的模型)可以在训练数据集上达到零误差,即这个假设能够完全正确地标记所有训练样本。当这种情况发生时,我们说训练数据集对于这个假设空间是“可分的”。
在可分情形下,学习算法的目标是找到这个假设,也就是找到一个决策边界或分类规则,使得所有训练样本都能够被正确分类。例如,在二分类问题中,如果存在一条超平面(在高维空间中也称为超平面)能够完美地将两类数据分开,那么这个问题就是线性可分的。
判断数据集是否线性可分可以通过以下几种方法:
可视化: 如果数据集维度较低(如二维或三维),可以通过绘制数据集的散点图来直观地判断是否线性可分6。
SVM: 使用支持向量机(Support Vector Machine, SVM),如果SVM能够在训练数据集中找到一个超平面,使得所有正类和负类的点都能够被正确分类,那么这个数据集就是线性可分的。
在可分情形下,学习算法的目标非常明确,就是要找到一个能够在训练集上达到零误差的假设。这种情况下,学习算法通常会表现得非常好,因为它不需要处理噪声或异常值所带来的影响。然而,值得注意的是,在实际应用中,数据往往含有噪声或不一致之处,因此很少能够遇到真正的可分情形,更多的是处理不可分情形,这时就需要引入如正则化等技术来改善模型的泛化能力。
不可分情形
在某些情况下,学习算法可能无法准确地学习到目标概念,尤其是在概念本身不在假设空间内的时候。然而,即便在这种情况下,学习算法也可以尝试找到一个接近最优解的假设。这就是所谓的不可知学习(Agnostic Learning)。不可知PAC学习允许算法在假设空间中寻找一个假设,即使这个假设不是最优的,但却是对于当前假设空间而言最好的。定义中指出,如果对于所有的分布,存在一个学习算法能够在多项式时间内找到一个近似的假设,使得经验误差和泛化误差之差不超过一个给定的界限,则假设空间是不可知PAC可学习的。
VC维
定义:VC维是统计学习理论中的一个重要概念,。对于一个二分类问题,如果存在h个样本能够被假设空间中的函数按照所有可能的 2 h 2^{h} 2h种形式分开(即打散),则称假设空间能够把h个样本打散。假设空间的VC维就是它能打散的最大样本数目h。如果对于任意数目的样本都有函数能将它们打散,则假设空间的VC维是无穷大。
意义:VC维反映了函数集的学习能力,VC维越大则学习机器越复杂(容量越大)。所谓的结构风险最小化就是在保证分类精度(经验风险)的同时,降低学习机器的VC维,可以使学习机器在整个样本集上的期望风险得到控制。
稳定性
稳定性是衡量学习算法对输入数据微小变化的敏感程度。稳定的算法在输入数据发生微小变化时,输出结果的变化也很小。稳定性与可学习性之间存在着密切的关系,因为一个稳定的算法往往有更好的泛化能力。通过分析算法的稳定性,可以推断算法的可学习性。
相关文章:
机器学习 第12章 计算学习理论
目录 基础知识PAC学习有限假设空间可分情形不可分情形 VC维稳定性 基础知识 计算学习理论研究的是关于通过"计算"来进行"学习"的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法提供理论保证…...

【雅特力AT32】外部中断事件控制器EXINT(附源码解析)
基础概念弄懂了之后,对于实际开发中断初始化流程和寄存器查阅是很重要的。 1.EXINT介绍 2.功能描述和配置流程 中断初始化流程☆ 1>选择中断源 2>选择触发方式 3>使能中断或事件 4>产生软件触发 中断清除流程 其他注意点 3.EXINT寄存…...

Redis集群_cluster
cluster集群 cluster翻译就是集群,所以cluster集群也叫做redis集群相比于哨兵模式,cluster集群能支持扩容,并且无需额外的节点来监控状态,所以使用这种模式集群的系统会用的更多些redis cluster采用的是去中心化网络拓扑架构&…...

jdk相关介绍
JDK,全称Java Development Kit,是Java语言开发的基础工具包。它包含了Java运行时环境(JRE)以及用于开发Java应用程序的各种工具和库。JDK为Java程序员提供了编译、调试和运行Java应用程序所需的全部环境。 JDK的主要组成部分包括&…...

【GoMate框架案例】讯飞大模型RAG智能问答挑战赛top10 Baseline
【RAG框架】GoMate:RAG Framework within Reliable input,Trusted output 【项目链接】:https://github.com/gomate-community/GoMate 一、赛题背景 RAG(检索增强生成)是一种结合了检索模型和生成模型的技术,它通过检…...

2024/9/15 408“回头看”之应用层小总结(下)
域名系统DNS: 本地域名服务器 本地域名服务器起着代理的作用,会将报文转发到根域名服务器、顶级域名服务器、权限域名服务器。 递归查询: 迭代查询: 文件传送协议FTP: FTP客户和FTP服务器之间使用的是tcp连接。 控制连接使用21端口&…...

经纬恒润高压电池管理系统,助力新能源汽车飞速发展
随着新能源汽车行业的快速发展,电池管理系统作为关键技术之一,其重要性日益凸显。经纬恒润自主研发的高压电池管理系统(Battery Management System,BMS),凭借卓越的性能与先进的技术,在新能源汽…...

一文速通calcite结合flink理解SQL从文本变成执行计划详细过程
文章目录 你可以学到啥测试代码背景知识SQL转变流程图问题 你可以学到啥 SQL如何一步步变成执行计划的有哪些优化器,哪些优化规则calcite 和flink 如何结合的 测试代码 EnvironmentSettings settings EnvironmentSettings.inBatchMode(); TableEnvironment tabl…...
spring-TransactionTemplate 编程式事务
TransactionTemplate 是 Spring 框架提供的用于管理事务的一种方式。它提供了一种编程式的事务管理方法,允许开发者在代码中显式地控制事务的开始、提交或回滚。与使用 Transactional 注解相比,TransactionTemplate 提供了更多的灵活性和控制力。 为什么…...

中考全国45套(全国教育发达地区中考试卷)
文章目录 获取方式 为什么选择这份资源? 权威性与全面性:我们精心搜集了全国教育发达地区的最新中考试卷,确保每一套试卷都代表了该地区的教学水平和考试趋势。这不仅涵盖了丰富的知识点,还融入了各地独特的命题风格,让…...
嵌入式Linux学习笔记(5)-进程间常见通讯方式(c语言实现)
一、概述 进程间通信(IPC,InterProcess Communication)是指在多个进程之间进行数据传输和共享的机制。在操作系统中,进程是运行中的程序的实例,每个进程都有自己的内存空间和资源。 进程间通信可以用于在不同的进程之间…...

【移动端】菜单的自动展开与收回
前言 为了满足手机上菜单栏随用户移动,菜单的自动展示与隐藏,特此记录 基本原理 实现逻辑 window.addEventListener(‘scroll’, debouncedScrollHandler) – 监听文档视图滚动事件 document.querySelector(‘.header’) – 选择器匹配元素 创建show和h…...
Java获取Object中Value的方法
在Java中,获取对象(Object)中的值通常依赖于对象的类型以及我们希望访问的属性。由于Java是一种静态类型语言,直接从一个Object类型中访问属性是不可能的,因为Object是所有类的超类,但它本身不包含任何特定…...
集群聊天服务器项目【C++】(二)Json的简单使用
在上一章中,简单介绍了本项目的内容、技术栈、需求和目标等,详细介绍了环境配置,如果还没有配置成功,请参考我的上一篇博客环境配置 今天主要介绍Json库是什么以及简单的使用。 1.为什么要使用Json 我们在网络传输数据时&#…...

班迪录屏和这三款录屏工具,一键操作,太方便了!
嘿,小伙伴们!今天我要跟大家分享几款超棒的录屏工具,它们绝对是我们在工作和学习中不可或缺的好帮;这些工具功能强大且操作简单,下面就让我来详细介绍一下它们的使用体验和好用之处吧! 班迪录屏工具使用体…...
DAY60Bellman_ford 算法
队列优化算法 请找出从城市 1 到城市 n 的所有可能路径中,综合政府补贴后的最低运输成本。 如果能够从城市 1 到连通到城市 n, 请输出一个整数,表示运输成本。如果该整数是负数,则表示实现了盈利。如果从城市 1 没有路径可达城市…...

Dubbo SPI源码
文章目录 Dubbo SPI使用方式AOP功能源码剖析SPI注解1.获取加载器2.获取拓展实例对象3.创建拓展类的实例对象 Dubbo SPI Dubbo 的 SPI(Service Provider Interface)机制是一种强大的扩展机制,它允许开发者在运行时动态地替换或增加框架的功能。…...
《C++代码高度优化之双刃剑:避免过度优化引发的“暗雷”》
在 C编程的世界里,追求高效性能的代码是每个开发者的目标之一。高度优化的 C代码可以带来显著的性能提升,让程序在运行速度、内存占用等方面表现出色。然而,正如一把双刃剑,过度优化可能会引入难以察觉的错误,给程序带…...
javascript网页设计案例
设计一个具有良好用户体验的 JavaScript 网页涉及多个方面,如用户界面(UI)、用户体验(UX)、交互设计等。以下是一些示例案例,展示了如何使用 JavaScript 创建功能丰富且吸引人的网页设计。 1. 响应式导航菜…...

初阶数据结构【TOP】- 11.普通二叉树的介绍 - 1. (细致,保姆~~!)
文章目录 前言一、普通二叉树的链式结构二、 造树三、普通二叉树的遍历四、遍历完整代码五、总结 前言 本篇文章笔者将会对普通二叉树部分进行细致的讲解 , 本篇主要包括以下内容: 二叉树链式结构的介绍 ,二叉树的遍历. 笔者会一步一步分析带学者领略递归的美好~~ 一、普通二叉…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...