2024-12-29-sklearn学习(25)无监督学习-神经网络模型(无监督) 烟笼寒水月笼沙,夜泊秦淮近酒家。

news2025/1/6 21:20:22

文章目录

  • sklearn学习(25) 无监督学习-神经网络模型(无监督)
    • 25.1 限制波尔兹曼机
      • 25.1.1 图形模型和参数化
      • 25.1.2 伯努利限制玻尔兹曼机
      • 25.1.3 随机最大似然学习

sklearn学习(25) 无监督学习-神经网络模型(无监督)

文章参考网站:
https://sklearn.apachecn.org/

https://scikit-learn.org/stable/

25.1 限制波尔兹曼机

限制玻尔兹曼机(Restricted Boltzmann machines,简称 RBM)是基于概率模型的无监督非线性特征学习器。当用 RBM 或多层次结构的RBMs 提取的特征在馈入线性分类器(如线性支持向量机或感知机)时通常会获得良好的结果。

该模型对输入的分布作出假设。目前,scikit-learn 只提供了 BernoulliRBM,它假定输入是二值(binary values)的,或者是 0 到 1 之间的值,每个值都编码特定特征被激活的概率。

RBM 尝试使用特定图形模型最大化数据的似然。它所使用的参数学习算法(随机最大似然)可以防止特征表示偏离输入数据。这使得它能捕获到有趣的特征,但使得该模型对于小数据集和密度估计不太有效。

该方法在初始化具有独立 RBM 权值的深度神经网络时得到了广泛的应用。这种方法是无监督的预训练。

http://sklearn.apachecn.org/cn/0.19.0/_images/sphx_glr_plot_rbm_logistic_classification_0011.png

示例

  • Restricted Boltzmann Machine features for digit classification

25.1.1 图形模型和参数化

RBM 的图形模型是一个全连接的二分图。

http://sklearn.apachecn.org/cn/0.19.0/_images/rbm_graph.png

节点是随机变量,其状态取决于它连接到的其他节点的状态。这个模型可通过连接的权重、以及每个可见或隐藏单元的偏置项进行参数化,为了简单起见,我们省略了上图中的偏置项。

用能量函数衡量联合概率分布的质量:
E ( v , h ) = − ∑ i ∑ j w i j v i h j − ∑ i b i v i − ∑ j c j h j E(\mathbf{v}, \mathbf{h}) = -\sum_i \sum_j w_{ij}v_ih_j - \sum_i b_iv_i - \sum_j c_jh_j E(v,h)=ijwijvihjibivijcjhj

在上面的公式中, b \mathbf{b} b c \mathbf{c} c 分别是可见层和隐藏层的偏置向量。模型的联合概率是根据能量来定义的:
P ( v , h ) = e − E ( v , h ) Z P(\mathbf{v}, \mathbf{h}) = \frac{e^{-E(\mathbf{v}, \mathbf{h})}}{Z} P(v,h)=ZeE(v,h)
“限制”是指模型的二分图结构,它禁止隐藏单元之间或可见单元之间的直接交互。 这代表以下条件独立性成立:
h i ⊥ h j ∣ v v i ⊥ v j ∣ h h_i \bot h_j | \mathbf{v} \\ v_i \bot v_j | \mathbf{h} hihjvvivjh
二分图结构允许使用高效的块吉比斯采样(block Gibbs sampling)进行推断。

25.1.2 伯努利限制玻尔兹曼机

BernoulliRBM 中,所有单位都是二进制随机单元。这意味着输入数据应该是二值,或者是在 0 和 1 之间的实数值,其表示可见单元活跃或不活跃的概率。 这是一个很好的字符识别模型,其中的关注点是哪些像素是活跃的,哪些不是。 对于自然场景的图像,它因为背景、深度和相邻像素趋势取相同的值而不再适合。

每个单位的条件概率分布由其接收的输入的 logistic sigmoid函数给出:
P ( v i = 1 ∣ h ) = σ ( ∑ j w i j h j + b i ) P ( h i = 1 ∣ v ) = σ ( ∑ i w i j v i + c j ) P(v_i=1|\mathbf{h}) = \sigma(\sum_j w_{ij}h_j + b_i) \\P(h_i=1|\mathbf{v}) = \sigma(\sum_i w_{ij}v_i + c_j) P(vi=1∣h)=σ(jwijhj+bi)P(hi=1∣v)=σ(iwijvi+cj)
其中 σ \sigma σ 是 logistic sigmoid函数:
σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+ex1

