原创文章,转载请说明来自《老饼讲解神经网络》:www.bbbdata.com
目录
本文是笔者细扒matlab神经网络工具箱newlvq的源码后,去除冗余代码,重现的简版newlvq代码,代码与newlvq的结果完全一致。通过本代码的学习,可以完全细节的了解LVQ的实现逻辑。
- 代码的逻辑解说可参考《LVQ-重现matlab实现代码》
- LVQ的原理可参考《LVQ神经网络基本原理》
一、代码结构说明
代码主要包含了三个函数:
testLvqNet: 测试用例主函数,直接运行时就是执行该函数。
- 1、数据:使用自带fisheriris数据,
- 2、用自写的函数训练一个LVQ网络,与预测结果。
- 3、使用工具箱训练一个LVQ网络。比较自写函数与工具箱训练结果是否一致(权重、训练误差的比较)
trainLvq:训练一个LVQ神经网络。
- 支持LVQ1规则与LVQ2规则
predict:用训练好的网络进行预测。
- 传入需要预测的X,与网络的权重矩阵,即可得到预测结果。
二、代码运行结果解说
1、自写LVQ预测错误的样本序号:
2、自写LVQ网络的权重结果:
3、matlab神经网络工具箱训练得到的权重:
4、自写LVQ与matlab神经网络工具箱的权重差异:
可以看到,自写的代码与matlab2014b神经网络工具箱跑的LVQ结果完全一致,完美重现工具箱代码。
三、算法流程图
相关文章