最近看文献又看到了BP神经网络和RBF神经网络分类,觉得这个很有意思,可以在上面做些工作,RBF是去年就看到过,研究过一阵,没有得到什么结果,这次有空来好好折腾一下就可以放手了。
我用matlab比较多,刚好matlab也有神经网络的工具箱,顺手可以试下,但又想研究一下它的原理,只好自己写程序了,书上的原理全是工式基本上是看不懂,程序网上下的,用自己的数据试了下可以用,那就反过来先用再理解理。
BP和RBF神经网络,大体上结构差不多,就是有个输入层,一个隐含层,再一个输出层,这样说可以不太好理解。我主要想拿它来做分类,说白点就是我拿一些乱七八糟的东西给仓库管理员,让它以我给定的规则分好类,这也就是神经网络所说的训练,这样东西就入库了,我再拿一些同样的东西来入库,管理员就会给我一个清单我这些东西放到了哪些地方,很多工具都是这么做的。
先说下BP的方法,看起来比较简,算起来比较快,基本上分成三步走:BP神经网络构建,训练网络,再分类。数据是需要初始化的,一般就是做个归一化处理,否则预测误差会很大。再接着就是隐含层计算,输出层计算,计算观测和期望值误差,如果达不到标准,就更新权值,再算一遍,直到达到标准计算结束。尝试了几组数据,计算结果都还比较理想。
RBF方法也差不多,原理公式上我也说不清楚,现在只达到了会用的阶段,算的速度比BP慢很多,但分类的准确性高了很多,时间换精度嘛,否则大家都用BP了,不过最近看的文献大家用BP比较多,应该是算的快的缘故吧。拿BP的数据测试了一下,如果不自己设置精度,有时候要算个大半天挺不爽,反正我是拿来用,只要是好用就行了。
神经网络的方法还很多,文献里看到有预测股市的,有兴趣也可以拿来预测一下,不过以前看过卡尔曼滤波可以做,但一直没研究会,等有空折腾吧。
- 参考资料
MATLAB神经网络30个案例分析
RBF人工神经网络的分类和回归方法的仿真实例 - 参考文献
下得比较多,不列了,基本上没什么用,讲了一堆废话,没什么参考价值。