25.1.3 随机最大似然学习

BernoulliRBM 函数中实现的训练算法被称为随机最大似然(SML)或持续对比发散(PCD)。由于数据的似然函数的形式,直接优化最大似然是不可行的:
log ⁡ P ( v ) = log ⁡ ∑ h e − E ( v , h ) − log ⁡ ∑ x , y e − E ( x , y ) \log P(v) = \log \sum_h e^{-E(v, h)} - \log \sum_{x, y} e^{-E(x, y)} logP(v)=logheE(v,h)logx,yeE(x,y)
为了简单起见,上面的等式是针对单个训练样本所写的。相对于权重的梯度由对应于上述的两个项构成。根据它们的符号,它们通常被称为正梯度和负梯度。这种实现按照小批量样本对梯度进行计算。

在最大化对数似然度(maximizing the log-likelihood)的情况下,正梯度使模型更倾向于与观察到的训练数据兼容的隐藏状态。RBM 的二分体结构使他可以被高效地计算。然而,负梯度是棘手的。其目标是降低模型偏好的联合状态的能量,从而使数据保持真实。它可以使用块吉比斯采样通过马尔可夫链蒙特卡罗来粗略估计,它通过迭代地对每个 v v v h h h 进行交互采样,直到链混合。以这种方式产生的样本有时被称为幻想粒子。这是低效的,并且我们很难确定马可夫链是否混合。

对比发散方法建议在经过少量迭代后停止链,迭代数 k k k 通常为 1。该方法快速且方差小,但样本远离模型分布。

持续对比发散解决了这个问题。在 PCD 中,我们保留了多个链(幻想粒子)来在每个权重更新之后更新 k k k 个吉比斯采样步骤,而不是每次需要梯度时都启动一个新的链,并且只执行一个吉比斯采样步骤。这使得粒子能更彻底地探索空间。

参考资料

“A fast learning algorithm for deep belief nets” G. Hinton, S. Osindero, Y.-W. Teh, 2006

“Training Restricted Boltzmann Machines using Approximations to the Likelihood Gradient” T. Tieleman, 2008

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

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

相关文章

数据挖掘——决策树分类

数据挖掘——决策树分类 决策树分类Hunt算法信息增益增益比率基尼指数连续数据总结 决策树分类 树状结构,可以很好的对数据进行分类; 决策树的根节点到叶节点的每一条路径构建一条规则;具有互斥且完备的特点,即每一个样本均被且…

数据仓库建设方案和经验总结

在做数据集成的过程中,往往第二步的需求就是建设数仓由于数据分散在不同的存储环境或数据库中,对于新业务需求的开发需要人工先从不同的数据库中同步、集中、合并等处理,造成资源和人力的浪费。同时,目前的系统架构,无…

迈向AGI,3、2、1,2025上链接!

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 往期精彩文章推荐 关于AI TIME AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全…

云效流水线使用Node构建部署前端web项目

云效流水线实现自动化部署 背景新建流水线配置流水线运行流水线总结 背景 先来看看没有配置云效流水线之前的部署流程: 而且宝塔会经常要求重新登录,麻烦的很 网上博客分享了不少的配置流程,这一篇博客的亮点就是不仅给出了npm命令构建&…

计算机网络 (14)数字传输系统

一、定义与原理 数字传输系统,顾名思义,是一种将连续变化的模拟信号转换为离散的数字信号,并通过适当的传输媒介进行传递的系统。在数字传输系统中,信息被编码成一系列的二进制数字,即0和1,这些数字序列能够…

【Leecode】Leecode刷题之路第97天之交错字符串

