当前位置: 首页 > news >正文

西瓜书学习笔记三 归纳偏好

1.4 归纳偏好

        通过学习得到的模型对应了假设空间中的一个假设。于是,图1. 2的西瓜版本空间给我们带来一个麻烦:现在有三个与训练集一致的假设,但与它们对应的模型在面临新样本的时候,却会产生不同的输出。现在有一个新瓜,一个模型会把新瓜判断为好瓜,而如果采用另外两个假设,则判断的结果将不是好瓜。那么应该采用哪一个模型(或假设)呢?

        机器学习算法在学习过程中对某种类型假设的偏好,称为"归纳偏好" (inductive bias) , 或简称为"偏好”。对"根蒂"还是对"敲声"更重视,看起来和属性选择,亦称"特征选择" (feature selection) 关,但需注意的是,机器学习中的特征选择仍是基于对训练样本的分析进行的, 而在此处我们并非基于特征选择做出对"根蒂"的重视,这里对"根蒂"的信赖可视为基于某种领域知识而产生的归纳偏好。任何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上"等效"的假设所迷惑,而无法产生确定的学习结果,就像一个西瓜有时被判定为好的有时是不好的,这样的学习结果没有意义。

        归纳偏好的作用在图1. 3这个回归学习图示中可能更直观.这里的每个训练样本是图中的一个点 (x y), 要学得一个与训练集一致的模型,相当于找到一 条穿过所有训练样本点的曲线。显然,对有限个样本点组成的训练集,存在着很多条曲线与其一致。我们的学习算法必须有某种偏好,才能产出它认为"正确"的模型。例如,若认为相似的样本应有相似的输出(例如,在各种属性上都很相像的西瓜,成熟程度应该比较接近),则对应的学习算法可能偏好图1. 3中比较"平滑"的曲线 A 而不是比较"崎岖"的曲线 B 。

 

        有没有一般性的原则来引导算法确立 "正确的"偏好呢? "奥卡姆剃刀" (Occam's razor) 是一种常用的、自然科学研究中最基本的原则,即"若有多个假设与观察一致,则选最简单的那个”。如果采用这个原则,我们认为“更平滑”意味着“更简单”,会自然地偏好“平滑”的曲线 A 。奥卡姆剃刀并非唯一可行的原则。

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

        图1.3中的曲线 A 可能比 B好,也可能比 B 差。

 下面的证明可以跳过,讲的是没有免费的午餐定理

我们需注意到, NFL 定理有一个重要前提:所有"问题"出现的机会相同、或所有问题同等重要。但实际情形并不是这样。上面 NFL 定理的简短论述过程中假设了 f 的均匀分布,而实际情形并非如此。NFL 定理最重要的寓意,是让我们清楚地认识到,脱离具体问题,空泛地谈论"什么学习算法更好"毫无意义,因为若考虑所有潜在的问题,则所有学习算法都一样好.

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python(6) : 读取pdf的文本, 读取pdf每一页为文件
  • 详细介绍pytorch重要的API
  • 靠谱是性价比最高的社交名片:一个靠谱的人往往有这4种品质!
  • 算法的学习笔记—二叉树的镜像(牛客JZ27)
  • Spring 中ConfigurableBeanFactory
  • Redis的热key以及Big(大)key是什么?如何解决Redis的热key以及Big(大)key问题?
  • arcgis打开不同tif格式编码的栅格数据
  • 【卡码网Python基础课 21.图形的面积】
  • 高速信号的眼图、加重、均衡
  • Spire.PDF for .NET【文档操作】演示:检测 PDF 文件是否为 Portfolio
  • Airtest 的使用
  • 对比state和props的区别?
  • C语言——操作符详解
  • C++ STL sort_heap 用法
  • XSS---DOM破坏靶场复现
  • Apache Spark Streaming 使用实例
  • ES6之路之模块详解
  • Java 多线程编程之:notify 和 wait 用法
  • Javascript Math对象和Date对象常用方法详解
  • JavaScript设计模式之工厂模式
  • Laravel5.4 Queues队列学习
  • React组件设计模式(一)
  • redis学习笔记(三):列表、集合、有序集合
  • Solarized Scheme
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 小李飞刀:SQL题目刷起来!
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​flutter 代码混淆
  • ​马来语翻译中文去哪比较好?
  • !!Dom4j 学习笔记
  • $(selector).each()和$.each()的区别
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (二)fiber的基本认识
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (三)mysql_MYSQL(三)
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (十五)使用Nexus创建Maven私服
  • (十一)图像的罗伯特梯度锐化
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (一)80c52学习之旅-起始篇
  • (一)VirtualBox安装增强功能
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转载)虚函数剖析
  • (状压dp)uva 10817 Headmaster's Headache
  • .net core + vue 搭建前后端分离的框架
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据