机器学习(十一)——BP神经网络

笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值,找寻数据的秘密,笔者认为,数据的价值不仅仅只体现在企业中,个人也可以体会到数据的魅力,用技术力量探索行为密码,让大数据助跑每一个人,欢迎直筒们关注我的公众号,大家一起讨论数据中的那些有趣的事情。

我的公众号为:livandata

神经网络是指输入的数据经过一个节点,在这个节点中进行sum和激活函数两个,然后产生一个输出值;一个隐藏节点就代表一个线性函数,神经网络本质上是通过一个个小的线性模型堆积出一个完整模型。

BP神经网络是指在上面的基础上,添加损失函数,将输出值与真实值做比较,形成损失,然后将这个损失值根据权重逐级返回到输入值,然后再调整权重重新检测。

上图为一个简单的神经元,其对应的训练过程见右图。

下面图形为对BP-神经网络的流程介绍:

一、输入层得到输入的数据,然后计算出隐含层的输出结果:

首先会初始一个w权重值,然后根据输入值,经过求和和激活函数计算出一个隐含层的结果,作为隐含层。

二、根据隐含层的结果值,通过相同的步骤计算出第二层隐含层的结果值:

三、在此基础上计算最后一层的输出值:

四、在上面的计算的基础上,本神经网络得到了一个输出值,接下来的工作即为通过损失函数,逐层的向上迭代,调整权重值:

五、计算第二层隐含层的误差:

六、倒推到第一层的误差计算:

七、通过反馈到第一级的误差值来计算第一层的新权重:新的权值=原权值+学习速率×该节点的误差×激励函数的导函数的值(f(e)的倒数)×与该节点相连的输入值。

八、再计算第二层的权重值,第二层修改权重的时候是通过误差的值决定的,没有再与前面的权重值交互:

九、同理计算最后一层的权重:

经过这个过程,形成一次修改的权重值,然后再输入新的值,计算新一轮权重值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值