神经网络的激活函数+损失函数

激活函数

10个样本数据data,20个对Sigmoid函数进行线性变换的参数值(5个Sigmoid函数,每个函数有4个值)

  • learning_rage = 0.05 学习率,作用在参数对loss值的导数上,让最终的参数慢慢调整,使得线性变化之后5个Sigmoid函数的结果值慢慢逼近真实值
  • 训练1000次进行计算

以此类推:计算

python 复制代码
learning_rage = 0.05

for i in range(1000):
	for x,y in data:
		q1 = a1 * x +b1 
		p1 = 1 / (1 + e ** (-q1))
		g1 = c1 * p1 + d1

		q2 = a2 * x +b2 
		p2 = 1 / (1 + e ** (-q2))
		g2 = c2 * p2 + d2

		q3 = a3 * x +b3
		p3 = 1 / (1 + e ** (-q3))
		g3 = c3 * p3 + d3

		q4 = a4 * x +b4 
		p4 = 1 / (1 + e ** (-q4))
		g4 = c4 * p4 + d4

		q5 = a5 * x +b5 
		p5 = 1 / (1 + e ** (-q5))
		g5 = c5 * p5 + d5

		y_hat = g1 + g2 + g3 + g4 + g5 #预测值
		loss = (y - y_hat) ** 2
		
		# 导数的链式法则,分别计算a1-d1的导数
		a1_grad = (-2 * (y - y_hat)) * 1 * c1 * p1 * (1 - p1) * x
		b1_grad = (-2 * (y - y_hat)) * 1 * c1 * p1 * (1 - p1) * 1
		c1_grad = (-2 * (y - y_hat)) * 1 * p1
		d1_grad = (-2 * (y - y_hat)) * 1

		a2_grad = (-2 * (y - y_hat)) * 1 * c2 * p2 * (1 - p2) * x
		b2_grad = (-2 * (y - y_hat)) * 1 * c2 * p2 * (1 - p2) * 1
		c2_grad = (-2 * (y - y_hat)) * 1 * p2
		d2_grad = (-2 * (y - y_hat)) * 1

		a3_grad = (-2 * (y - y_hat)) * 1 * c3 * p3 * (1 - p3) * x
		b3_grad = (-2 * (y - y_hat)) * 1 * c3 * p3 * (1 - p3) * 1
		c3_grad = (-2 * (y - y_hat)) * 1 * p3
		d3_grad = (-2 * (y - y_hat)) * 1

		a4_grad = (-2 * (y - y_hat)) * 1 * c4 * p4 * (1 - p4) * x
		b4_grad = (-2 * (y - y_hat)) * 1 * c4 * p4 * (1 - p4) * 1
		c4_grad = (-2 * (y - y_hat)) * 1 * p4
		d4_grad = (-2 * (y - y_hat)) * 1

		a1_grad = (-2 * (y - y_hat)) * 1 * c5 * p5 * (1 - p5) * x
		b1_grad = (-2 * (y - y_hat)) * 1 * c5 * p5 * (1 - p5) * 1
		c1_grad = (-2 * (y - y_hat)) * 1 * p5
		d1_grad = (-2 * (y - y_hat)) * 1

		a1 = a1 - learning_rate * a1_grad
		b1 = b1 - learning_rate * b1_grad
		c1 = c1 - learning_rate * c1_grad
		d1 = d1 - learning_rate * d1_grad

		a2 = a2 - learning_rate * a2_grad
		b1 = b1 - learning_rate * b2_grad
		c1 = c1 - learning_rate * c2_grad
		d1 = d1 - learning_rate * d2_grad

		a3 = a3 - learning_rate * a3_grad
		b3 = b3 - learning_rate * b3_grad
		c3 = c3 - learning_rate * c3_grad
		d3 = d3 - learning_rate * d3_grad

		a4 = a4 - learning_rate * a4_grad
		b4 = b4 - learning_rate * b4_grad
		c4 = c4 - learning_rate * c4_grad
		d4 = d4 - learning_rate * d4_grad

		a5 = a5 - learning_rate * a5_grad
		b5 = b5 - learning_rate * b5_grad
		c5 = c5 - learning_rate * c5_grad
		d5 = d5 - learning_rate * d5_grad

	print(f"Epoch {i},Loss:{loss:8f}")

其他激活函数


损失函数

相关推荐
GPU实战笔记1 分钟前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
回眸&啤酒鸭1 分钟前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
博图光电10 分钟前
Libra 27105相关技术参数
人工智能·数码相机
IT_陈寒34 分钟前
SpringBoot自动配置差点让我加班到凌晨
前端·人工智能·后端
yumgpkpm1 小时前
Acceldata ODP(Open Data Platform)3.3.6.4(RHEL9)保姆级完整安装手册
大数据·人工智能·hive·hadoop·kafka·hbase·cloudera
程序员cxuan1 小时前
腾讯又来一王炸,开源版 WorkBuddy 太夯了!
人工智能·后端·程序员
邓工说电1 小时前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读
大数据·数据库·人工智能·智能断路器·炜晔科技
阿里云大数据AI技术1 小时前
Lance 数据检索怎么选,当然阿里云 Milvus 向量湖
人工智能
出海客1 小时前
跨境电商多语言客服知识库怎么建:资料结构、检索边界与人工升级
大数据·人工智能
xsd202411181 小时前
从自主导航到视觉读表:一台工业巡检机器人的全栈技术链路拆解
人工智能