贝叶斯公式在全连接神经网络权重的应用

本文探讨了如何使用梯度下降算法优化多层感知器的权重更新过程,通过实例展示了如何计算n4-n9的权重影响,并重点讲解了激活函数在神经网络中的作用。作者以三个数据集为例,逐步揭示了权重计算和偏置调整的关键步骤,适合深入理解神经网络工作原理的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
import math

#三行为三组数据    
x = np.array([[1,  4,  3,  3,  2,  2,  3],
              [85, 76, 89, 64, 55, 98, 73],
              [2,  2,  3,  3,  1,  2,  3]])
                                                #x2 = np.array([100, 76, 89, 64, 55, 98, 73])
                                                #x3 = np.array([2, 2, 3, 3, 1, 2, 3])
t = np.array([])
y = np.array([]) 

sg = np.zeros(12)
w = np.ones(100)
w = w.reshape(10,10)

alp = 0.01
eps = 10e-5
e0 = e1 = e2 = 3

n = np.zeros(10)
b = np.zeros(10)

#求解 n4-n7 :
for i in range(4, 8):
    for j in range(1, 4):
        n[i] += x[j-1, 0] * w[i, j] 
        
#加上启动函数后求解:n8 -n9
for i in range (4,8):
    for j in range(1,3):
        b[i] = (1/(1+math.exp(x[i-1,j-1])))*n[i]
        
for i in range(8,10):
    for j in range(4,9):
        n[i] += w[i,j]*b[j]
        
for i in range (20):
    
    
    sg1 = (y[i]-t[i])*(1/(1+math.exp(x[i])))*(1-((1/(1+math.exp(x[i])))))*n4

print(n[i])


    

import numpy as np
n = np.ones(10)
w = np.ones(100)
w = w.reshape(10,10)

x = np.array([[1, 4, 3, 3, 2, 2, 3],
              [85, 76, 89, 64, 55, 98, 73],
              [2, 2, 3, 3, 1, 2, 3]])
for i in range(4,8):
    for j in range (1,3):
        
        n[i] += w[i,j]*x[j,0]
    print(n[i])
        

88.0
88.0
88.0
88.0
import math
a = 10e-4
a
0.001

### 关于邱锡鹏《神经网络与深度习》第八章课后习题的解析 邱锡鹏的《神经网络与深度习》是一本系统介绍神经网络和深度习技术的经典教材,其中第八章通常涉及深度神经网络模型的高级主题,例如卷积神经网络(CNN)、循环神经网络(RNN)以及它们的应用。以下是对可能涉及的第八章课后习题的解析[^1]。 #### 1. 深度神经网络的基础概念 在第八章中,可能涉及到的问题包括深度神经网络的基本结构、前向传播与反向传播算法的数推导。对于这些问题,可以结合链式法则进行求导,并明确每一层参数的更新规则。例如,对于一个简单的全连接层 \( y = Wx + b \),其梯度计算公式为: ```python # 假设 loss 是最终损失函数 dL_dW = np.dot(dL_dy, x.T) # 权重 W 的梯度 dL_db = np.sum(dL_dy, axis=0) # 偏置 b 的梯度 ``` #### 2. 卷积神经网络(CNN) CNN 的核心概念包括卷积操作、池化操作以及感受野的计算。课后习题可能要求计算卷积核大小、步长、填充对输出尺寸的影响。假设输入尺寸为 \( H \times W \),卷积核大小为 \( K \times K \),步长为 \( S \),填充为 \( P \),则输出尺寸可由以下公式计算: \[ H_{out} = \left\lfloor \frac{H + 2P - K}{S} + 1 \right\rfloor \] \[ W_{out} = \left\lfloor \frac{W + 2P - K}{S} + 1 \right\rfloor \] #### 3. 循环神经网络(RNN) RNN 的问题可能集中在序列建模、梯度消失或爆炸现象以及 LSTM 和 GRU 的改进机制上。例如,LSTM 中的门控机制可以通过以下公式描述: \[ f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) \] \[ i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) \] \[ \tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C) \] \[ C_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_t \] #### 4. 实践中的优化技巧 课后习题还可能涉及优化算法的选择,如 SGD、Adam 等。Adam 的更新规则如下: \[ m_t = \beta_1 m_{t-1} + (1 - \beta_1) g_t \] \[ v_t = \beta_2 v_{t-1} + (1 - \beta_2) g_t^2 \] \[ \hat{m}_t = \frac{m_t}{1 - \beta_1^t} \] \[ \hat{v}_t = \frac{v_t}{1 - \beta_2^t} \] \[ \theta_t = \theta_{t-1} - \alpha \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} \] #### 5. 数基础回顾 部分习题可能需要结合贝叶斯公式和极大似然估计进行分析。例如,给定数据集 \( D \) 和模型参数 \( \theta \),极大似然估计的目标是最大化 \( P(D|\theta) \),即: \[ \theta^* = \arg\max_\theta P(D|\theta) \] --- ### 示例代码:简单实现 RNN 的前向传播 ```python import numpy as np class SimpleRNN: def __init__(self, input_size, hidden_size): self.Wxh = np.random.randn(hidden_size, input_size) * 0.01 self.Whh = np.random.randn(hidden_size, hidden_size) * 0.01 self.bh = np.zeros((hidden_size, 1)) def forward(self, x, h_prev): h_current = np.tanh(np.dot(self.Wxh, x) + np.dot(self.Whh, h_prev) + self.bh) return h_current ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值