最简单的神经学习形式——冷热法学习

一句话概括机器学习:调整权重——将weight的大小进行不断的调整——以降低误差。

不断调整weight大小,使得误差逐渐为0的过程,就是学习的过程。

在调整weight大小的过程中,给weight加减一个固定的值,得到结果并判断误差,我们就可以根据此来最终调整weight的大小。

而不断的重复上述过程,最终的误差会逐渐趋向于0,也就说明神经网络的预测精度较高。

什么是冷热学习?

冷热学习指的是通过扰动权重来确定向那个方向调整可以使得误差的降低幅度最大,基于此将权重的值向那个方向移动,不断重复这个过程,知道误差趋于0。

冷热法学习步骤:

1、构建一个空白的神经网络


weight = 0.1

lr = 0.01

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

2、预测:做出预测并衡量误差


input = 8.5
true = 1

pred = neural_network(input, weight)

error = (pred - true) ** 2
print(error)

3、比较:基于更大的权重值做出预测,并衡量误差

lr = 0.1

p_up = neural_network(input, weight + lr)

e_up = (p_up - true) ** 2
print(e_up)

4、比较:基于更小的权重做出预测,并衡量误差

lr = 0.01

p_dn = neural_network(input, weight - lr)

e_dn = (p_dn - true) ** 2
print(e_dn)

5、比较+学习:比较两次操作带来的误差,并更新权重


if(error > e_dn || error > e_up):
  if(e_dn < e_up):
    weight -= lr
  if(p_up < e_up):
    weight += lr 

正常情况下,必须重复这个过程很多次才能找到正确的权重。

冷热学习的特点

很简单

冷热学习非常简单。在上一次做出预测之后,模型又进行了两次预测,一次权重稍微高一些,另一次的权重稍微低一些。然后,权重实际进行调节的量取决于那个方向所得到的误差更小。重复这一过程足够多次,最终误差将降低到0。

冷热学存在的问题

1:效率底下

必须通过多次预测才能进行一次权重的更新。



2:有时准确预测出目标是不可能的

给定一个幅度大小固定的值,除非权重恰好分毫不差地落在距离初始权重n步幅大小的位置,否则,最终会超出某个最小的迭代值。这一情况发生时,网路预测的输出就会在某个值周围来回波动。

更多内容请关注公众号:玖柒壹点点
欢迎大家交流探讨,如有侵权,联系作者。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值