贝叶斯神经网络(Bayesian Neural Network)

最近在研究贝叶斯神经网络,一些概念一直搞不清楚,这里整理一下相关内容,方便以后查阅。

贝叶斯神经网络(Bayesian Neural Network)

  • 贝叶斯神经网络(Bayesian Neural Network)
    • 1. BNN 的核心思想
    • 2. BNN 的优化目标
    • 3. BNN 的结构与特点
    • 4. BNN 的训练过程
    • 5. BNN 的优缺点
    • 6. 与经典神经网络的对比
    • 7. 简单代码示例(PyTorch)
    • 总结
  • BNN 的目标是计算后验分布
    • 1. 经典神经网络与最大化似然估计
    • 2. 贝叶斯神经网络的目标
    • 3. 经典神经网络与贝叶斯神经网络的核心区别
    • 4. 为什么不是最大化似然估计或最小化损失函数
    • 5. 贝叶斯神经网络的优化目标
    • 6. 实际意义:后验分布的好处
    • 总结
  • Bayes by Backprop
    • 1. Bayes by Backprop 的目标
    • 2. Bayes by Backprop 的实现细节
    • 总结
  • 经典神经网络优化的例子
    • 使用均方根误差优化
      • 代码实现
      • 代码解释
      • 对比 Bayes by Backprop
    • 使用最大化似然估计优化
      • 代码实现
      • 代码解释
      • MLE如何在此应用
      • 对比 Bayes by Backprop

贝叶斯神经网络(Bayesian Neural Network)

贝叶斯神经网络(Bayesian Neural Network, BNN) 是在经典神经网络中引入贝叶斯概率框架的一种扩展模型。它将网络的权重参数表示为概率分布,而不是确定性的点值,从而可以量化模型和预测结果的不确定性。

在这里插入图片描述

在这里插入图片描述

1. BNN 的核心思想

在经典神经网络中,权重是固定的点值,通过最小化损失函数(如均方误差、交叉熵)来优化权重参数。而在贝叶斯神经网络中,权重被建模为概率分布,目标是通过数据更新这些分布(即计算后验分布)。

贝叶斯定理:
p ( w ∣ D ) = p ( D ∣ w ) p ( w ) p ( D ) , p(\mathbf{w}|\mathcal{D}) = \frac{p(\mathcal{D}|\mathbf{w}) p(\mathbf{w})}{p(\mathcal{D})}, p(wD)=p(D)p(Dw)p(w),

其中:

  • p ( w ∣ D ) p(\mathbf{w}|\mathcal{D}) p(wD):后验分布,表示在观察数据后,权重的分布。
  • p ( D ∣ w ) p(\mathcal{D}|\mathbf{w}) p(Dw):似然函数,表示数据在给定权重下的可能性。
  • p ( w ) p(\mathbf{w}) p(w):先验分布,表示我们对权重的先验假设(如权重可能是零均值的高斯分布)。
  • p ( D ) p(\mathcal{D}) p(D):边际似然,通常通过积分对所有可能的权重求和:
    p ( D ) = ∫ p ( D ∣ w ) p ( w ) d w . p(\mathcal{D}) = \int p(\mathcal{D}|\mathbf{w}) p(\mathbf{w}) d\mathbf{w}. p(D)=p(Dw)p(w)dw.

2. BNN 的优化目标

BNN 的目标是计算后验分布 p ( w ∣ D ) p(\mathbf{w}|\mathcal{D}) p(wD)。由于边际似然 p ( D ) p(\mathcal{D}) p(D) 的计算通常非常困难(涉及高维积分),我们采用近似方法来推断后验分布,例如:

  1. 变分推断(Variational Inference)
    用一个简单的分布 q ( w ∣ θ ) q(\mathbf{w}|\boldsymbol{\theta}) q(wθ) 近似 p ( w ∣ D ) p(\mathbf{w}|\mathcal{D}) p(wD),并最小化 KL 散度:
    K L ( q ( w ∣ θ ) ∥ p ( w ∣ D ) ) . \mathrm{KL}(q(\mathbf{w}|\boldsymbol{\theta}) \| p(\mathbf{w}|\mathcal{D})). KL(q(wθ)p(wD)).

  2. 蒙特卡罗方法(Monte Carlo Methods)
    使用随机采样方法(如 MCMC)直接从后验分布中采样。

  3. 贝叶斯 by Backprop
    通过重参数化技巧,将变分推断和神经网络的反向传播结合。

3. BNN 的结构与特点

BNN 与经典神经网络的主要区别是权重的建模方式

  • 经典神经网络:权重是固定值(点估计)。
  • 贝叶斯神经网络:权重是概率分布,表示为 p ( w ) p(\mathbf{w}) p(w)

在 BNN 中,推断网络输出时也会引入随机性:
p ( y ∣ x , D ) = ∫ p ( y ∣ x , w ) p ( w ∣ D ) d w . p(\mathbf{y}|\mathbf{x}, \mathcal{D}) = \int p(\mathbf{y}|\mathbf{x}, \mathbf{w}) p(\mathbf{w}|\mathcal{D}) d\mathbf{w}. p(yx,D)=p(yx,w)p(wD)dw.

