Python实现单隐层神经网络

该博客详细介绍了如何使用Python实现一个简单的单隐藏层神经网络,包括构造函数、激励函数、权重初始化、阈值初始化、前向传播、误差计算及反向传播等关键步骤。通过实例展示了神经网络的训练过程,以及对随机生成数据的预测测试。
摘要由CSDN通过智能技术生成
import random
import math
 
#---神经网络Model---
class Ann:
    #构造函数 初始化模型参数
    def __init__(self, i_num, h_num, o_num):
        #可调参数
        self.learn_rate = 0.1    #学习率
        self.num_long = 2        #输出结果位数
        self.random_long = 10    #随机种子位数
 
        #输入参数
        self.input_num = i_num   #输入层 数量
        self.hidden_num = h_num  #隐层 数量
        self.output_num = o_num  #输出层 数量
 
        #模型参数
        self.input = []          #输入层
        self.hidden = []         #隐层
        self.output = []         #输出层
        self.error = []          #误差
        self.expectation = []    #期望
        self.weight_ih = self.__ini_weight(self.input_num, self.hidden_num)   #输入层->隐层 连接权
        self.weight_ho = self.__ini_weight(self.hidden_num, self.output_num)  #隐层->输出层 连接权
        self.threshold_h = self.__ini_threshold(self.hidden_num)              #隐层 阈值
        self.threshold_o = self.__ini_
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值