@IT·互联网神经网络

神经网络

2018-12-31  本文已影响4人  何同尘

不得不说,大自然是奇妙伟大的,利用自然规律,人们研究出了各种算法来解决问题。
利用物质降温过程---模拟退火法
利用生物遗传过程---遗传算法
利用鱼群鸟群觅食过程---粒子群算法
......
神经网络也是这样模拟出来的,利用人类大脑里的神经传导过程,模拟出算法。

最初的神经网络开始于二十世纪60年代。
先利用我高中水平的生物知识来描述一下神经传导过程。当神经末梢感受到刺激时,会迅速以电流的方式传导最近的神经元,每个神经元都相当于一个处理单元,当这个刺激足以引起它的重视时,它会产生化学物质,称之为神经递质,神经递质被下一个神经元接收,然后决定是否再传递,就这样迅速的传递到大脑皮层,做出决策。

前向神经网络

前向神经,就是一个单向的过程。首先我们要清楚几个关键的名词:
input:X \\ weight: w\\ active: a\\ bais:b\\ output:y
输入就是我们希望算法帮助我们决策的资料,权重就是该输入重要程度。激活值是多个信息通过一个神经元之后的激活程度,就如同真实情形,不是任何小事都能让神经元激活。偏置是用来调整激活阈值,比如:当激活程度大于0.5就让它继续传输。

前向,就是这些权重、偏置我们事先都知道了,或者人为的去调整参数,已经输出的结果不会带给我们任何好处。

就如同一个小孩,我们只让他判断这个东西是什么,然后说你判错了5个,但并没有告诉他如何改正。

代价函数|损失函数

简单的说,你错了,错了多少,错误的程度。
代价函数的形式有几种,但都是万变不离其宗,模型得到的结果和真实结果的差然后经过一些数学运算得到一个数。称为损失函数。

后向反馈网络

要是一直手动的调节参数,不仅效果不好,也会把人给累死。于是,后向反馈网络就是解决这样一个问题。它的意思就是你理解的意思,得到的结果和真实结果做对比,发现某些地方有错误,反馈到前一层,一直反馈,直到全部的权重改变。
梯度下降法:要知道哪里错误,然后减少错误,使用梯度下降法无疑是最好的。学过高数的人应该知道梯度这个概念吧?梯度就是当前位置上升最快的地方,也就是坡度最陡峭的地方。我们想改正错误,就要减小代价函数,当代价函数等于0时,就是全部都对咯!(可能吗?),将梯度下降法用到代价函数上就实现了反馈。

相当于,让小孩去判断,并且告诉他你错了,如何去改正。经过很多次学习,小孩就会判断结果了。

随机梯度下降(实际使用的方法,为了提高效率,减少运算量;内容非常简单,就不叙述了)。毕竟,一个简单的10000次迭代我就用了3小时。

卷积神经网络

前面讲的都是老技术,来个比较新的,卷积相信很多玩图像的人都知道,就是对一块区域进行操作,计算出一个像元值。我们可以在隐含层中增加卷积层进行卷积运算。除了卷积,还有很多其他的运算,都可以用来构建网络。
原则上是,越复杂,准确度越高,计算越花费时间。

概念篇就这么多了,以后讲实施。再附上我的学习资料。

上一篇下一篇

猜你喜欢

热点阅读