博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python使用numpy实现BP神经网络
阅读量:5268 次
发布时间:2019-06-14

本文共 908 字,大约阅读时间需要 3 分钟。

本文完全利用numpy实现一个简单的BP神经网络,由于是做regression而不是classification,因此在这里输出层选取的激励函数就是f(x)=x。BP神经网络的具体原理此处不再介绍。

 

   import numpy as np

     
    class NeuralNetwork(object):
        def __init__(self, input_nodes, hidden_nodes, output_nodes, learning_rate):
            # Set number of nodes in input, hidden and output layers.设定输入层、隐藏层和输出层的node数目
            self.input_nodes = input_nodes
            self.hidden_nodes = hidden_nodes
            self.output_nodes = output_nodes
     
            # Initialize weights,初始化权重和学习速率
            self.weights_input_to_hidden = np.random.normal(0.0, self.hidden_nodes**-0.5, 
                                           ( self.hidden_nodes, self.input_nodes))
     
            self.weights_hidden_to_output = np.random.normal(0.0, self.output_nodes**-0.5, 
                                           (self.output_nodes, self.hidden_nodes))
            self.lr = learning_rate
            
            # 隐藏层的激励函数为sigmoid函数,Activation function is the sigmoid function
            self.activation_function = (lambda x: 1/(1 np.exp(-x)))
        
        def train(self, inputs_list, targets_list):

转载于:https://www.cnblogs.com/amengduo/p/9586275.html

你可能感兴趣的文章
Java 序列化
查看>>
Java 时间处理实例
查看>>
Java 多线程编程
查看>>
Java 数组实例
查看>>
mysql启动过程
查看>>
2017前端面试题总结
查看>>
Http GetPost网络请求
查看>>
SWIFT国际资金清算系统
查看>>
Sping注解:注解和含义
查看>>
站立会议第四天
查看>>
如何快速掌握一门技术
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
A-Softmax的总结及与L-Softmax的对比——SphereFace
查看>>
UVa 11059 最大乘积
查看>>
数组分割问题求两个子数组的和差值的小
查看>>