这意味着预测结果(输出 y \mathbf{y} y)不仅依赖于输入 x \mathbf{x} x还受到权重分布的不确定性影响

4. BNN 的训练过程

BNN 的训练过程包括以下步骤:

  1. 定义先验分布
    对权重 w \mathbf{w} w 定义一个先验分布 p ( w ) p(\mathbf{w}) p(w),例如零均值的高斯分布:
    p ( w ) = N ( w ∣ 0 , σ 2 ) . p(\mathbf{w}) = \mathcal{N}(\mathbf{w}|0, \sigma^2). p(w)=N(w∣0,σ2).

  2. 计算似然函数
    定义数据的似然函数 p ( D ∣ w ) p(\mathcal{D}|\mathbf{w}) p(Dw)例如对分类任务,通常是交叉熵损失对应的概率分布

  3. 近似后验分布
    q ( w ∣ θ ) q(\mathbf{w}|\boldsymbol{\theta}) q(wθ) 近似 p ( w ∣ D ) p(\mathbf{w}|\mathcal{D}) p(wD)

    • q ( w ∣ θ ) q(\mathbf{w}|\boldsymbol{\theta}) q(wθ) 的参数(如均值 μ \mu μ 和方差 σ \sigma σ)是通过优化得到的。
    • 目标是最大化变分下界:
      L ( θ ) = E q ( w ∣ θ ) [ log ⁡ p ( D ∣ w ) ] − K L ( q ( w ∣ θ ) ∥ p ( w ) ) . \mathcal{L}(\boldsymbol{\theta}) = \mathbb{E}_{q(\mathbf{w}|\boldsymbol{\theta})}[\log p(\mathcal{D}|\mathbf{w})] - \mathrm{KL}(q(\mathbf{w}|\boldsymbol{\theta}) \| p(\mathbf{w})). L(θ)=Eq(wθ)[logp(Dw)]KL(q(wθ)p(w)).

