《MATLAB智能算法30个案例》:第27章 无导师学习神经网络的分类——矿井突水水源判别

  • 1. 前言
  • 2. MATLAB 仿真示例
  • 3. 小结

1. 前言

《MATLAB智能算法30个案例分析》是2011年7月1日由北京航空航天大学出版社出版的图书,作者是郁磊、史峰、王辉、胡斐。本书案例是各位作者多年从事算法研究的经验总结。书中所有案例均因国内各大MATLAB技术论坛网友的切身需求而精心设计,其中不少案例所涉及的内容和求解方法在国内现已出版的MATLAB书籍中鲜有介绍。《MATLAB智能算法30个案例分析》采用案例形式,以智能算法为主线,讲解了遗传算法、免疫算法、退火算法、粒子群算法、鱼群算法、蚁群算法和神经网络算法等最常用的智能算法的MATLAB实现。

本书共给出30个案例,每个案例都是一个使用智能算法解决问题的具体实例,所有案例均由理论讲解、案例背景、MATLAB程序实现和扩展阅读四个部分组成,并配有完整的原创程序,使读者在掌握算法的同时更能快速提高使用算法求解实际问题的能力。《MATLAB智能算法30个案例分析》可作为本科毕业设计、研究生项目设计、博士低年级课题设计参考书籍,同时对广大科研人员也有很高的参考价值。

《MATLAB智能算法30个案例分析》与《MATLAB 神经网络43个案例分析》一样,都是由北京航空航天大学出版社出版,其中的智能算法应该是属于神经网络兴起之前的智能预测分类算法的热门领域,在数字信号处理,如图像和语音相关方面应用较为广泛。本系列文章结合MATLAB与实际案例进行仿真复现,有不少自己在研究生期间与工作后的学习中有过相关学习应用,这次复现仿真示例进行学习,希望可以温故知新,加强并提升自己在智能算法方面的理解与实践。下面开始进行仿真示例,主要以介绍各章节中源码应用示例为主,本文主要基于MATLAB2015b(32位)平台仿真实现,这是本书第二十七章无导师学习神经网络的分类——矿井突水水源判别,话不多说,开始!

2. MATLAB 仿真示例

打开MATLAB,点击“主页”,点击“打开”,找到示例文件

选中main.m,点击“打开”

