Python中用numpy怎样实现神经网络,方法是什么
Admin 2022-06-23 群英技术资讯 1202 次浏览
这篇文章给大家介绍了“Python中用numpy怎样实现神经网络,方法是什么”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。本文主要介绍了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)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
1、mongodb连接数据库importpymongo#连接数据库client=pymongo.MongoClient('localhost')#连接指定数据库db=client['shop']#指定goods集合result=db['goods'].find()ww=db['goods'].insert_one({'a':'qw'})aa=db['t
回调函数就是一个通过函数指针调用的函数,下面这篇文章主要给大家介绍了关于Python中回调函数(callback)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
pyc是一种二进制文件,是由py文件经过编译后,生成的文件,下面这篇文章主要给大家介绍了关于python中py文件与pyc文件相互转换的相关资料,需要的朋友可以参考下
这篇文章给大家分享的是python中递归调用栈溢出的问题该怎样解决的方法。小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
python中in是什么意思?in在python中是成员运算符,如果在指定的序列中找到值返回 True,否则返回 False。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008