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

国内做文玩的网站网站快速搜索

国内做文玩的网站,网站快速搜索,网站后台视频教程,网站源码带后台本文将手把手带你用 Python Numpy 实现一个最基础的人工神经网络(Artificial Neural Network, ANN)。不依赖任何深度学习框架,适合入门理解神经网络的本质。 一、项目目标 构建一个三层神经网络(输入层、隐藏层、输出层&#xf…

本文将手把手带你用 Python + Numpy 实现一个最基础的人工神经网络(Artificial Neural Network, ANN)。不依赖任何深度学习框架,适合入门理解神经网络的本质。


一、项目目标

构建一个三层神经网络(输入层、隐藏层、输出层),用于解决一个简单的二分类任务,例如根据两个输入特征判断输出是 0 还是 1。


二、基本结构说明

我们将构建如下结构的神经网络:

 

复制编辑

输入层(2个神经元) → 隐藏层(4个神经元) → 输出层(1个神经元)

  • 激活函数:使用 Sigmoid

  • 损失函数:均方误差

  • 学习方式:批量梯度下降 + 手动反向传播


三、准备数据

我们使用一个简单的数据集(可类比于 AND/OR 操作):

import numpy as np# 输入数据:4组样本,每组2个特征
X = np.array([[0, 0],[0, 1],[1, 0],[1, 1]
])# 标签:这里我们尝试模拟逻辑或(OR)操作
y = np.array([[0], [1], [1], [1]])

四、初始化网络参数

np.random.seed(0)# 网络结构:2 → 4 → 1
input_size = 2
hidden_size = 4
output_size = 1# 权重初始化(正态分布)
W1 = np.random.randn(input_size, hidden_size)
b1 = np.zeros((1, hidden_size))W2 = np.random.randn(hidden_size, output_size)
b2 = np.zeros((1, output_size))

五、激活函数

def sigmoid(x):return 1 / (1 + np.exp(-x))def sigmoid_derivative(x):# 输入为 sigmoid 的输出值return x * (1 - x)

六、训练循环

我们进行 10000 次迭代,手动实现前向传播、损失计算和反向传播。

learning_rate = 0.1
for epoch in range(10000):# --- 正向传播 ---z1 = np.dot(X, W1) + b1a1 = sigmoid(z1)z2 = np.dot(a1, W2) + b2a2 = sigmoid(z2)  # 预测值# --- 损失计算(均方误差)---loss = np.mean((y - a2) ** 2)# --- 反向传播 ---error_output = y - a2d_output = error_output * sigmoid_derivative(a2)error_hidden = d_output.dot(W2.T)d_hidden = error_hidden * sigmoid_derivative(a1)# --- 参数更新 ---W2 += a1.T.dot(d_output) * learning_rateb2 += np.sum(d_output, axis=0, keepdims=True) * learning_rateW1 += X.T.dot(d_hidden) * learning_rateb1 += np.sum(d_hidden, axis=0, keepdims=True) * learning_rateif epoch % 1000 == 0:print(f"Epoch {epoch}, Loss: {loss:.4f}")

七、模型测试

print("预测结果:")
print(a2.round())

输出如下,接近 OR 操作的结果 [0, 1, 1, 1]

预测结果:
[[0.][1.][1.][1.]]

八、总结与拓展

通过这篇文章,我们实现了一个从零开始的神经网络:

  • 完整构建了网络结构(无需框架)

  • 实现了正向传播与反向传播

  • 成功对二分类任务进行了拟合

拓展建议:

  • 改用 ReLU 激活函数;

  • 增加网络层数,提升模型表达能力;

  • 用 Softmax 处理多分类问题;

  • 尝试用真实数据集,如鸢尾花(Iris)或 MNIST。


这类“纯手写”的 ANN 实战项目非常适合用来理解深度学习的本质机制。如果你打算继续深入,可以尝试逐步迁移到 PyTorch 或 TensorFlow 框架实现更复杂的模型。

http://www.dtcms.com/wzjs/229330.html

相关文章:

  • 本地唐山网站建设steam交易链接在哪复制
  • 廊坊网站建设外包seo服务加盟
  • 提供网站建设管理浏览器地址栏怎么打开
  • 广东的一起做网站北京培训seo哪个好
  • 网站的关键词库怎么做seo优缺点
  • 营销型网站价格重庆seo小z博客
  • 企业网站建设话术怎么提高seo关键词排名
  • dw网页设计素材包免费下载windows优化大师怎么使用
  • 如何在网上推广网站云搜索app下载
  • 网站建设对企业的重要性竞价推广账户托管
  • 网站建设结课论文搜狗官网
  • 微网站建设包括哪些怎么做公司网页
  • 江苏外贸网站建设推广品牌营销策划公司
  • 什么网站合适做流量湖南网站推广
  • 哪里做网站seo百度爱采购推广怎么收费
  • 天水做网站的公司百度排名优化工具
  • 家庭宽带做私人网站品牌seo主要做什么
  • 网站建站公司服务好吗seo自学网app
  • 网站开发方案案例2022年国际十大新闻
  • 网站友情链接建设河南网站seo靠谱
  • 网站木马诊断网络营销课程论文
  • 美容培训东莞网站建设营销策划公司名字
  • 网站静态图怎么做舟山seo
  • 深圳做网站d公司单页关键词优化费用
  • discuz做的网站优化疫情二十条措施
  • 北京网站报价线上直播营销策划方案
  • 怎么查网站有没有做底部导航宁波百度关键词推广
  • 郑州做网站公司有多少钱推广排名seo
  • 企业网站必须备案seo技术员
  • wordpress网站代码文件太多茂名网络推广