main.m源码如下:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%功能:无导师学习神经网络的分类——矿井突水水源判别示例
%环境:Win7,Matlab2015b
%Modi: C.S
%时间:2022-07-09
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 清空环境
clc
clear all
close alltic%% 第27章 无导师学习神经网络的分类——矿井突水水源判别
% <html>
% <table border="0" width="600px" id="table1">   <tr>      <td><b><font size="2">该案例作者申明:</font></b></td>    </tr> <tr><td><span class="comment"><font size="2">1:本人长期驻扎在此<a target="_blank" href="http://www.matlabsky.com/forum-78-1.html"><font color="#0000FF">板块</font></a>里,对该案例提问,做到有问必答。</font></span></td></tr><tr> <td><span class="comment"><font size="2">2</font><font size="2">:此案例有配套的教学视频,视频下载请点击<a href="http://www.matlabsky.com/forum-91-1.html">http://www.matlabsky.com/forum-91-1.html</a></font><font size="2">。 </font></span></td> </tr>         <tr>      <td><span class="comment"><font size="2">       3:此案例为原创案例,转载请注明出处(《MATLAB智能算法30个案例分析》)。</font></span></td>   </tr>     <tr>      <td><span class="comment"><font size="2">       4:若此案例碰巧与您的研究有关联,我们欢迎您提意见,要求等,我们考虑后可以加在案例里。</font></span></td>    </tr> <tr>      <td><span class="comment"><font size="2">       5:以下内容为初稿,与实际发行的书籍内容略有出入,请以书籍中的内容为准。</font></span></td>  </tr> </table>
% </html>%% 训练集/测试集产生% 导入数据
load water_data.mat
% 数据归一化
attributes = mapminmax(attributes);
% 训练集——35个样本
P_train = attributes(:,1:35);
T_train = classes(:,1:35);
% 测试集——4个样本
P_test = attributes(:,36:end);
T_test = classes(:,36:end);%% 竞争神经网络创建、训练及仿真测试% 创建网络
net = newc(minmax(P_train),4,0.01,0.01);
% 设置训练参数
net.trainParam.epochs = 500;
% 训练网络
net = train(net,P_train);
% 仿真测试
% 训练集
t_sim_compet_1 = sim(net,P_train);
T_sim_compet_1 = vec2ind(t_sim_compet_1);
% 测试集
t_sim_compet_2 = sim(net,P_test);
T_sim_compet_2 = vec2ind(t_sim_compet_2);%% SOFM神经网络创建、训练及仿真测试% 创建网络
net = newsom(P_train,[4 4]);
% 设置训练参数
net.trainParam.epochs = 200;
% 训练网络
net = train(net,P_train);
% 仿真测试
% 训练集
t_sim_sofm_1 = sim(net,P_train);
T_sim_sofm_1 = vec2ind(t_sim_sofm_1);
% 测试集
t_sim_sofm_2 = sim(net,P_test);
T_sim_sofm_2 = vec2ind(t_sim_sofm_2);%% 结果对比% 竞争神经网络
result_compet_1 = [T_train' T_sim_compet_1']
result_compet_2 = [T_test' T_sim_compet_2']
% SOFM神经网络
result_sofm_1 = [T_train' T_sim_sofm_1']
result_sofm_2 = [T_test' T_sim_sofm_2']
toc
%%
% <html>
% <table width="656" align="left" > <tr><td align="center"><p align="left"><font size="2">相关论坛:</font></p><p align="left"><font size="2">Matlab技术论坛:<a href="http://www.matlabsky.com">www.matlabsky.com</a></font></p><p align="left"><font size="2">M</font><font size="2">atlab函数百科:<a href="http://www.mfun.la">www.mfun.la</a></font></p></td>    </tr></table>
% </html>

添加完毕,点击“运行”,开始仿真,输出仿真结果如下:


result_compet_1 =1     31     21     21     31     21     22     32     32     32     32     32     32     22     32     32     32     22     33     13     13     13     13     13     13     13     13     14     24     24     24     24     34     34     34     3result_compet_2 =1     22     33     14     2result_sofm_1 =1     91    111    121    101     71    122    132    132    132    132    132    132    142    132     92     92    142    133     63     33     13     13     53     23     13     23     14    154    124    164    154     84     84     84     4result_sofm_2 =1    112    133     14    15时间已过 10.771554 秒。


分别点击Plots栏的SOM Topology,SOM Neighbor Connections,SOM Neighbor Distance, SOM Input Planes,SOM Sample Hits,SOM Weight Positions可得到如下图示:





3. 小结

神经网络的学习规则又称神经网络的训练算法,用来计算更新神经网络的权值和阈值。学习规则有两大类别;有导师学习和无导师学习。在有导师学习中,需要为学习规则提供一系列正确的网络输入/输出对(即训练样本),当网络输人时,将网络输出与相对应的期望值进行比较,然后应用学习规则调整权值和阈值,使网络的输出接近于期望值。而在无导师学习中,权值和阈值的调整只与网络输人有关系,没有期望值,这类算法大多用聚类法,将输人模式归类于有限的类别。对本章内容感兴趣或者想充分学习了解的,建议去研习书中第二十七章节的内容。后期会对其中一些知识点在自己理解的基础上进行补充,欢迎大家一起学习交流。