对最小化变分下界的理解:

  1. 第一部分:对数似然的期望 E q ( w ∣ θ ) [ log ⁡ p ( D ∣ w ) ] \mathbb{E}_{q(\mathbf{w}|\boldsymbol{\theta})}[\log p(\mathcal{D}|\mathbf{w})] Eq(wθ)[logp(Dw)]

    • 作用:评估近似分布 q ( w ∣ θ ) q(\mathbf{w}|\boldsymbol{\theta}) q(wθ) 在训练数据 D \mathcal{D} D 上的拟合能力。
    • 解释:从分布 q ( w ∣ θ ) q(\mathbf{w}|\boldsymbol{\theta}) q(wθ) 中采样权重 w \mathbf{w} w,然后计算其对应的对数似然 log ⁡ p ( D ∣ w ) \log p(\mathcal{D}|\mathbf{w}) logp(D

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Socket学习(一):控制台聊天demo

实现效果 客户端连接服务端后,可在控制台输入要发送的消息,服务端收到消息后自动回复消息并将消息转发给所有连接上的客户端: 服务端收到消息并回复 客户端1发送消息并接收服务端的回复 客户端2接收服务端转发的消息 源码 SocketServer…

word中文献引用[]符号的上下标格式修改

word中文献引用[]符号的上下标格式修改 百度网址 1、查找打开使用通配符,输入[[][0-9]{1,2}[]],即可匹配所有的字[1],[12]这些字符,然后鼠标点击替换为的空白处,再点击特殊格式–>“字体”,选中上标,最…

3.若依前端项目拉取、部署、访问

因为默认RuoYi-Vue是使用的Vue2,所以需要另外去下载vue3来部署。 拉取代码 git clone https://gitee.com/ys-gitee/RuoYi-Vue3.git 安装node才能执行npm相关的命令 执行命令npm install 如果npm install比较慢的话,需要添加上国内镜像 npm install --registrhttp…

在线学习平台-项目技术点-前台

报错解决方法 1、P166-尚硅谷_在线教育_Nuxt整合错误_nuxt friendly-errors-CSDN博客 2、P168 3、P170 4、P173 npm remove axios npm install axios0.18.0 1、服务端渲染技术NUXT 1.1服务端渲染SSR 服务端渲染又称SSR (Server Side Render)是在服务端完成页面的内容&…

Java-02 深入浅出 MyBatis - MyBatis 快速入门(无 Spring) POM Mapper 核心文件 增删改查

点一下关注吧!!!非常感谢!!持续更新!!! 大数据篇正在更新!https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了: MyBatis&#xff…

Mysql进阶SQL优化

SQL优化在开发场景中必不可少的技能之一,它能最大限度的提升SQL查询性能,如果随意使用也会出现不可预料的结局。 1、为什么要优化SQL 我们先说说不优化SQL造成什么现象。常见问题是响应时间长,用户体验感低。数据库频繁争抢锁,浪…

SpringBoot使用外置的Servlet容器(详细步骤)

嵌入式Servlet容器:应用打成可执行的jar 优点:简单、便携; 缺点:默认不支持JSP、优化定制比较复杂.; 外置的Servlet容器:外面安装Tomcat---应用war包的方式打包; 操作步骤: 方式一&…

基于统计分析与随机森林的环境条件对生菜生长的影响研究

1.项目背景 随着现代农业的发展,对植物生长过程中环境因素的影响有了越来越多的关注,基于2023年8月3日至2023年9月19日期间记录的70个不同生菜样本的生长数据进行分析,可以更好地理解温度、湿度、pH值和总溶解固体(TDS&#xff0…

Bitmap(BMP)图像信息分析主要说明带压缩的形式

文章目录 参考资料Bitmap图片结构Bitmap图片组成实例说明 参考资料 微软官方-位图存储 Bitmap图片结构 序号名称说明1Bitmap File HeaderBitmap文件头2Bitmap Info HeaderBitmap信息头3Color Palette Data调色板数据4Bitmap Image Data图像数据 说明 Bitmap文件头的大小为…

百度热力图数据日期如何选择

目录 1、看日历2、看天气 根据研究内容定,一般如果研究城市活力的话,通常会写“非重大节假日,非重大活动,非极端天气等”。南方晴天不多,有小雨或者中雨都可认为没有影响,要不然在南方很难找到完全一周没有…

基于ArcGIS Pro的SWAT模型在流域水循环、水生态模拟中的应用及案例分析;SWAT模型安装、运行到结果读取全流程指导

目前,流域水资源和水生态问题逐渐成为制约社会经济和环境可持续发展的重要因素。SWAT模型是一种基于物理机制的分布式流域水文与生态模拟模型,能够对流域的水循环过程、污染物迁移等过程进行精细模拟和量化分析。SWAT模型目前广泛应用于流域水文过程研究…

【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)111

文章目录 一、算法概念111二、算法原理(一)感知机(二)多层感知机1、隐藏层2、激活函数sigma函数tanh函数ReLU函数 3、反向传播算法 三、算法优缺点(一)优点(二)缺点 四、MLP分类任务…

tryhackme-Cyber Security 101-Cryptography-Cryptography Basics(加密基础)

目的:了解加密和对称加密的基础知识。 任务1:介绍 你有没有想过如何防止第三方阅读你的消息?您的应用程序 或 Web 浏览器如何与远程服务器建立安全通道?安全是指没有人可以读取或更改交换的数据;此外,我们可以确信我们…

螺杆支撑座在运用中会出现哪些问题?

螺杆支撑座是一种用于支撑滚珠螺杆的零件,通常用于机床、数控机床、自动化生产线等高精度机械设备中。在运用中可能会出现多种问题,这些问题源于多个方面,以下是对可能出现的问题简单了解下: 1、安装不当:安装过程中没…

基于SpringBoot的在线文档管理系统的设计与实现

一、项目背景 随着社会的快速发展,计算机的影响是全面且深入的。员工生活水平的不断提高,日常生活中员工对在线文档方面的要求也在不断提高,在线文档管理受到广大员工的关注,使得在线文档管理系统的开发成为必需而且紧迫的事情。…

UE5 崩溃问题汇总!!!

Using bundled DotNet SDK version: 6.0.302 ERROR: UnrealBuildTool.dll not found in "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" 在你遇到这种极奇崩溃的BUG ,难以解决的时候。 尝试了N种方法,都不行的解决方法。…

QML学习(五) 做出第一个简单的应用程序

通过前面四篇对QML已经有了基本的了解,今天先尝试做出第一个单页面的桌面应用程序。 1.首先打开Qt,创建项目,选择“QtQuick Application - Empty” 空工程。 2.设置项目名称和项目代码存储路径 3.这里要注意选择你的编译器类型,以及输出的程…

Dockerfile基础指令

1.FROM 基于基准镜像(建议使用官方提供的镜像作为基准镜像,相对安全一些) 举例: 制作基准镜像(基于centos:lastest) FROM cenots 不依赖于任何基准镜像 FROM scratch 依赖于9.0.22版本的tomcat镜像 FROM…

光谱相机的工作原理

光谱相机的工作原理主要基于不同物质对不同波长光的吸收、反射和透射特性存在差异,以下是其具体工作过程: 一、光的收集 目标物体在光源照射下,其表面会对光产生吸收、反射和透射等相互作用。光谱相机的光学系统(如透镜、反射镜…

Windows Subsystem for Linux (WSL)

目录 定义与功能 版本与特点 应用场景 启用 WSL 功能 更新WSL及其内核 下载Linux发行版本 WSL(Windows Subsystem for Linux)是微软在Windows 10和Windows 11中引入的一项功能,使用户能够在Windows上原生运行Linux的命令行工具和应用程…