wordpress网站更换域名,广告公司怎么做业务,500强网站设计,wordpress 有道笔记1、自组织映射神经网络的鸢尾花聚类的原理及流程
自组织映射神经网络#xff08;Self-Organizing Map, SOM#xff09;是一种用于聚类和数据可视化的人工神经网络模型。在鸢尾花聚类中#xff0c;SOM 可以用来将鸢尾花数据集分成不同的类别#xff0c;同时保留数据间的拓扑…1、自组织映射神经网络的鸢尾花聚类的原理及流程
自组织映射神经网络Self-Organizing Map, SOM是一种用于聚类和数据可视化的人工神经网络模型。在鸢尾花聚类中SOM 可以用来将鸢尾花数据集分成不同的类别同时保留数据间的拓扑关系。
SOM的原理是通过竞争学习和自组织的过程将高维输入空间映射到低维的神经网络结构上。在鸢尾花聚类中SOM会根据鸢尾花的特征如花萼长度和宽度花瓣长度和宽度将其映射到一个二维的网络中使得相似的鸢尾花样本被映射到相邻的神经元上。
流程如下
初始化 SOM 神经网络确定神经网络的结构设定神经元的初始权重。随机选取一个鸢尾花样本作为输入并计算该样本与神经元之间的距离。竞争学习选取距离最近的神经元为胜者同时调整周围神经元的权重使得它们也向该样本靠拢。更新权重根据竞争学习的结果调整神经元的权重。重复步骤 2-4 直至达到收敛条件。
经过上述流程SOM会将鸢尾花样本映射到不同的神经元上形成了聚类结果。同时SOM的拓扑结构也能够让我们在二维空间中直观地看到各个类别的分布情况从而实现了数据的可视化。
2、 基于自组织映射神经网络的鸢尾花聚类说明
1问题说明
自组织映射神经网络以拓扑方式将鸢尾花聚类为各个类提供对花类型的深入了解以及用于进一步分析的实用工具。
2输入参数
每朵鸢尾花都用四个特征进行描述萼片长度 (cm)/萼片宽度 (cm)/花瓣长度 (cm)/花瓣宽度 (cm) 3方案
构建一个将鸢尾花聚类成多个自然类的神经网络以使相似的类分组在一起。
4自组织映射特点
自组织映射 (SOM) 非常擅长创建分类。分类保留了关于哪些类与其他类最相似的拓扑信息。自组织映射可以创建为任何所需的详细程度级别。它们特别适合对存在于多个维度且具有复杂形状的相连特征空间的数据进行聚类。 (SOM) 非常擅长创建分类。分类保留了关于哪些类与其他类最相似的拓扑信息。自组织映射可以创建为任何所需的详细程度级别。它们特别适合对存在于多个维度且具有复杂形状的相连特征空间的数据进行聚类。
3、实验数据集
1说明
将数据组织成输入矩阵 X为 SOM 设置聚类问题数据 输入矩阵的每个第 i 列具有四个元素表示在一朵花上获取的四个测量值。
加载数据集代码
x iris_dataset;
size(x)ans 4 150 4、使用神经网络进行聚类
1)使用神经网络进行聚类
说明使用 selforgmap 创建自组织映射通过选择每个层维度中的神经元数量来对样本进行所需详细程度的分类。 尝试具有以 8×8 六边形网格排列的 64 个神经元的二维层。使用更多神经元可以获得更多细节而使用更多维度则可对更复杂特征空间的拓扑进行建模。
代码
net selforgmap([8 8]);
view(net)
视图效果 2使用 train 优化网络
说明神经网络训练工具显示正在接受训练的网络和用于训练该网络的算法。
代码
[net,tr] train(net,x);
试图效果 3使用自组织映射计算每个训练输入的类向量
说明这些分类涵盖了已知花朵所填充的特征空间它们现在可用于对新花朵进行相应分类。网络输出将是一个 64×150 矩阵其中每个第 i 列表示第 i 个输入向量其第 j 个元素为 1的第 j 个聚类。 函数 vec2ind 针对每个向量返回输出为 1 的神经元的索引。对于由 64 个神经元表示的 64 个聚类索引值范围在 1 到 64 之间。
代码
y net(x);
cluster_index vec2ind(y);
5、结果显示
1自组织映射拓扑
说明使用 plotsomtop 绘制位于 8×8 六边形网格中的 64 个神经元的自组织映射拓扑。 每个神经元都已经过学习可代表不同的花类相邻的神经元通常代表相似的类。
代码
figure(1)
plotsomtop(net)
title(自组织映射拓扑)
视图效果 2 每个类中的花朵数量
说明使用 plotsomhits 计算每朵花的类并显示每个类中的花朵数量。 具有大量命中的神经元区域所表示的类代表相似的填充度高的特征空间区域。而命中较少的区域表示填充稀疏的特征空间区域。
代码
figure(2)
plotsomhits(net,x)
title(花数量)
视图效果 3邻点通常用于对相似样本进行分类
说明使用 plotsomnc 显示神经元邻点连接。邻点通常用于对相似样本进行分类。
代码
figure(3)
plotsomnc(net)
title(神经元邻点连接)
视图效果 4 显示每个神经元的类与其邻点的距离
说明plotsomnd 显示每个神经元的类与其邻点的距离以欧几里德距离表示。 浅色连接表示输入空间的高度连接区域。而深色连接表示的类代表相距很远且相互之间很少或没有花朵的特征空间区域。
代码
figure(4)
plotsomnd(net)
title(神经元类与邻点距离)
视图效果 5 显示四个输入特征中每个特征的权重平面
说明使用 plotsomplanes 显示四个输入特征中每个特征的权重平面。 权重可视化这些权重将每个输入连接到以 8×8 六边形网格排列的 64 个神经元中的每一个。深色代表较大权重。如果两个输入具有相似的权重平面它们的颜色梯度可能相同或相反则表明它们高度相关。
代码
figure(5)
plotsomplanes(net)
title(权重平面)视图效果 6、总结
在 MATLAB 中实现基于自组织映射神经网络的鸢尾花聚类可以按照如下步骤进行 准备数据加载鸢尾花数据集并对数据进行标准化处理。 初始化 SOM 神经网络确定神经网络的结构包括输入层和输出层的神经元数量以及神经元的初始权重。 竞争学习随机选取一个鸢尾花样本作为输入并计算该样本与输出层神经元之间的距离找到距离最近的胜者神经元。 更新权重根据胜者神经元和其邻近神经元的位置关系调整神经元的权重。 重复步骤 3 和 4 直至达到收敛条件即神经网络的权重不再发生显著变化。 聚类结果展示根据训练好的神经网络将鸢尾花数据样本映射到相应的神经元上从而得到聚类结果。
具体实现中可以使用 MATLAB 的神经网络工具箱中的 selforgmap、train 和 sim 等函数来构建和训练自组织映射神经网络。最后利用可视化工具如散点图或热力图等方法展示不同类别鸢尾花在自组织映射网络上的分布情况进一步分析聚类结果。
7、源代码
代码
%% 基于自组织映射神经网络的鸢尾花聚类
%说明自组织映射神经网络以拓扑方式将鸢尾花聚类为各个类提供对花类型的深入了解以及用于进一步分析的实用工具。
%每朵鸢尾花都用四个特征进行描述萼片长度 (cm)/萼片宽度 (cm)/花瓣长度 (cm)/花瓣宽度 (cm)
%试构建一个将鸢尾花聚类成多个自然类的神经网络以使相似的类分组在一起。
%自组织映射 (SOM) 非常擅长创建分类。分类保留了关于哪些类与其他类最相似的拓扑信息。自组织映射可以创建为任何所需的详细程度级别。它们特别适合对存在于多个维度且具有复杂形状的相连特征空间的数据进行聚类。
%% 数据集
%将数据组织成输入矩阵 X为 SOM 设置聚类问题数据
%输入矩阵的每个第 i 列具有四个元素表示在一朵花上获取的四个测量值。
%加载数据集
x iris_dataset;
size(x)
%% 使用神经网络进行聚类
%使用神经网络进行聚类
%使用 selforgmap 创建自组织映射通过选择每个层维度中的神经元数量来对样本进行所需详细程度的分类。
%尝试具有以 8×8 六边形网格排列的 64 个神经元的二维层。使用更多神经元可以获得更多细节而使用更多维度则可对更复杂特征空间的拓扑进行建模。
net selforgmap([8 8]);
view(net)
%使用 train 优化网络
%神经网络训练工具显示正在接受训练的网络和用于训练该网络的算法。
[net,tr] train(net,x);
%使用自组织映射计算每个训练输入的类向量。
%这些分类涵盖了已知花朵所填充的特征空间它们现在可用于对新花朵进行相应分类。网络输出将是一个 64×150 矩阵其中每个第 i 列表示第 i 个输入向量其第 j 个元素为 1的第 j 个聚类。
%函数 vec2ind 针对每个向量返回输出为 1 的神经元的索引。对于由 64 个神经元表示的 64 个聚类索引值范围在 1 到 64 之间。
y net(x);
cluster_index vec2ind(y);
%使用 plotsomtop 绘制位于 8×8 六边形网格中的 64 个神经元的自组织映射拓扑。
%每个神经元都已经过学习可代表不同的花类相邻的神经元通常代表相似的类。
figure(1)
plotsomtop(net)
title(自组织映射拓扑)
%使用 plotsomhits 计算每朵花的类并显示每个类中的花朵数量。
%具有大量命中的神经元区域所表示的类代表相似的填充度高的特征空间区域。而命中较少的区域表示填充稀疏的特征空间区域。
figure(2)
plotsomhits(net,x)
title(花数量)
%使用 plotsomnc 显示神经元邻点连接。邻点通常用于对相似样本进行分类。
figure(3)
plotsomnc(net)
title(神经元邻点连接)
%plotsomnd 显示每个神经元的类与其邻点的距离以欧几里德距离表示。
%浅色连接表示输入空间的高度连接区域。而深色连接表示的类代表相距很远且相互之间很少或没有花朵的特征空间区域。
figure(4)
plotsomnd(net)
title(神经元类与邻点距离)
%使用 plotsomplanes 显示四个输入特征中每个特征的权重平面。
%权重可视化这些权重将每个输入连接到以 8×8 六边形网格排列的 64 个神经元中的每一个。深色代表较大权重。如果两个输入具有相似的权重平面它们的颜色梯度可能相同或相反则表明它们高度相关。
figure(5)
plotsomplanes(net)
title(权重平面)