Python利用numpy实现三层神经网络的示例代码
作者:大呼啦 时间:2021-07-29 22:04:46
本文主要介绍了Python利用numpy实现三层神经网络的示例代码,分享给大家,具体如下:
其实神经网络很好实现,稍微有点基础的基本都可以实现出来.主要都是利用上面这个公式来做的。
这是神经网络的整体框架,一共是三层,分为输入层,隐藏层,输出层。现在我们先来讲解下从输出层到到第一个隐藏层。
使用的编译器是jupyter notebook
import numpy as np
#定义X,W1,B1
X = np.array([1.0, 0.5])
w1 = np.array([[0.1, 0.3, 0.5],[0.2, 0.4, 0.6]])
b1 = np.array([0.1, 0.2, 0.3])
#查看他们的形状
print(X.shape)
print(w1.shape)
print(b1.shape)
#求点积
np.dot(X,w1)
def sigmod(x):
return 1/(1 + np.exp(-x))
Z1 = sigmod(A1)
Z1
#定义w2,b2
w2 = np.array([[0.1,0.4],[0.2,0.5],[0.3,0.6]])
b2 = np.array([0.1,0.2])
#查看他们的行状
print(w2.shape)
print(b2.shape)
A2 = np.dot(Z1,w2) + b2
A2
Z2 = sigmod(A2)
Z2
#定义恒等函数
def identity_function(x):
return x
#定义w3,b3
w3 = np.array([[0.1,0.3],[0.2,0.4]])
b3 = np.array([0.1,0.2])
A3 = np.dot(Z2,w3) + b3
Y = identity_function(A3)
Y
将上面的整合一下
#整理
#定义一个字典,将权重全部放入字典
def init_network():
network = {}
network['w1'] = np.array([[0.1,0.3,0.5],[0.2,0.4,0.6]])
network['w2'] = np.array([[0.1,0.4],[0.2,0.5],[0.3,0.6]])
network['w3'] = np.array([[0.1,0.3],[0.2,0.4]])
network['b1'] = np.array([0.1, 0.2, 0.3])
network['b2'] = np.array([0.1,0.2])
network['b3'] = np.array([0.1,0.2])
return network
#定义函数,导入权重与x,得到Y
def forward(network,x):
w1,w2,w3 = network['w1'],network['w2'],network['w3']
b1,b2,b3 = network['b1'],network['b2'],network['b3']
A1 = np.dot(x,w1) + b1
A2 = np.dot(A1,w2) + b2
A3 = np.dot(A2,w3) + b3
Y = identity_function(A3)
Y
#调用函数
network = init_network()
X = np.array([1.0,0.5])
Y = forward(network,X)
来源:https://blog.csdn.net/HHsHH1234/article/details/116174513
标签:numpy,三层神经网络
0
投稿
猜你喜欢
ie的javascript失效问题
2009-09-21 12:49:00
Go slice切片使用示例详解
2023-07-09 12:07:02
Python爬虫:通过关键字爬取百度图片
2022-06-16 11:32:47
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2023-02-23 13:43:45
Python命令行解析器argparse详解
2023-06-14 01:08:14
基于tkinter中ttk控件的width-height设置方式
2023-07-04 21:32:20
Python中if语句的基本格式实例代码
2023-12-02 14:31:20
轻松掌握python设计模式之策略模式
2022-01-19 00:17:15
JS判断是否为数字、JS判断是否为整数、JS判断是否为浮点数
2008-11-19 16:42:00
javabean servlet jsp实现分页功能代码解析
2023-06-13 15:21:24
微信小程序实现图片上传功能
2023-09-06 13:08:44
SQL Server的FileStream和FileTable深入剖析
2023-07-17 01:17:24
Python实现图片格式转换
2023-08-03 04:58:57
通过Jython调用Python脚本的实现方法
2022-07-08 23:21:42
python socket网络编程步骤详解(socket套接字使用)
2022-09-15 11:35:08
asp学习入门基本语法知识
2007-11-07 14:02:00
解析:以mysql_开始的未定义引用错误
2008-12-19 17:58:00
mysql 修改表结构 判断并添加column
2010-10-25 20:07:00
在ASP中使用SQL语句之3:LIKE、NOT LIKE和 BETWEEN
2007-08-11 12:30:00
小白学Python之实现OCR识别
2022-02-12 20:35:48