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

常州网站运营公司谷歌seo站内优化

常州网站运营公司,谷歌seo站内优化,营销策划公司 采纳策划,wordpress 字段帅选目录 基本概念 神经元模型 激活函数 网络结构 训练过程 示例 Python 案例 代码解释 基本概念 人工神经网络是一种模仿人类神经系统的计算模型,由大量的神经元(也称为节点)相互连接组成。这些神经元按照层次结构排列,通常…

目录

基本概念

神经元模型

激活函数

网络结构

训练过程

示例

Python 案例

代码解释


基本概念

人工神经网络是一种模仿人类神经系统的计算模型,由大量的神经元(也称为节点)相互连接组成。这些神经元按照层次结构排列,通常包括输入层、隐藏层和输出层。信息在网络中从输入层传递到隐藏层,再到输出层,在这个过程中,神经元之间通过加权连接进行信息传递和处理。

神经元模型

神经元是神经网络的基本计算单元,其工作原理类似于生物神经元。每个神经元接收多个输入信号,将这些输入信号乘以对应的权重,然后求和,再经过一个激活函数处理,产生输出。数学表达式为:
y = f\left(\sum_{i = 1}^{n}w_{i}x_{i}+b\right)
其中,x_i 是输入信号,w_i是对应的权重,b 是偏置,f是激活函数,y 是输出。

激活函数

激活函数的作用是引入非线性因素,使得神经网络能够学习复杂的非线性关系。常见的激活函数有:

  • Sigmoid 函数f(x)=\frac{1}{1 + e^{-x}},输出范围在(0, 1)之间,常用于二分类问题。
  • ReLU 函数f(x)=\max(0, x),计算简单,能有效缓解梯度消失问题,在深度学习中广泛应用。
  • Tanh 函数f(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}},输出范围在(-1, 1)之间。
网络结构
  • 输入层:接收外部输入数据,神经元的数量通常等于输入特征的数量。
  • 隐藏层:可以有一个或多个,隐藏层中的神经元对输入数据进行特征提取和转换,层数越多,网络的表达能力越强,但也越容易过拟合。
  • 输出层:输出网络的预测结果,神经元的数量根据具体任务而定,例如二分类问题通常有 1 个输出神经元,多分类问题的输出神经元数量等于类别数。
训练过程

神经网络的训练过程主要是通过调整神经元之间的权重和偏置,使得网络的输出尽可能接近真实标签。常用的训练算法是反向传播算法(Backpropagation),其基本步骤如下:

  1. 前向传播:将输入数据传入网络,依次计算各层神经元的输出,直到得到输出层的预测结果。
  2. 计算损失:使用损失函数(如均方误差、交叉熵损失等)计算预测结果与真实标签之间的差异。
  3. 反向传播:根据损失函数的梯度,从输出层开始,逐层计算每个神经元的梯度,以确定权重和偏置的调整方向。
  4. 参数更新:使用优化算法(如随机梯度下降、Adam 等)根据计算得到的梯度更新权重和偏置。

示例

假设我们要构建一个简单的神经网络来识别手写数字(MNIST 数据集)。输入层有 784 个神经元(因为每个手写数字图像是 28x28 像素,展开后是 784 维向量),隐藏层可以设置为 128 个神经元,输出层有 10 个神经元(对应 0 - 9 这 10 个数字类别)。训练过程中,网络通过不断调整权重和偏置,学习如何从输入的图像数据中提取特征,从而准确预测图像对应的数字。

Python 案例

以下是使用 Python 和 Keras 库构建一个简单的全连接神经网络来对 MNIST 手写数字进行分类的示例:

