人工神经网络算法python_Python实现的人工神经网络算法示例【基于反向传播算法】,python人工神经网络...

本文提供了一个Python实现的基于反向传播算法的人工神经网络示例,详细解释了算法的实现过程。通过随机生成的训练数据,演示了如何训练和测试网络,并讨论了参数对学习结果的影响。
摘要由CSDN通过智能技术生成

Python实现的人工神经网络算法示例【基于反向传播算法】,python人工神经网络

本文实例讲述了Python实现的人工神经网络算法。分享给大家供大家参考,具体如下:

注意:本程序使用Python3编写,额外需要安装numpy工具包用于矩阵运算,未测试python2是否可以运行。

本程序实现了《机器学习》书中所述的反向传播算法训练人工神经网络,理论部分请参考我的读书笔记。

在本程序中,目标函数是由一个输入x和两个输出y组成,

x是在范围【-3.14, 3.14】之间随机生成的实数,而两个y值分别对应 y1 = sin(x),y2 = 1。

随机生成一万份训练样例,经过网络的学习训练后,再用随机生成的五份测试数据验证训练结果。

调节算法的学习速率,以及隐藏层个数、隐藏层大小,训练新的网络,可以观察到参数对于学习结果的影响。

算法代码如下:

#!usr/bin/env python3

# -*- coding:utf-8 -*-

import numpy as np

import math

# definition of sigmoid funtion

# numpy.exp work for arrays.

def sigmoid(x):

return 1 / (1 + np.exp(-x))

# definition of sigmoid derivative funtion

# input must be sigmoid function's result

def sigmoid_output

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值