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

学做ppt的网站有哪些内容北京模板网站开发

学做ppt的网站有哪些内容,北京模板网站开发,如何做外贸soho做网站,手机h5页面怎么制作目录 1.神经网络 2.深度神经网络 3.案例分析 1.神经网络 神经网络是模仿人脑神经元工作原理而设计的一种算法模型。在一个基本的神经网络中,存在多个“神经元”或称为“节点”,这些节点被组织成多个层次。每个节点都接收前一层的输入,进行…

目录

1.神经网络

2.深度神经网络

3.案例分析


1.神经网络

神经网络是模仿人脑神经元工作原理而设计的一种算法模型。在一个基本的神经网络中,存在多个“神经元”或称为“节点”,这些节点被组织成多个层次。每个节点都接收前一层的输入,进行加权求和,并通过一个激活函数产生输出。

神经网络主要由以下几个部分组成:

  1. 输入层:这是神经网络的第一层,用于接收外部数据。
  2. 隐藏层:位于输入层和输出层之间的层,可以有一个或多个。
  3. 输出层:将神经网络的结果输出给外部环境。
  4. 权重与偏置:每个连接都有一个权重,每个节点都有一个偏置。
  5. 激活函数:决定神经元是否应该被“激活”或输出其值。

2.深度神经网络

深度神经网络(DNN)基本上是一个有很多隐藏层的神经网络。这些额外的层使得DNN能够学习和表示更复杂的特征和模式。简而言之,一个“深”的网络意味着它有更多的层次和更多的能力,但同时也意味着它需要更多的数据和计算资源来进行训练。

深度学习的兴起归功于几个关键因素:

  • 大数据:深度网络需要大量的训练数据。
  • 计算能力的增强:如GPU的出现,使得大规模矩阵操作更为高效。
  • 算法进步:如ReLU激活函数、Dropout等技术的引入,帮助解决梯度消失和过拟合问题。

3.案例分析

下面利用神经网络来解决XOR问题。

XOR问题是指异或逻辑运算,对于两个二进制输入,XOR运算的定义如下:

 从上面的表格可以看出,只有当两个输入不同时,输出才为1;如果两个输入相同,则输出为0。

XOR问题在神经网络领域的重要性在于:单个感知机(或称为线性单元)不能解决XOR问题,因为XOR函数不是线性可分的。这意味着你不能画一条直线来区分输出为1和输出为0的数据点。但是,使用一个具有至少一个隐藏层的多层神经网络可以解决XOR问题,这证明了引入隐藏层的重要性和多层神经网络的能力。

首先绘制XOR数据点:

import matplotlib.pyplot as plt# XOR 数据
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
y = np.array([[0], [1], [1], [0]])plt.scatter(X[y[:,0] == 0][:, 0], X[y[:,0] == 0][:, 1], color='blue', label='0')
plt.scatter(X[y[:,0] == 1][:, 0], X[y[:,0] == 1][:, 1], color='red', label='1')
plt.xlabel('Input A')
plt.ylabel('Input B')
plt.legend()
plt.title('XOR Data Points')
plt.show()

结果图;

接下来利用神经网络进行预测:

import numpy as np
import matplotlib.pyplot as plt# 定义Sigmoid函数及其导数
def sigmoid(x):return 1 / (1 + np.exp(-x))def sigmoid_derivative(x):return x * (1 - x)# 定义神经网络结构
input_neurons = 2
hidden_neurons = 4
output_neurons = 1# 初始化权重和偏置
np.random.seed(0)
input_hidden_weights = np.random.rand(input_neurons, hidden_neurons)
hidden_output_weights = np.random.rand(hidden_neurons, output_neurons)
hidden_bias = np.random.rand(1, hidden_neurons)
output_bias = np.random.rand(1, output_neurons)# 定义训练数据 (XOR problem)
X = np.array([[0, 0],[0, 1],[1, 0],[1, 1]
])
y = np.array([[0],[1],[1],[0]
])learning_rate = 0.5
epochs = 10000
errors = []# 训练神经网络
for epoch in range(epochs):# 前向传播hidden_layer_input = np.dot(X, input_hidden_weights) + hidden_biashidden_layer_output = sigmoid(hidden_layer_input)output_layer_input = np.dot(hidden_layer_output, hidden_output_weights) + output_biaspredicted_output = sigmoid(output_layer_input)# 计算误差error = y - predicted_output# 记录MSEmse = np.mean(np.square(error))errors.append(mse)# 反向传播d_predicted_output = error * sigmoid_derivative(predicted_output)error_hidden_layer = d_predicted_output.dot(hidden_output_weights.T)d_hidden_layer = error_hidden_layer * sigmoid_derivative(hidden_layer_output)# 更新权重和偏置hidden_output_weights += hidden_layer_output.T.dot(d_predicted_output) * learning_rateoutput_bias += np.sum(d_predicted_output, axis=0, keepdims=True) * learning_rateinput_hidden_weights += X.T.dot(d_hidden_layer) * learning_ratehidden_bias += np.sum(d_hidden_layer, axis=0, keepdims=True) * learning_rateprint(predicted_output)# 绘制误差曲线
plt.plot(errors)
plt.title('Error (MSE) over Epochs')
plt.xlabel('Epochs')
plt.ylabel('Mean Squared Error (MSE)')
plt.show()

预测结果:

[[0.01707759][0.98487483][0.98482722][0.01675426]]

误差曲线如下;

可见,随着迭代次数的增加, 均方误差MSE越来越小,最终收敛到0。


http://www.yayakq.cn/news/699660/

相关文章:

  • 哪个网站可以接cad图纸做做 理财网站有哪些问题
  • 广州建设局官方网站网站论坛怎样建设
  • 阳江网站建设推广如今做那个网站能致富
  • 那个网站做二手设备比较好网络优化软件有哪些
  • 韶关企业网站建设凡诺网站下载
  • 品牌网站建设教程wordpress放哪
  • 官方网站拼多多宁波其它区高端关键词优化
  • 如何用自己的域名做网站阿里企业网站托管
  • wordpress 创建网站乐清做网站建设
  • 马蜂窝网站怎么做网站建设一般怎么付款
  • 网站备案备注信息wordpress 缓存 iis
  • 吉林省高等级公路建设局网站怎么免费上传网页网站
  • 做网站建设 个体经营 小微企业微网站建设代运营
  • 简单的网站开发流程图学做西餐网站
  • 做外贸实用网站wordpress默认字体
  • 网站开发应该学哪门语言wordpress的md
  • 建设银行北京东四支行网站小程序商城制作一个需要多少钱
  • wordpress 外国主机关键词优化排名用哪些软件比较好
  • 县城房地产网站可以做吗做鞋的贸易公司网站怎么做好
  • 昆明广告网站制作上海最近发生什么大事
  • 给网站做接口上海产品设计公司排行
  • 网站后台源代码更改海南小程序开发
  • 深圳哪个网站好推广一点极智装
  • 百度推广话术全流程兰州再次出台9条优化措施
  • 安徽 网站制作手机网站建设的教程视频
  • 做网站 免费字体wordpress蜘蛛插件
  • asp网站源码安装教程东莞勒流网站制作
  • 如何用源代码做网站建站公司用的开源系统
  • 厦网站建设培训学校8+1网站正能量直接入口没封
  • 网站开发工程师6推软件