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

新网站怎么做搜索引擎优化好做吗

新网站怎么做,搜索引擎优化好做吗,新西兰做网站代购,网站设计部【深度学习基础模型】玻尔兹曼机Boltzmann machines (BM)|受限玻尔兹曼机Restricted Boltzmann machines (RBM)|深度置信网络Deep belief networks (DBN)详细理解并附实现代码。 【深度学习基础模型】玻尔兹曼机Boltzmann machines (BM)|受限玻尔兹曼机Restricted Boltzmann m…

【深度学习基础模型】玻尔兹曼机Boltzmann machines (BM)|受限玻尔兹曼机Restricted Boltzmann machines (RBM)|深度置信网络Deep belief networks (DBN)详细理解并附实现代码。

【深度学习基础模型】玻尔兹曼机Boltzmann machines (BM)|受限玻尔兹曼机Restricted Boltzmann machines (RBM)|深度置信网络Deep belief networks (DBN)详细理解并附实现代码。


文章目录

  • 【深度学习基础模型】玻尔兹曼机Boltzmann machines (BM)|受限玻尔兹曼机Restricted Boltzmann machines (RBM)|深度置信网络Deep belief networks (DBN)详细理解并附实现代码。
  • 1. 玻尔兹曼机(Boltzmann Machine, BM)
    • 1.1 提出与概述
    • 1.2 发展与应用
    • 1.3 优缺点
    • 1.4 BM的Python实现
  • 2. 受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)
    • 2.1 提出与概述
    • 2.2 发展与应用
    • 2.3 优缺点
    • 2.4 RBM的Python实现
  • 3. 深度信念网络(Deep Belief Network, DBN)
    • 3.1 提出与概述
    • 3.2 发展与应用
    • 3.3 优缺点
    • 3.4 DBN的Python实现
  • 总结


参考地址:https://www.asimovinstitute.org/neural-network-zoo/
论文地址:
https://ieeexplore.ieee.org/document/6302930
https://ieeexplore.ieee.org/document/6302931?arnumber=6302931
https://ieeexplore.ieee.org/document/6287632

欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!

1. 玻尔兹曼机(Boltzmann Machine, BM)

1.1 提出与概述

玻尔兹曼机(BM)是一种随机生成模型,由Geoffrey Hinton等人在20世纪80年代提出。BM的主要特点是它具有双向连接的无向图结构每个神经元的状态受到与其连接的其他神经元的状态和权重影响。BM通过最小化能量函数,使网络达到稳定状态,并可以用于无监督学习。BM中包含输入神经元和隐藏神经元,输入神经元在每次网络更新后可以成为输出神经元。

BM是一种随机网络,神经元主要采用二进制激活模式(0或1),通过马尔可夫链蒙特卡洛方法(MC)进行训练。训练过程中,BM反复在输入和隐藏神经元之间交换信息,直到网络达到平衡状态。

1.2 发展与应用

BM虽然具有强大的表达能力,但由于全连接结构的存在,导致训练复杂度极高。在实际应用中,BM常用于学习复杂的概率分布和生成新数据。然而,随着BM训练的难度逐渐显现,人们更倾向于使用RBM等改进模型。BM适合用于需要学习数据分布或生成数据的领域,但由于其高计算开销,较少在现代大规模应用中使用。

1.3 优缺点

优点:

  • 能够学习复杂的概率分布并生成新数据。
  • 提供了概率解释,使得模型在统计物理学中有坚实的理论基础。

缺点:

  • 由于全连接结构,BM的计算复杂度极高,训练过程缓慢。
  • 训练时容易陷入局部最优,难以扩展到大规模数据集。

1.4 BM的Python实现