《MATLAB智能算法30个案例》:第27章 无导师学习神经网络的分类——矿井突水水源判别相关推荐

  1. 《MATLAB智能算法30个案例》:第19章 基于模拟退火算法的TSP算法

    <MATLAB智能算法30个案例>:第19章 基于模拟退火算法的TSP算法 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法30个案例分析&g ...

  2. 《MATLAB智能算法30个案例》:第20章 基于遗传模拟退火算法的聚类算法

    <MATLAB智能算法30个案例>:第20章 基于遗传模拟退火算法的聚类算法 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法30个案例分析& ...

  3. 《MATLAB智能算法30个案例》:第4章 基于遗传算法的TSP算法

    <MATLAB智能算法30个案例>:第4章 基于遗传算法的TSP算法 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法30个案例分析>是 ...

  4. 《MATLAB智能算法30个案例》:第8章 基于量子遗传算法的函数寻优算法

    <MATLAB智能算法30个案例>:第8章 基于量子遗传算法的函数寻优算法 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法30个案例分析&g ...

  5. 《MATLAB智能算法30个案例》:第22章 蚁群算法的优化计算——旅行商问题(TSP)优化

    @[TOC](<MATLAB智能算法30个案例>:第22章 蚁群算法的优化计算--旅行商问题(TSP)优化) 1. 前言 <MATLAB智能算法30个案例分析>是2011年7月 ...

  6. MATLAB智能算法30个案例分析pdf

    下载地址:网盘下载 MATLAB智能算法30个案例分析,ISBN:9787512403512,作者:史峰,王辉 等编著 下载地址:网盘下载 转载于:https://www.cnblogs.com/cf ...

  7. 《MATLAB智能算法30个案例》:第25章 有导师学习神经网络的回归拟合——基于近红外光谱的汽油辛烷值预测

    <MATLAB智能算法30个案例>:第25章 有导师学习神经网络的回归拟合--基于近红外光谱的汽油辛烷值预测 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MA ...

  8. 《MATLAB智能算法30个案例》:第12章 免疫优化算法在物流配送中心选址中的应用

    <MATLAB智能算法30个案例>:第12章 免疫优化算法在物流配送中心选址中的应用 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法30个案 ...

  9. MATLAB智能算法30个案例分析.史峰等

    <MATLAB智能算法30个案例分析>是2011年由北京航空航天大学出版社出版的图书,作者是郁磊.史峰.王辉.胡斐- <MATLAB智能算法30个案例分析>是作者多年从事算法研 ...

最新文章

  1. arpr选定的文件非rar压缩包_python解压压缩包
  2. HDU 2022 海选女主角
  3. selenium速度_RPA UiPath和Selenium,谁是测试套件?
  4. java long to float_为什么Java中long可以自动转换成float
  5. HIPS 自定义框架
  6. 【LeetCode-SQL每日一练】—— 196. 删除重复的电子邮箱
  7. 玩转springboot2.x之自定义项目内自动配置
  8. php7安装redis扩展和memcache扩展
  9. 【NFC】 NfcA/NfcB/NfcF/NfcV/IsoDep/Ndef/Mifare/Felica/Pboc/ISOxxxx 都是些什么鸟玩意?
  10. sap linux系统安装教程,SAP系统安装步骤 --- 46C OR 4.7
  11. VB VBA 文本框回车键换行
  12. php zend guard php 7,zend guard php7最新版
  13. xml中加html源码,XML与HTML的结合(下)_xml
  14. 【图像分割】基于迭代阙值选择、最大类间差、区域生长多种算法实现图像分割含Matlab源码
  15. java为文本框添加背景颜色,文本框添加背景图片,文本框背景图片,文本框添加水印[Java...
  16. Mysql 常用 时间函数
  17. KITTI数据集数据初体验
  18. 《给教师的一百条建议》读后感3500字
  19. 百度地图经纬度与腾讯地图经纬度之间的转换
  20. 5G组网和非独立组网

热门文章

  1. linux ls -la文件信息含义
  2. Linux的find命令详解
  3. 关于射频和微波PCB设计注意事项
  4. 电商-商品搜索列表设计思路
  5. 观《一个也不能少》后感
  6. Python实现xbox手柄控制Tello无人机
  7. RT-thread应用讲解——通过U盘升级程序固件
  8. Typescript和Javascript之间的区别
  9. Ubuntu16.04 独显驱动安装 Nvidia
  10. html+css+js实现的图片轮播图下方配文字可变图片可点击