bp神经网络算法推导 推导过程 越详细越好

神经网络应用分几个具体步骤?_百度知道BP神经网络模型推导_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
BP神经网络模型推导
上传于||文档简介
&&B​P​算​法​,​误​差​反​向​传​播​(​E​r​r​o​r​ ​B​a​c​k​ ​P​r​o​p​a​g​a​t​i​o​n​,​ ​B​P​)​算​法​推​导
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩7页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢感觉神经网络无法实现逻辑推理_人工智能吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:44,016贴子:
感觉神经网络无法实现逻辑推理收藏
逻辑推理是人类智慧最重要的一部分,而神经网络恐怕是实现不了。因为神经网络无法递归。
天猫电器城,人工智能洗衣机买零件,品牌商户授权专卖,品质可信赖.全国联保,退换无忧!天猫电器城,品牌旗舰,闪电到家,超值包邮,智新生活!
你确定是“最重要的一部分”?而且神经网络不直接表示神经网络算法
我在这里 【 如何将人工神经网络(ANN)跟推理(reasoning)整合起来】 起了个头讨论这事。感觉是办得到,而且这该是下一波ANN研究的一个重点之一。
神经网络本来就不是用来实现智能的,是用来给机器人作硬件驱动的
逻辑推理一样是神经网络功能产生的幻象
从 思维这个幻象层面 研发人工智能,是没有前途的
大脑是生物神经网络,人工神经网络只是参考了生物神经网络弄出来的一个粗糙简化的模型,已经偏离生物神经细胞很远了,甚至可以说除了网状基本结构是相同的,其他方面都是完全不想干的东西。就是包含一堆偏微分方程的最逼近生物神经细胞的hh模型,它也没考虑多巴胺等神经递质的作用,没考虑链接可塑性的建立、加强和削弱、断开的机制,只是一个刺激和发放响应的模型。想从人工神经网络得到生物大脑的功能自然是很困难的,甚至是不可能的。如果要用网络模型来实现生物智能,必须将被简化去除的一些必要功能加回来。除了上面说的那些递质、可塑性之外,还有就是复制、凋亡机制。另外数字平台的实现与生物还有一个不同,离散2进制数学和连续模拟量的差别,生物脉冲和数字编码的区别,同步时钟和异步的区别。
写一个1厘米高的字,BP认出来了,你把字放大到2厘米,BP傻了。
推理肯定好实现。越是高层的事情越好实现,但是现在基础是如何学习,这个基础才难实现。其实复杂的学习过程中,有推理的参与。但是简单的学习过程不需要推理参与。经典的一段程序,就是一个推理过程,也就是说,推理就是一个线形的处理过程,就是从头执行到尾,你用递归也行,但肯定要有跳出过程的办法。
与或非同或异或门都可以用神经网络实现
ANN只适合识别,所以注定是底层的识别模块,我只要一个识别结果,转换成符号传递给上层智能结构即可。所谓的学习就是为了更好的识别,识别是ANN的功能,也是它存在的理由。看成好使的底层特征识别零件就行了
逻辑的本质就是概念之间的转换,跟联想没有区别,神经网路的功能是把输入变成输出,这就是一种概念转换,这种转换不断进行的过程就是推理
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
自己动手写一个神经网络的程序难度有多大呢?
本人今年研一,刚上研究生,对神经网络比较感兴趣,实验室这边没人怎么用过,老师觉得这个方向挺好的,去年都是直接用的matlab自带的工具箱,但是老师觉得还是自己写一个比较好,所以楼主这个学期就开始着手写。那么问题来了~
楼主先构建了一个神经网络的框架,花了半个月吧,这个还好,就是为了以后好扩展所以检查了很久。但是弄完之后开始写训练算法,刚开始梯度下降法还行,花了几天搞出来了,但是效果一般,所以想转战LM算法,这个时候问题出来了,单独调lm算法都快花了两周多了,现在调好了,用在神经网络上的时候又遇到问题了,正在努力看书中……
现在问题就是写的过程特别没自信,总感觉应该不算难的一部分怎么花了这么长时间,而且还是怀疑自己弄出来效果会好吗?求过来人指导啊!小弟感谢不尽
我就想知道大家用神经网络都是自己写的还是用的工具箱
用神经网络的都是自己写的吗?
貌似很难找到比较好的源码啊,单独用的话感觉工具箱又够了,所以特别纠结
二十年前我自己用 C 写过 BP 神经网络的算法, 所花费的时间和精力...全是眼泪啊:(
主要看你们想干啥. 如果是想学习算法, 那可以自己编. 如果是想应用在某个问题上, 用现成的有什么不好呢? 即节省时间有保证准确性.
工具箱的源码看不到吗?
我去,竟然真有,我记得好久之前是看不到源码的,思维定势害死人啊,多谢多谢了,我好好研究一下人家的吧,太感谢了,小弟刚开始混,金币不多,剩下的就给你吧
最核心的代码还是不可读的。。。。
= calcLib.perfsJEJJ(calcNet);
就这个函数,里面可以算出雅克比矩阵,这个过程很麻烦,能找到源码的话就多谢你了。
做出来的效果太差,写到这里准备就此收手了。。。。
我没能直接找到源码, 不过这个帖子里提到了一些信息 (/matlabcentral/newsreader/view_thread/327217). 这个源码应该是存在文件 perfsJEJJ.m 里. 你不妨搜索一下所有 Matlab 的文件, 看看能不能找到.
大神,会用MATLAB编程求权重吗:hand:
大神,用模糊数学的方法怎么实现MATLAB权重计算。金币有赏
大神,求MATLAB算权重的程序&&用模糊复合物元法的相关数学知识,只算两个权重
事实证明是没有任何卵用的,自己写的过程中发现高效的数值优化牵扯了太多的精力,还是用工具箱或者是开源的工具包吧
就用的matlab呀,首先搭出来正向的计算函数,然后再搭训练算法,再配套一些调试函数。前期一定要把网络的结构体写好!
我也是准备这样做,但就在搭建网络的结构体这块,就是我查看了一下matlab自带的newff函数,发现它把结构体生成了一个类,我就仿照它的也生成类,但就是我的类在workspace中就不显示属性什么的,就卡在这儿了,就想问你是不是也生成了类,还是直接就用结构体
恩,好的,谢谢
没办法,老板让写的啊
恩,我也写了几个,怎么说呢,实现基础功能都还行,但是想做的特别优化还是需要很多精力的。比如为了加快遗传算法的速度并行设计,bp算法最后怎么调节学习率、批处理收敛……等等。总之感觉找开源的代码基础上开发更好,从头开始太牵扯精力。
如果想深入学习这方面的知识,个人觉得敲敲代码利大于弊;只有你跳过坑,才会填坑。比如,模拟退火表现局部收敛特性、遗传算法具有全局寻优能力,他俩怎么结合会出一个高效率的混合智能算法等等
楼主,我现在就在干你这个事情,各种神经网络编程,工具箱那个LM我曾经花了很长时间去读,终于找到计算雅可比矩阵的函数,但是它是*.p文件格式的,这是一种加密格式,只能调用,不能看。我自己编了LM,还有标准BP,以及几个基于标准BP的改进算法,但是我的问题出在,只要输入样本一多,程序就不收敛,我也是疯了:cry::cry::cry::cry::cry:
这个……说实话我也没法帮你。的确很复杂,尤其是大规模的数值优化真的很多文献上都没有说清楚,我也没研究透
这个求导过程是我自己推导出来的。其实只对两层网络使用的时候比较好使,如果是三层网络的话还得再加公式……
建议你可以参考一下目前比较好的框架是怎么实现的,现在貌似都是采用dataflow的方式。你可以参考一下theano的设计思想。
研究生必备与500万研究生在线互动!
扫描下载送金币
浏览器进程
登录小木虫
打开微信扫一扫
随时随地聊科研【原创】神经网络的BackPropagation算法的推导过程总结
在本文中,我要“推倒”的是一个多层非线性神经网络的BP算法。首先,定义问题:
如上图所示的多层神经网络,最上一层是output layer, 中间一层是hidden layer,最下一层是input
layer,z_j是神经元j的全部输入,他等于中间各层神经元输出到神经元j的各值之“和”;y_i和y_j分别是神经元i,j的输出。
定义此网络的cost function
为:(t为target,y为神经元的输出)
神经元采用非线性的logistic neurons:
& & & (2)
& & &(3)
我的目标是利用此网络的cost
function中的E(公式1)来计算每一个权w相对于此E的变化率(Error Derivative);并利用这个关于权的Error
Derivative 来更新权使得E降低。此处以链接神经元i和神经元j的权w_ij为例(即要求的是)。
第一步:计算E相对于z_j的偏导数:
第二步:根据(5)求得E相对于权值w_ij的Error
Derivative。并根据此用Delta Rule来更新权。
其中,的求导见公式(7)。
最后,用梯度下降法更新新的权值:,其中lamda是步长。以上便是对权w_ij的更新过程。
当要求任意权的Error
Deriative时,按层次结构求微分即可。一个需要注意的情况便是,当我们继续向下层求微分时不可以忽略掉连加号,例如计算E相对于y_i的偏导数:(如图所示,y_i于输出层的三个神经元都相连,所以当y_i改变时,那三个神经元都将发生改变,从而使E改变。所以在求导时应该对输出层的三个神经元都求导,这就是(8)式用连加号的原因)
因为:,对于上图中的hidden
layer而言则有(7)
总结:BP算法的核心就是根据链式法则和神经网络的层次结构,一层一层的向下求cost function:
E相对于权值w的Error Derivative,并根据求得的Error
Derivative来更新权值,使E慢慢降低。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 凯利公式详细推导 的文章

 

随机推荐