BP算法简单实例
2021/5/7 20:26:47
本文主要是介绍BP算法简单实例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# -*- coding: utf-8 -*- import numpy as np def sigmoid(x):#激活函数 return 1/(1+np.exp(-x)) input = np.array([[0.35], [0.9]]) #输入数据 w1 = np.array([[0.1, 0.8], [0.4, 0.6]])#第一层权重参数 w2 = np.array([0.3, 0.9])#第二层权重参数 real = np.array([[0.5]])#真实值 for s in range(0,100,1): pq = sigmoid(np.dot(w1,input))#第一层输出 output = sigmoid(np.dot(w2,pq))#第二层输出,也即是最终输出 e = output-real #误差 if np.square(e)/2<0.01: break else: #否则,按照梯度下降计算权重参数 #其中,应用链式法则计算权重参数的更新量 w2 = w2 - e*output*(1-output)*pq.T w1 = w1 - e*output*(1-output)*w2*pq.T*(1-pq.T)*input print(w1,'\n',w2) #输出最终结果 print (output)
[[ 0.09606536 0.78371966]
[ 0.38988235 0.55813627]]
[[ 0.12472196 0.72965595]]
[[ 0.63690405]]
这篇关于BP算法简单实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)