众做周知,BP神经网络是最常用的一种神经网络。
本文主要讲解%实现对玫瑰的识别%案例。
关于神经网络的介绍与BP的详解,论坛里铺天盖地,不在此赘述。
一.BP简述
简要概括一下:
- 一个输入层、一个隐层、一个输出层的神经网络足以应付大部分训练
- BP的主要特点:信号前向传播,误差反向传播
- 激励函数为取Sigmoid函数
- 大体流程:数据预处理、初始化网络、计算隐层输出、得出输出层输出、计算误差、更新连接权值、检查迭代、仿真
二. 训练过程(以识别玫瑰为例)
- 提取红玫瑰(1)、粉玫瑰(2)、蓝玫瑰(3)的外形(appearance),花瓣大小(petal),气味(taste),绽放程度(bloom)整理成数据(英语随便整的不要介意),见下图
- 归一化数据、构造输出矩阵、创建神经网络、设置参数、启动训练、反归一化、仿真
- 其中最大迭代次数300、期望误差0.01、学习效率0.01
- 输出识别率:96.00%