神经网络的训练,究竟在训练什么

 我来答
新科技17
2022-06-25 · TA获得超过5837个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:72.1万
展开全部

前面我们已经了解到神经网络进行预测的过程,但是仍然留下许多疑问,比如权重值如何获得,如何训练神经网络等,这些问题我们将在本文展开。

权重值也就是前文所提到的小蜘蛛的道具,没有看过的朋友可以先看看我的上一个博客。

权重值该如何获得呢?

我们以最简单的三个神经元的神经网络举例子:

最左边的神经元是起点,最右边的是终点,只有中间的神经元有权重值。

我们先来 离散 的获得一部分点:

我们可以隐约地看到这些点大约分布在一条直线附近, 我们把这条直线画出来

那我们如何通过这几个点来获得这条红色的线呢?

这十个已知的点分别是什么?

第一列表示x轴的坐标,第二列表示y轴的坐标

其实思路就是用最小二乘法,先假设随便画一条线

我画了一条 y=0.1x+0.1 的线如图所示

显然我们画的线差距很大,此时使用最小二乘法,就是每个点到直线的距离加起来,再用梯度下降法来优化!

好的,如果我这么说,肯定和每说一样,那么我 一步一步

第一个点的坐标是(1, 0.16375502570787515),我们把x=1带入y=0.1x+0.1这个函数,得到y=0.2

显然我们正确的y应该是0.163,那么正确的y,和我们在y=0.1x+0.1得到的y值差距是多大呢?差距是:(0.163-0.2)^2

我们要想办法减小这个差距

差距是怎么得到的? 预测值减去真实值再平方 ,用数学语言就是(0.1*1+0.1-0.2)^2 ==> (wx+b-2)^2

就是说我们要对函数 (y - wx+b)^2 获得的值最小,也就是求这个函数的 最小值 ,高中数学就讲到求函数最小值的方法就是 求导 ,这是二元函数,就是高考最喜欢做的题目!!!求导之后画出导数函数的图像,然后与0相交的点就是极小值点!大家应该很熟悉这个步骤。

不过

这个函数有w和b两个未知数,我们的思路是正确的,只是不能通过这种方式获得最小值,所以这里我们求的是对w和对b的偏导数,( 这里需要微积分学历 )对w的偏导数就是 2w(wx+b-y) 。对b的偏导数就是 2(wx+b-y)

此时我们把第一个点的数据代入 x=1, y=0.163, w=0.1, b=0.1

对w的偏导数等于 0.0326

对b的偏导数等于 0.326

此时,我们设定一个步长,也叫学习率,假设等于0.2吧,

那么,

我们已经更新了w和b的值,只要重复这个步骤足够多的次数,那么就可以得到很接近红色的线。

其实,这就是神经网络的训练过程。

先把我们已经有的值传入网络,网络一开始的权重值是随机的,传入网络得到一个预测值,这个预测值会和真实值有一定的差距,那么我们优化这个差距,让这个差距变小,其实这就是一个反向传播的过程,我们用数学计算来更新了w和b的值,那么下一次传入网络得到的预测值与真实值之间的距离就会减小,周而复始,这个距离不断减小,我们就可以得到一个预测能力比较好的w和b,也就是拟合能力比较强的网络,就可以对未知的数据得到较为准确的结果。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式