机器学习学习记录2:归纳偏好(奥卡姆剃刀原则和NFL定理)

news2024/11/25 15:34:00

定义

对于相同的训练样本,不同学习算法会产生不同的模型,决定其产生模型的,是学习算法本身的“偏好”。此处,书中引入“归纳偏好”的概念:

机器学习算法在学习过程中对某种类型假设的偏好,称为"归纳偏好",或简称为"偏好"。

归纳偏好的作用在回归学习中可能更直观(如下图所示)。这里的每个训练样本是图中的一个点 (x,y),要学得一个与训练集一致的模型,相当于找到一条穿过所有训练样本点的曲线.显然,对有限个样本点组成的训练集,存在着很多条曲线与其一致.我们的学习算法必须有某种偏好,才能产出它认为"正确"的模型。

判别原则

此处,我们引入两种判别原则:

奥卡姆剃刀原则

"奥卡姆剃刀" (Occam's razor) 是一种常用的、自然科学研究中最基本的原则,即"若有多个假设与观察一致,则选最简单的那个。

如果采用这个原则,并且假设我们认为"更平滑"意味着"更简单" ,则在上例中我们会自然地偏好"平滑"的曲线 A。

但在实际应用中,归纳偏好对应了学习算法本身所做出的关于"什么样的模型更好"的假设,这个假设是否成立,即算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。

例如,对于下面的两个图像,a图中,平滑的A曲线更符合测试样本,这与奥卡姆剃刀原则相符;

但在b图中,“崎岖复杂”的B曲线更符合测试样本,这就并不符合奥卡姆剃刀原则。

故,我们可以看出,算法的优劣是根据实际问题判定。尽管A曲线更符合我们对“泛化能力强的好算法”的认知,但也存在与B曲线更符合的实际问题。

换言之,对于一个学习算法A,若它在某些问题上比学习算法B好,则必然存在另一些问题,在那里,B比 A 好。

NFL定理(“没有免费的午餐”定理)

对于两个不同的学习算法A和B,无论学习算法A多聪明,学习算法B多笨拙,它们的期望性能都相同。

(对于此定理,书中给出了证明,但限于我浅薄的数学知识,目前我尚不能完全理解,故此处仅将书中证明过程附上,不做具体解释,日后再补全)

需要注意的是,NFL 定理有一个重要前提:所有"问题"出现的机会相同、或所有问题同等重要。但实际情形并不是这样。但很多时候,我们只关注自己正在试图解决的问题(例如某个具体应用任务),希望为它找到一个解决方案,至于这个解决方案在别的问题、甚至在相似的问题上是否为好方案,我们并不关心。

NFL 定理最重要的寓意,是让我们清楚地认识到,脱离具体问题,空泛地谈论"什么学习算法更好"毫无意义。要谈论算法的相对优劣,必须要针对具体的学习问题,学习算法自身的归纳偏好与问题是否相配,往往会起到决定性的作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/401341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CMake编译学习笔记

CMake学习笔记CMake编译概述CMake学习资源CMake编译项目架构cmake指令CMakeList基础准则CMakeList编写项目构建cmake_minimum_required() 和 project()set()find_package()add_executable()aux_source_directory()连接库文件include_directories()和target_include_directories…

1.4 数值运输商中应注意的几个原则

在数值运算中,每步都可能产生误差,我们不可能(也不必要)步步进行分析.下面仅从误差的某些传播规律和计算机字长有限的特点出发,指出在数值运算中必须注意的几个原则,以提高计算结果的可靠性1. 选用数值稳定性好的算法计算机虽然具…

MySQL Show Profile分析

6 Show Profile分析(重点) Show Profile是mysql提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优的测量 官网文档 默认情况下,参数处于关闭状态,并保存最近15次的运行结果 分析步骤: 1、是否…

Flask+VUE前后端分离的登入注册系统实现

首先Pycharm创建一个Flask项目: Flask连接数据库需要下载的包: pip install -U flask-cors pip install flask-sqlalchemy Flask 连接和操作Mysql数据库 - 王滚滚啊 - 博客园 (cnblogs.com) sqlAlchemy基本使用 - 简书 (jianshu.com) FlaskVue前后端分…

最新研究!美国爱荷华州立大学利用量子计算模拟原子核

爱荷华州立大学物理学和天文学教授James Vary(图片来源:网络)美国爱荷华州立大学物理学和天文学教授James Vary和来自爱荷华州立大学、马萨诸塞州塔夫茨大学,以及美国能源部加利福尼亚州劳伦斯伯克利国家实验室的研究人员&#xf…

basic1.0链码部署(基于test-network 环境ubuntu20.04腾讯云)

解决了官方示例指令需要科学上网才能运行的问题(通过手动下载二进制文件和拉取官方fabric-samples)。具体的将bootstrap.sh脚本解读了一遍 具体可以参照我的博客 fabric中bootstrap.sh到底帮助我们干了什么?(curl -sSL https://bi…

PACS(CT、CR、DR、MR、DSA、RF医院影像管理系统源码)

PACS具体功能介绍: 病人、采集、观片、三维、报告、照相、退出、文件、图像采集、观片操作、三维、测量标注、诊断报告、照相打印、统计报表、系统管理、帮助、病人浏览器、选择数据源、打开图像、病人登记、工作列表、采集、打开画廊。 DICOM查询/获取&#xff1a…

应用层

应用层 是计算机网络体系的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展的最快的部分 开发一种新的网络应用首先考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系 客户/服务器方式(C/S方式) 客户是服务请求方,服务器是服务提供方 服务…

【2023-03-10】JS逆向之美团滑块

提示:文章仅供参考,禁止用于非法途径 前言 目标网站:aHR0cHM6Ly9wYXNzcG9ydC5tZWl0dWFuLmNvbS9hY2NvdW50L3VuaXRpdmVsb2dpbg 页面分析 接口流程 1.https://passport.meituan.com/account/unitivelogin主页接口:需获取下面的参数&#xff0…

Intel 处理器 macOS降级到Big Sur

1 创建可引导的 macOS 安装器 将移动硬盘作安装 Mac 操作系统的启动磁盘。 创建可引导安装器需要满足的条件 移动硬盘(格式化为 Mac OS 扩展格式),至少有 14GB 可用空间已下载 macOS Big Sur的安装器 2 下载 macOS macOS Big Sur安装器会…

分享一个OJ平台——浙江工商大学的OJ平台

1.引言 最近是有总喜欢讨论算法题,因为他们在准备考研复试,为什么我不准备呢?这是一个悲伤的故事,刚好自己也有面试遇到只能使用C和C的代码题,他们说这OJ平台相对简单一些,那些刷不来LeetCode可以试试这个&…

【数据分析:工具篇】NumPy(1)NumPy介绍

【数据分析:工具篇】NumPy(1)NumPy介绍NumPy介绍NumPy的特点数组的基本操作创建数组索引和切片数组运算NumPy介绍 NumPy(Numerical Python)是Python的一个开源的科学计算库,它主要用于处理大规模的多维数组…

linux安装mysql-8.0.31

1)、下载mysql-8.0.31压缩包两种方式 a.本地下载后上传服务器解压,下载地址:https://downloads.mysql.com/archives/community/ b.服务器使用命令下载,注意:路径在那,就下载到那个位置。 wget https://dev.mysql.com/…

解Bug之路-Nginx 502 Bad Gateway

前言 事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反应过来是为何。笔者读过一些Linux TCP协议栈的源码…

宁盾目录成功对接Coremail邮箱,为其提供LDAP统一认证和双因子认证

近日,宁盾与 Coremail 完成兼容适配,在 LDAP 目录用户同步、统一身份认证及双因子认证等模块成功对接。借此机会,双方将加深在产品、解决方案等多个领域的合作,携手共建信创合作生态,打造信创 LDAP 身份目录服务新样本…

第15章 局部波动率的影响

这学期会时不时更新一下伊曼纽尔德曼(Emanuel Derman) 教授与迈克尔B.米勒(Michael B. Miller)的《The Volatility Smile》这本书,本意是协助导师课程需要,发在这里有意的朋友们可以学习一下,思…

Java基础-2023.3.08-Java入门

Java入门 1.人机交互 CMD(K1-K5) 1.CMD: 1)在Windows中,利用命令行的方式操作计算机 2)可以打开文件,打开文件夹,创建文件夹等 注: 2.打开CMD …

GEE学习01--配置Python与Jupyter Notebook

1、查看自己电脑有哪些Python 首先,使用Arcgis Pro克隆了Python,原先的Pro自带和clone的Python都要确保在系统变量中设置了Path。 这里可以看到有一个WindowsApps,在Path中要将其至于自己的Python下面,否则的话,在Cm…

JavaScript语法

文章目录一、JavaScript是什么?JavaScript引入方式二、基础语法书写语法输出语句变量数据类型运算符流程控制语句数组函数JS变量作用域对象一、JavaScript是什么? JavaScript:是一门跨平台的脚本语言,用来控制网页行为&#xff0…

目标检测 pytorch复现R-CNN目标检测项目

目标检测 pytorch复现R-CNN目标检测项目1、R-CNN目标检测项目基本流程思路2、项目实现1 、数据集下载:2、车辆数据集抽取3、创建分类器数据集3、微调二分类网络模型4、分类器训练5、边界框回归器训练6、效果测试目标检测 R-CNN论文详细讲解1、R-CNN目标检测项目基本…