Python利用numpy实现三层神经网络的示例代码

作者:大呼啦 时间:2021-07-29 22:04:46 

本文主要介绍了Python利用numpy实现三层神经网络的示例代码,分享给大家,具体如下:

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)

Python利用numpy实现三层神经网络的示例代码


#求点积
np.dot(X,w1)

Python利用numpy实现三层神经网络的示例代码


def sigmod(x):
   return 1/(1 + np.exp(-x))
Z1 = sigmod(A1)
Z1

Python利用numpy实现三层神经网络的示例代码


#定义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)

Python利用numpy实现三层神经网络的示例代码


A2 = np.dot(Z1,w2) + b2
A2

Python利用numpy实现三层神经网络的示例代码


Z2 = sigmod(A2)
Z2

Python利用numpy实现三层神经网络的示例代码


#定义恒等函数

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

Python利用numpy实现三层神经网络的示例代码

将上面的整合一下


#整理

#定义一个字典,将权重全部放入字典
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
  • asp之家 网络编程 m.aspxhome.com