《Grokking Deep Learning》 神经学习

本文深入探讨神经网络的误差衡量、梯度下降法在学习过程中的作用。通过实例解释了为何使用平方误差以及如何通过计算误差的方向和程度来更新权重。介绍了一种称为“冷热学习”的迭代方法,展示了如何通过不断调整权重来逼近目标预测,从而减少误差。此外,文章还讨论了牛顿迭代法与现代梯度下降算法的关系,并提供了实际操作的练习,帮助读者更好地理解和应用这些概念。
摘要由CSDN通过智能技术生成

神经学习

1、神经网络精准预测与否?

预测就是一个神经网络

knob_weight = 0.5  #初始化权重参数(预测的标准)
input = 0.5 #输入值
goal_pred = 0.8  #真实情况,f(0.5)=0.8
pred = input * knob_weight  #预测值=输入*权重
error = (pred - goal_pred) ** 2   #误差
print(error)#输出误差

输入*权重=预测值(和真是可能有差距)
为什么要用平方呢?
是因为能够让这个值一直保持为正。

训练神经网络的目标是做出正确的预测。这就是你想要的。在最务实的世界里,你希望网络接受你可以轻松计算的输入(今天的股价),并预测难以计算的东西(明天的股价)。这就是神经网络有用的原因

2、为什么要衡量误差?

衡量误差简化了问题,改变旋钮权重以使网络正确预测目标预测比改变旋钮权重以使误差== 0 要稍微复杂一些。用
这种方式来看待这个问题有一些更简洁的东西。最终,这两种说法说的是同一件事,但试图将错误设为 0 似乎更简单。

通过平方误差,小于 1 的数字变小,而大于 1 的 数字变大。这样更大的错误变得非常大,而更小的错误很快变得无关紧要。
通过这种方式测量误差,可以将大的误差优先于小的误差。当有较大的纯误差时(比如说,10),会告诉自己有很大的误差(10 * 2 == 100);相反,当有小的纯误差时(比如说,0.01),会告诉自己有非常小的误差(0.01 * 2 == 0.0001)。
相反,如果取绝对值而不是平方误差,就不会有这种类型的优先级

3、热和冷学习

首先搭建神经元函数:

weight = 0.1 
lr = 0.01
def neural_network(input, weight):
 prediction = input * weight
 return prediction

预测、初始化一个weight:

number_of_toes = [8.5]
win_or_lose_binary 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎明之道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值