使用python构建简单的神经网络


初识这个领域,由于之前有python基础,根据本人习惯,直接从简单的入手。
神经网络需要至少三个部分:

初始化函数 设定输入层节点,隐藏层节点和输出层节点
训练函数 学习给定训练集样本后,优化权重
查询 给定输入。从输出节点返回答案

框架如下:

#神经网络框架
class neuraNetwork:
def __init__():

def train():

def query():

初始化网络

现在我们讨论最简单的神经网络。
在初始化网络这一部分。我们需要设置输入层节点,隐藏层节点和输出层节点的数量。
我们要尽量的构建一般代码,以便于适用于不同的场景。

def __init__(self,inputnodes,hiddennodes,outputnodes,learningrate):
self.inodes=inputnodes
self.hnodes=hiddennodes
self.onodes=outputnodes
self.lr=learningrate
pass

权重

网络中最重要的部分是链接权重,我们要使用这些权重来计算前馈信号,反向传播误差。

输入——隐藏:权重矩阵Wih=inputnodes*hiddennodes

隐藏——输出:权重矩阵Who=hiddennodes*outputnodes

生成权重矩阵我们还可以使用numpy.random.rand(row,columns)
此函数能生成0~1之间的随机值矩阵。那么,现在有一个问题,我们没有负值的权重,那么,我们将结果减去0.5.获得的矩阵就是-0.5到0.5的随机值了。

self.wih=(numpy.random.rand(self.hnodes,self.inodes)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值