【控制理论】神经网络BP算法详解及应用分析

 

BP 神经网络 —— 逆向传播的艺术 - 张磊的文章 - 知乎 https://zhuanlan.zhihu.com/p/36711903

超级推荐这篇文章,写得非常通透!

动手推导一下,对BP神经网络会有一个更深入的了解,有高等数学基础知识的同学都能看懂的!

 

BP神经网络的思想就是考虑如何利用神经网络参数W,使得经过神经网络模型的输出 \check{y} 尽可能地接近期望输出y.

因此有一个损失函数(loss function)用来描述测量值和实际值之间的关系,损失函数可以任意定义,只要反映了它们两者之间的关系。越好地解释这两个量之间的关系,当然这个损失函数也越好。

清华大学出版社的那一版“智能控制基础”中定义的损失函数就是最小二乘的形式:\small L = \frac{1}{2}\left ( \check{y}-y \right )^{2}

而在上面那篇文章里介绍的损失函数的形式是:\small L = -[y\left (ln\left ( \check{y} \right ) +\left ( 1-y \right )ln\left ( 1-\check{y} \right )\right )],具体为什么选择这种形式文章里面讲得很详细,我也查了其他资料,做人工智能方面分析的都采用的是这种损失函数(分类效果明显)。

根据梯度下降算法的原理,用\small x-\alpha \frac{\partial y}{\partial x}来替换x,不断迭代,最终会找到一个符合误差条件的最小值。

那么在BP神经网络里面,用\small w-\alpha \frac{\partial L}{\partial w}来替换w,最终也可以找到满足我们要求的一套参数,因为L与w之间一般没有直接的关系,\small \frac{\partial L}{\partial w}需要链式求导法则变换一下才得到。

 

那么可以利用BP神经网络做什么呢?

因为利用BP网络可以建立对象的结构模型,所以分类和预测问题是神经网络最常见的一种应用。举几个例子:根据商店前几年某商品的销量建立模型,用来预测今年的销量,提前备货;根据电影的关键词给电影分类(动作、爱情、悬疑....);建立数字/字母模型来识别车牌等。

 

百度百科中总结的应用类型有以下四个方面:

1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。

2)模式识别:用一个待定的输出向量将它与输入向量联系起来。

3)分类:把输入向量所定义的合适方式进行分类。

4)数据压缩:减少输出向量维数以便于传输或存储。

 

 

 

 

 

你可能感兴趣的:(控制理论)