简述神经网络学习过程

0. 前言

本篇博客打算通俗地说明一下神经网络的学习过程。

1. 基本原理

还是通过举例来进行说明。
假如有一种花,其花瓣长度与叶子长度成一定的比例。

花瓣长度叶子长度
927
2372
2963
2661
2457
3594
2159
2778
1960
3190

可以把上面的数据在坐标系中画出来:

在这里插入图片描述

现在,我们知道一朵花的花瓣长度是20,想知道它的叶子长度是多少?

从上边的散点图中,可以看到实际上就是需要找到一条直线来拟合这些点,使得尽可能多的点在直线上或者直线附近。但如何寻找合适的直线就成了一个问题。

在计算机中,在给定了这些样本点之后,实际上开始它会随机找一条直线,根据预测结果与实际结果的误差来逐渐进行调整,以逐渐逼近最佳的结果。(比如在下图中,最初是随机画的黑色这条线来拟合这些点,然后会计算每个样本点与直线的误差,所有样本点的误差加起来就是总的误差,再进行加和之后发现误差很大,所以就会调整直线的斜率,此处就把斜率减小,再计算每个样本的误差,不断尝试这个过程)

在这里插入图片描述

如果把最终所求的斜率与误差的关系也通过作图展示,则如下:

在这里插入图片描述
在很多问题中,误差一般不能减小到0,所以一般求解的是误差的最小值,并且在实际问题中,求解误差都用了一些函数,所以更多时候误差和要求解的值是曲线的关系,如下:

在这里插入图片描述
而这时候,要寻找的误差最小的过程就是找曲线斜率趋近于0的过程,也就是找导数趋近于0的过程。

并且在寻找最合适的解的时候,步长不能过大,不然会错过最佳解,如下图:

在这里插入图片描述

所以,其实,神经网络的学习过程就是一个不断调整误差的过程。

2. 网络结构

单层

在这里插入图片描述
多层
神经元相互连接就构成了神经网络

在这里插入图片描述
上面是一个全连接,即每个神经元传到下一层,也是传给下一层的每一个神经元,在连接这条线上有一个权重,这个权重衡量了它传递到下一层神经元的大小。

下面举例来计算的过程,假如有下面的这个过程:

在这里插入图片描述
上图中的0.7426和0.6433就是输出结果,通过输出结果和期望值的误差,返回去调整每个神经元和其他神经元的权重,使得误差不断减小,不断逼近期望值。

通过上述过程不断的训练和调整,最终会得到一组权重的合理取值,在输入数据时,得到的结果与期望值十分接近,此时的神经网络就算训练好了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值