import tensorflow as tf
from tensorflow import keras
import numpy as np
import matplotlib.pyplot as plt# 加载MNIST数据集
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()# 数据预处理
train_images = train_images.reshape((60000, 28 * 28))
train_images = train_images / 255.0
test_images = test_images.reshape((10000, 28 * 28))
test_images = test_images / 255.0# 构建神经网络模型
model = keras.Sequential([keras.layers.Dense(128, activation='relu', input_shape=(28 * 28,)),keras.layers.Dense(10, activation='softmax')
])# 编译模型
model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])# 训练模型
model.fit(train_images, train_labels, epochs=5)# 评估模型
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Test accuracy: {test_acc}")# 进行预测
predictions = model.predict(test_images)
# 显示预测结果示例
def plot_image(i, predictions_array, true_label, img):predictions_array, true_label, img = predictions_array, true_label[i], img[i]plt.grid(False)plt.xticks([])plt.yticks([])img = img.reshape(28, 28)plt.imshow(img, cmap=plt.cm.binary)predicted_label = np.argmax(predictions_array)if predicted_label == true_label:color = 'blue'else:color = 'red'plt.xlabel(f"{predicted_label} {100 * np.max(predictions_array):2.0f}% ({true_label})",color=color)def plot_value_array(i, predictions_array, true_label):predictions_array, true_label = predictions_array, true_label[i]plt.grid(False)plt.xticks(range(10))plt.yticks([])thisplot = plt.bar(range(10), predictions_array, color="#777777")plt.ylim([0, 1])predicted_label = np.argmax(predictions_array)thisplot[predicted_label].set_color('red')thisplot[true_label].set_color('blue')num_rows = 5
num_cols = 3
num_images = num_rows * num_cols
plt.figure(figsize=(2 * 2 * num_cols, 2 * num_rows))
for i in range(num_images):plt.subplot(num_rows, 2 * num_cols, 2 * i + 1)plot_image(i, predictions[i], test_labels, test_images)plt.subplot(num_rows, 2 * num_cols, 2 * i + 2)plot_value_array(i, predictions[i], test_labels)
plt.tight_layout()
plt.show()

代码解释

  1. 数据加载与预处理:使用 keras.datasets.mnist.load_data() 加载 MNIST 数据集,将图像数据从二维矩阵转换为一维向量,并将像素值归一化到 0 - 1 之间。
  2. 模型构建:使用 keras.Sequential 构建一个简单的全连接神经网络,包含一个有 128 个神经元的隐藏层(使用 ReLU 激活函数)和一个有 10 个神经元的输出层(使用 Softmax 激活函数)。
  3. 模型编译:使用 model.compile 配置模型的优化器(Adam)、损失函数(sparse_categorical_crossentropy)和评估指标(准确率)。
  4. 模型训练:使用 model.fit 对模型进行训练,设置训练轮数为 5。
  5. 模型评估:使用 model.evaluate 评估模型在测试集上的性能。
  6. 预测与可视化:使用 model.predict 对测试集进行预测,并通过绘图函数可视化预测结果。
http://www.dtcms.com/wzjs/368895.html

相关文章:

  • 软件app制作公司王通seo赚钱培训
  • 什么电脑做网站前段用在线之家
  • 广州网站建设:360优化大师官方版
  • 电子商务网站的功能包括朝阳seo
  • 织梦网站怎么做备份深圳百度关键词
  • 外贸公司做网站该去哪里找怎么样优化网站seo
  • 泰州网站建设费用网页开发用什么软件
  • 自己做网站打不开是怎么回事何鹏seo
  • 三五互联网站建设怎么样百度竞价广告
  • 做教育的有哪些网站最火的网络销售平台
  • 企业管理研究生学校排名网站优化公司推荐
  • 青岛高品质网站建设bt kitty磁力猫
  • 昆明app网站开发公司2022推广app赚佣金平台
  • 提升网站建设网店买卖有哪些平台
  • 网站开发流程可规划为那三个阶段免费友链平台
  • wordpress快速制作app安徽网站关键词优化
  • 哪个网站能学做微商软文广告是什么意思
  • 玉溪企业网站建设公司怎样建立一个网络销售平台
  • 移动端网站日历怎么做国外搜索引擎网站
  • 自己做头像的网站非流光百度知道官网登录入口
  • 购物网站开店免费百度高级搜索
  • 和网站设计人员谈价要注意什么建站系统推荐
  • 济南济阳哪有做网站的分销渠道
  • 网站建设一般要多钱属性词 关键词 核心词
  • 曰本真人性做爰视频网站seo网站编辑是做什么的
  • 成都解放号网站建设快优吧seo优化
  • 福建老区建设网站推广码怎么填
  • 网站程序制作软件seo网站排名全选
  • 专业模板网站制作多少钱seo的优点和缺点
  • 网站建设怎样宣传比较好html+css网页制作成品