欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 神经网络是如何工作的

神经网络是如何工作的

2025/5/14 0:04:10 来源:https://blog.csdn.net/X2829352498/article/details/147895971  浏览:    关键词:神经网络是如何工作的

人工智能最核心的技术之一,就是神经网络(Neural Networks)。但很多初学者会觉得它是个黑盒:为什么神经网络能识别图片、翻译语言,甚至生成文章?

本文用图解+最小代码实现的方式,带你深入理解:神经网络的基本结构、工作流程、核心原理


🧠 一、什么是神经网络?

神经网络是一种模拟人脑神经元连接方式的算法结构。它由输入层、隐藏层和输出层构成,核心是:

输入 → 权重计算 → 激活函数 → 输出


🧩 二、图解神经网络结构

我们以最简单的三层神经网络为例(1个隐藏层):

输入层        隐藏层         输出层x1 ─┬───▶ o1 ──┬───▶ y1(预测值)x2 ─┘        o2 ──┘
  • x1、x2:输入特征(如图像像素、文本向量)
  • o1、o2:隐藏层神经元(通过加权计算+激活函数)
  • y1:输出结果(如类别概率)

⚙️ 三、神经元的工作机制

每个神经元做两件事:

  1. 加权求和

    z = w 1 ⋅ x 1 + w 2 ⋅ x 2 + b z = w_1 \cdot x_1 + w_2 \cdot x_2 + b z=w1x1+w2x2+b

  2. 激活函数(如 sigmoid):

    a = 1 1 + e − z a = \frac{1}{1 + e^{-z}} a=1+ez1

这个“激活”让网络具有非线性表达能力,能处理图像、声音等复杂数据。


🔢 四、用代码模拟一个简单神经元(Python实现)

import numpy as np# 输入数据
x = np.array([0.5, 0.3])  # 两个特征
w = np.array([0.8, -0.4]) # 权重
b = 0.1                   # 偏置# 激活函数(sigmoid)
def sigmoid(z):return 1 / (1 + np.exp(-z))# 前向传播
z = np.dot(x, w) + b
a = sigmoid(z)print(f"神经元输出值: {a:.4f}")

输出:

神经元输出值: 0.5744

说明这个神经元“激活”了——认为输入属于某一类别的概率为 57%。


🧮 五、完整神经网络的工作流程

  1. 输入数据:一张图像或一段文本的数值向量

  2. 前向传播(forward):

    • 每层神经元对输入加权、偏置、激活
  3. 计算损失函数:预测结果 vs 实际结果的误差

  4. 反向传播(backpropagation):

    • 根据误差,反向计算每个权重对误差的影响
    • 通过梯度下降算法调整权重和偏置
  5. 迭代训练:重复多轮训练,让模型逐渐学会“正确答案”


📊 六、用图表示前向传播 & 反向传播

         前向传播:从左到右[输入] → [隐藏层] → [输出]↑反向传播:从右到左

通过这种**“尝试-反馈-修正”**机制,神经网络就像学生做题不断练习,逐渐掌握模式识别的能力。


🧠 七、神经网络小项目:分类任务(手写数字识别)

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import classification_report# 加载数据集
digits = load_digits()
X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.3, random_state=42
)# 构建一个多层感知机神经网络(MLP)
model = MLPClassifier(hidden_layer_sizes=(64,), max_iter=300)
model.fit(X_train, y_train)# 评估模型
y_pred = model.predict(X_test)
print(classification_report(y_test, y_pred))

这个简单神经网络模型能对**手写数字图片(0-9)**进行识别,准确率可达95%以上。


✅ 八、总结:神经网络怎么工作?

步骤说明
输入层接收特征数据
隐藏层处理特征并提取模式
激活函数引入非线性能力
输出层给出预测结果(分类、回归等)
损失函数衡量预测和真实值的误差
反向传播通过链式法则优化参数

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词