题目出处 97-交错字符串-题目出处 题目描述 个人解法 思路: todo代码示例:(Java) todo复杂度分析 todo官方解法 97-交错字符串-官方解法 方法1:动态规划 思路: class Solution {public boolean isInte…

【Python】闭包

闭包(Closure)是指一个函数记住了并可以访问它的词法作用域(lexical scope),即使这个函数在词法作用域之外执行。 闭包其实就是延伸了作用域的函数,包括被延伸函数主体中引用的非全局变量和局部变量。这些…

【机器学习】【朴素贝叶斯分类器】从理论到实践:朴素贝叶斯分类器在垃圾短信过滤中的应用

🌟 关于我 🌟 大家好呀!👋 我是一名大三在读学生,目前对人工智能领域充满了浓厚的兴趣,尤其是机器学习、深度学习和自然语言处理这些酷炫的技术!🤖💻 平时我喜欢动手做实…

信息系统项目管理师——第8章章 项目整合管理 笔记

8 项目整合管理(最后反过来看) 项目整合过程:①制定项目章程(启动过程)、②制订项目管理计划(规划过程)、③指导和管理项目工作、管理项目知识(执行过程)、④监控项目工…

机器学习 学习知识点

机器学习 学习知识点 什么是消融实验(Ablation experiment)?num_step与batch_size的区别python glob.glob()函数认识python的条件判断之is not、is not None、is Nonetqdm介绍及常用方法softmax 激活函数。type_as(tesnor)Python OpenCV cv2.…

【论文+源码】一个基于SSM(Spring + Spring MVC + MyBatis)的公寓电能计量系统

为了实现一个基于SSM(Spring Spring MVC MyBatis)的公寓电能计量系统,我们需要创建一个简单的Web应用程序来记录和显示每个公寓的电能使用情况。以下是一个基本的实现示例。 我们将包括以下几个部分: 数据库表设计实体类DAO层…

【74LS160+74LS273DW锁存器8位的使用频率计】2022-7-12

缘由 想知道这个数字频率计仿真哪里出现错误了,一直无法运行哎,如何解决?-运维-CSDN问答

redux react-redux @reduxjs/toolkit

redux团队先后推出了redux、react-redux、reduxjs/toolkit,这三个库的api各有不同。本篇文章就来梳理一下当我们需要在项目中集成redux,从直接使用redux,到使用react-redux,再到react-redux和reduxjs/toolkit配合使用,…

Visual Studio 2022安装教程

1、下载网址 Visual Studio 2022 IDE安装网址借助 Visual Studio 设计,具有自动完成、构建、调试、测试功能的代码将与 Git 管理和云部署融为一体。https://visualstudio.microsoft.com/zh-hans/vs/ 点击图片所示 双击运行 2、安装 点击C桌面开发(右边…

Mono里运行C#脚本21—mono_image_init_name_cache

前面分析了怎么样加载mscorlib.dll文件,然后把文件数据读取到内存。 接着下来,就会遇到加载整个C#的类型系统,比如System. Object,大体类型如下图所示: 在对CIL编译之前,需要把这些类型全部加载到内存里,以便快捷地访问它们。 mono_image_init_name_cache函数就是完成…

C/C++编程安全标准GJB-8114解读——分支控制类

软件测试实验室在建立软件测试体系或申请cnas/cma相关资质时,需要依据相关技术标准选择合适的测试方法,并明确在测试作业指导书中,指导后续软件测试工作的开展。GJB-8114是一部嵌入式软件安全测试相关的国家标准,本系列文章我们就…

国产文本编辑器EverEdit - 批量转码转换行符

1 批量转码&转换行符 1.1 应用场景 如果用户批量在Windows编辑文件,要上传到异构系统,如:Linux,则需要批量转换编码和换行符,此时可以使用EverEdit的批量转码功能。 1.2 使用方法 选择主菜单文档 -> 批量转码…

期权懂|期权都有哪些存在的风险因素?

锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 期权都有哪些存在的风险因素? 一、市场价格波动风险 期权的价格受到多种因素的影响,包括标的资产价格、市场利率、波动率等。 这些因素的变化可能导致期…

关于AI面试系统2025年趋势评估!

在快速发展的科技浪潮中,AI技术正以前所未有的速度渗透到各行各业。企业招聘领域,作为人才选拔的关键环节,也不例外地迎来了AI面试系统的广泛应用和持续创新。2025年,AI面试系统不仅成为企业招聘的主流工具,更在智能化…

《类和对象:基础原理全解析(下篇)》

目录 一、类的构造函数的初始化列表1. 初始化列表的使用2. 初始化列表的初始化顺序3. 使用初始化列表的注意事项 二、类的自动类型转换1. 类的自动类型转换的使用2. 关闭类的自动类型转换 三、静态类成员1. 静态成员的特性2. 使用静态成员计算类创建了多少个对象3. 使用静态类成…