import numpy as npclass BM:def __init__(self, n_visible, n_hidden):self.n_visible = n_visibleself.n_hidden = n_hiddenself.weights = np.random.randn(n_visible, n_hidden)self.visible_bias = np.zeros(n_visible)self.hidden_bias = np.zeros(n_hidden)def energy(self, visible, hidden):return -np.dot(visible, np.dot(self.weights, hidden)) - np.dot(self.visible_bias, visible) - np.dot(self.hidden_bias, hidden)def train(self, data, epochs=1000):for epoch in range(epochs):# 简单的伪马尔可夫链蒙特卡洛训练过程visible = data[np.random.randint(0, len(data))]hidden = np.dot(visible, self.weights) + self.hidden_biasvisible_recon = np.dot(hidden, self.weights.T) + self.visible_bias# 这里省略了具体的梯度更新逻辑print("BM训练完成")data = np.array([[0, 1, 1, 0], [1, 0, 1, 1], [1, 1, 0, 0]])
bm = BM(n_visible=4, n_hidden=2)
bm.train(data)

代码解释:

  • energy: 能量函数用于计算系统的能量状态。
  • train: 简化版本的BM训练过程,通过随机初始化数据和简单的矩阵操作来模拟BM的训练。

2. 受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)

2.1 提出与概述

RBM是BM的简化版本,由Hinton提出。与BM的全连接结构不同,RBM对连接方式进行了限制:输入层神经元之间没有连接,隐藏层神经元之间也没有连接这种限制大大降低了训练的复杂度,RBM通过对比散度算法(Contrastive Divergence, CD)进行训练,逐步成为一种有效的无监督学习模型

2.2 发展与应用

RBM广泛应用于降维、特征提取、推荐系统等领域。它是深度信念网络(DBN)的基本单元,并且常用于无监督预训练阶段。

2.3 优缺点

优点:

  • RBM的结构限制降低了计算复杂度,提高了训练效率。
  • 可以用于特征提取、降维等任务,并且能作为深度学习的预训练步骤。
  • 能够通过堆叠多个RBM,构建深度学习模型(如DBN)。

缺点:

  • 尽管RBM比BM高效,但训练过程中仍然依赖马尔可夫链,存在近似误差。
  • 在大规模数据集上应用时,仍需大量计算资源。

2.4 RBM的Python实现

import numpy as npclass RBM:def __init__(self, n_visible, n_hidden, learning_rate=0.1):self.n_visible = n_visibleself.n_hidden = n_hiddenself.learning_rate = learning_rateself.weights = np.random.randn(n_visible, n_hidden) * 0.01self.visible_bias = np.zeros(n_visible)self.hidden_bias = np.zeros(n_hidden)def sigmoid(self, x):return 1.0 / (1 + np.exp(-x))def sample_hidden(self, visible_states):hidden_activations = np.dot(visible_states, self.weights) + self.hidden_biashidden_probs = self.sigmoid(hidden_activations)return hidden_probsdef train(self, data, epochs=1000):for epoch in range(epochs):for sample in data:hidden_probs = self.sample_hidden(sample)positive_grad = np.outer(sample, hidden_probs)visible_recon = self.sigmoid(np.dot(hidden_probs, self.weights.T) + self.visible_bias)hidden_recon = self.sample_hidden(visible_recon)negative_grad = np.outer(visible_recon, hidden_recon)self.weights += self.learning_rate * (positive_grad - negative_grad)self.visible_bias += self.learning_rate * (sample - visible_recon)self.hidden_bias += self.learning_rate * (hidden_probs - hidden_recon)print("RBM训练完成")data = np.array([[0, 1, 1], [1, 0, 1], [1, 1, 0]])
rbm = RBM(n_visible=3, n_hidden=2)
rbm.train(data)

代码解释:

  • sample_hidden: 从可见层推导出隐藏层的激活概率。
  • train: 利用对比散度算法进行权重更新,正向传播与反向重建数据,调整模型参数。

3. 深度信念网络(Deep Belief Network, DBN)

3.1 提出与概述

DBN是由多个RBM堆叠而成的深度学习模型,Hinton于2006年提出。DBN通过贪婪逐层训练,每个RBM只需学习前一层的特征表示。DBN的目的是通过多个RBM的逐步预训练,将复杂数据表示为概率模型。

3.2 发展与应用

