首页 > 其他分享 >对归纳偏置的理解

对归纳偏置的理解

时间:2023-02-14 11:14:05浏览次数:38  
标签:偏置 归纳 假设 模型 偏见 算法 理解

参考SimpleAI这篇帖子:https://view.inews.qq.com/k/20211214A03DKG00

其实这个词已经见到很久了,之前也查了一些东西,但是感觉总是说法不一,而且用法也非常普遍,本文用一些论文使用样例给了一个比较全面的介绍。

简单来说,归纳偏置,就是让算法优先某种解决方案,这种偏好是独立于观测的数据的。好的归纳偏置,会提升算法搜索解的效率(同时不会怎么降低性能),而不好的归纳偏置则会让算法陷入次优解,因为它对算法带来了太强的限制。

我理解着,其实就是加入一种限制,或者说加入一种偏见。举个例子,全连接网络的归纳偏置很轻微,因为它假设所有的单元都可能会有联系;而卷积神经网络加入的就是局部性和平移不变性;循环神经网络则是假设数据具有序列相关性和时序不变性等等,这些都是网络设计者的一种假设或者说偏见。对什么的偏见?当然是对其处理的数据的一种偏见,这就是归纳偏置,而如果这些偏见很好,那么当然可以提升效率。

再说的直白一些,其实就是对所研究问题的一种假设,或者说根据已有的先验知识做的一种归纳,也就是推测,预先让模型知道“这些是正确的”。

No-Free-Lunch 不存在免费午餐理论提出:学习是不可能的,除非有先验知识。通常情况下,我们不知道具体上帝函数的情况,但我们猜测它属于一个比较小的假设类别之中,这种基于先验知识对目标模型的判断就是Inductive bias-归纳误差。归纳误差所做的事情,是将无限可能的目标函数约束在一个有限的假设类别之中,这样,模型的学习才成为可能。否则,深度学习的学习将是毫无原则地掷骰子!

这篇帖子还给出了两个例子:

1数据角度:作者认为某种方式的样本组合也可以产生正常的样本,从而希望模型能够学习到这种组合方式,其实本质上就是一种数据增强,但是这背后是人为地让模型认为了这种组合是对的,因此这便是一种限制,可以称之为归纳偏置。

2算法角度:作者提出一种新的方法,将这种方法赋予模型,那么模型如果表现更好的话,那这种方法就是一个符合实际情况的假设,也算是一个好的归纳偏置。

 

总之一句话,归纳偏置是作者附加给模型的一种偏见。

标签:偏置,归纳,假设,模型,偏见,算法,理解
From: https://www.cnblogs.com/loveandninenine/p/17118929.html

相关文章

  • 如何理解spring框架中的依赖注入和控制反转?
     ioc,InversionofControl(控制反转),是Spring中的一种设计思想而非技术。我们可以从4个方面理解ioc:①谁控制谁?——Ioc容器控制对象。②控制了什么?——Ioc容器控......
  • 05.深入理解JMM和Happens-Before
    大家好,我是王有志。关注​​王有志​​,一起聊技术,聊游戏,聊在外漂泊的生活。JMM都问啥?最近沉迷P5R,所以写作的进度很不理想,但不得不说​​高卷杏​​YYDS。话不多说,开始今天的......
  • 如何理解Spring框架中的ioc?
    目录如何理解Spring框架中的ioc?DI耦合和内聚如何理解Spring框架中的ioc?ioc,InversionofControl(控制反转),是Spring中的一种设计思想而非技术。我们可以从4个方面理解io......
  • 深入理解npm scripts
    故事要从改造公司项目脚手架说起,去年(2022年)我在部门做了vite技术分享,会后与前端基建同学聊了一下,打算将公司脚手架的构建工具由webpack升级成vite,提升开发体验,生产环境依......
  • c 理解
    exit()的含义:提前结束程序 .c 文件return的含义:提前结束函数,其所在行以下,整体大函数底花括号以上,2者之间的所有语句都不会被执行到,用它来提前结束程序。break的含义......
  • nuttx理解
    操作系统:为啥要引入操作系统,个人的理解是为了实时性(即及时的响应性)。没有操作系统下多个任务都只能以前后台的方式排队执行,对某个任务的输入不能得到及时的响应;虽然后......
  • 如何理解SpringBoot中的Starter
    starter可以使我们少定义一些配置比如我们使用spring+springMvc进行开发时,如果需要引入mybatis等框架,还需要再去xml中定义mybatis需要的bean。使用starter可以让我们开箱......
  • Nginx - 深入理解nginx的处理请求、进程关系和配置文件重载
    概述Nginx的系统学习整理的第三篇博客,主要介绍nginx的应用场景和架构基础,以便更好的理解,再生产环境中进行性能调优。Nginx的三个主要应用场景1.静态资源服务,通过本地文......
  • 【LeetCode字符串#05】基于个人理解的KMP算法图解,以及应用到strStr()函数实现
    KMP算法(用于实现strStr())strStr()函数是用来在一个字符串中搜索是否存在另一个字符串的函数,其匹配字符串方式为KMP算法KMP算法基础理论假设有如下两个字符串文本串......
  • java——spring boot集成RabbitMQ——组件概念理解
    首先,什么是虚拟主机:   把一个rmq区域,分成多个虚拟区域,供不同主体使用。这样可以不相互干扰。也容易管理。 类似在一台服务器上面,安装多个虚拟机,供不同主题使用。......