资源简介
Kohonen神经网络算法工作机理为:网络学习过程中,当样本输入网络时,竞争层上的神经元计算输入样本与竞争层神经元权值之间的欧几里德距离,距离最小的神经元为获胜神经元。调整获胜神经元和相邻神经元权值,使获得神经元及周边权值靠近该输入样本。通过反复训练,最终各神经元的连接权值具有一定的分布,该分布把数据之间的相似性组织到代表各类的神经元上,使同类神经元具有相近的权系数,不同类的神经元权系数差别明显。需要注意的是,在学习的过程中,权值修改学习速率和神经元领域均在不断较少,从而使同类神经元逐渐集中。
代码片段和文件信息
%% 清空环境变量
clc
clear
%% 数据处理
load data
input=datatrain(:1:38);
%数据归一化
[inputninputps]=mapminmax(input);
%inputn=inputn‘;
[nnmm]=size(inputn);
%% 网络构建
%输入层节点数
Inum=38;
%Kohonen网络
M=6;
N=6;
K=M*N;%Kohonen总节点数
%Kohonen层节点排序
k=1;
for i=1:M
for j=1:N
jdpx(k:)=[ij];
k=k+1;
end
end
%学习率
rate1max=0.2;
rate1min=0.05;
%学习半径
r1max=1.5;
r1min=0.8;
%权值初始化
w1=rand(InumK); %第一层权值
%% 迭代求解
maxgen=10000;
for i=1:maxgen
%自适应学习率和相应半径
rate1=rate1max-i/maxgen*(rate1max-rate1min);
r=r1max-i/maxgen*(r1max-r1min);
%从数据中随机抽取
k=unidrnd(4000);
x=inputn(k:);
%计算最优节点
[mindistindex]=min(dist(xw1));
%计算周围节点
d1=ceil(index/6);
d2=mod(index6);
nodeindex=find(dist([d1 d2]jdpx‘)
%权值更新
for j=1:K
%满足增加权值
if sum(nodeindex==j)
w1(:j)=w1(:j)+rate1*(x‘-w1(:j));
end
end
end
%% 聚类结果
Index=[];
for i=1:4000
[mindistindex]=min(dist(inputn(i:)w1));
Index=[Indexindex];
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 90502 2009-12-25 16:53 Kohonen\data.mat
文件 1209 2009-12-06 20:26 Kohonen\Kohonen.m
目录 0 2010-10-01 00:02 Kohonen
----------- --------- ---------- ----- ----
91711 3
- 上一篇:基于matlab的电力系统仿真
- 下一篇:潮流计算matlab代码
相关资源
- 潮流计算matlab代码
- 基于matlab的电力系统仿真
- 自适应最陡下降法Matlab仿真
- MATLAB AGC
- 图像处理 人脸识别皮肤提取 经典ma
- 蚁群-微分进化算法解TSP
- 蚁群聚类算法matlab实现
- matlab三维散乱点云曲率算法
- 现代控制系统matlab程序
- 图像分割与腐蚀膨胀matlab代码
- AM调制解调matlab实验代码加噪声
- 元胞自动机交通流模型代码matlab代码
- Buck-Boost充电Matlab仿真模型
- 霍夫圆边缘检测MATLAB
- matlab BP神经网络 0-9数字识别
- matlab椒盐高斯混合噪声滤波
- 背景差分 matlab 代码
- 最小二乘椭圆拟合matlab
- matlab 螺旋波模拟程序,基于FHN模型
- 清扫机器人路径规划算法仿真
- 基于MATLAB中级联分类器的人脸五官分
- 基于人工神经网络的信号预测在Matl
- 牛顿法matlab程序
- 共轭梯度法相关matlab程序
- 用matlab编写的小动画程序钟摆
- 基于改进遗传算法的路径规划MATLAB实
- RANSAC去除误匹配算法
- MATLAB图像二值化程序源代码
- 伪彩色 MATLAB代码
- (eWiley) Optimum Array Processing最优阵列
评论
共有 条评论