DBN常用于图像识别、语音识别等复杂任务中,尤其在无监督学习和半监督学习中表现突出。DBN的预训练可以有效解决梯度消失问题,并为后续的监督学习提供良好的初始权重

3.3 优缺点

优点:

  • DBN可以有效解决深层神经网络中的梯度消失问题,尤其在无监督预训练时表现优异。
  • 能够从数据中学习复杂的概率表示,用于生成模型、分类等任务。
  • 通过RBM层堆叠,DBN在图像识别、语音识别等领域表现出色。

缺点:

  • 训练时间较长,特别是在层数较多时,调优变得复杂。
  • 预训练和反向传播结合的训练方式增加了模型的复杂性。

3.4 DBN的Python实现

class DBN:def __init__(self, layer_sizes):self.rbms = [RBM(layer_sizes[i], layer_sizes[i+1]) for i in range(len(layer_sizes) - 1)]def pretrain(self, data, epochs=1000):input_data = datafor rbm in self.rbms:rbm.train(input_data, epochs=epochs)input_data = rbm.sample_hidden(input_data)def fine_tune(self, data, labels, epochs=1000):# 细调阶段可以使用反向传播算法pass# 创建一个DBN,包含3个RBM层
dbn = DBN([3, 4, 2])
data = np.array([[0, 1, 1], [1, 0, 1], [1, 1, 0]])
dbn.pretrain(data, epochs=1000)

代码解释:

  • DBN: 初始化DBN时会创建多个RBM层。
  • pretrain: 使用贪婪的逐层预训练,每个RBM层分别学习前一层的表示。

总结

在这里插入图片描述

  • BM 是最原始的玻尔兹曼机,理论上强大但实际应用受限于其高计算复杂度
  • RBM 通过限制连接结构大大提高了效率,适合用于无监督学习任务,尤其是特征提取和预训练
  • DBN 通过堆叠多个RBM,构建了强大的深度学习架构,适合处理复杂的高维数据,并解决了深层神经网络中的梯度消失问题。

这些模型在深度学习的发展中起到了重要的奠基作用,尽管现在更为流行的技术(如深度卷积网络、生成对抗网络等)已经取代了它们,但它们在无监督学习领域的贡献仍然不可忽视。

http://www.mnyf.cn/news/47829.html

相关文章:

  • 最先进的深圳网站建设百度广告联盟一个月能赚多少
  • 电脑网站和手机网站怎么做相同路径上海seo排名
  • 楚雄网站建设rewlkj网站打开速度优化
  • 公司做网站可以永久买断吗合肥关键词排名推广
  • 做网站开发有前途么镇江市网站
  • 长沙网站外包微信推广方法
  • 网站建设实训目的百度提交链接
  • 长沙市住房和城乡建设委员会网站排名优化seo公司
  • 医院建设官方网站必要性代运营哪家公司最靠谱
  • 做网站不会P图怎么办电商运营模式
  • 北京网站建设方案软件北京网络营销公司排名
  • ps做的网站模板网络营销的发展现状如何
  • 无需本金十分钟赚800兰州seo培训
  • 利用网盘做网站网站建设7个基本流程
  • html网站支付链接怎么做的如何建立免费个人网站
  • 深圳建站公司兴田德润电话多少外贸推广营销公司
  • 郑州专业网站制作建设怎样做网站卖自己的产品
  • wordpress简约新闻自媒体主题seo公司厦门
  • 网站制作九江网推广公司
  • 网站建设 选中企动力电商网站链接买卖
  • 做游戏模板下载网站有哪些sem竞价托管多少钱
  • 上海市网站建设公叿深圳网络推广软件
  • 网页设计图片刷新随机更换手机端seo
  • 有自己团队做网站上线多久网站为什么要seo?
  • 百度广告联盟网站免费网络营销平台
  • 如果做动态网站开发 以下35个成功的市场营销策划案例
  • 建筑专业名词网站台州seo
  • 杭州自适应网站建设全国唯一一个没有疫情的城市
  • 湖南人文科技学院seo排名赚挂机赚钱软件下载
  • 互动吧网站模板百度知道首页登录入口