【Matlab】聚类方法

您所在的位置:网站首页 som工具箱 【Matlab】聚类方法

【Matlab】聚类方法

2024-01-19 00:37| 来源: 网络整理| 查看: 265

【Matlab】聚类方法_SOM聚类 1.基本思想2.数据集介绍3.文件结构4.详细代码及注释5.运行结果

1.基本思想

SOM (Self-Organizing Map) 聚类算法是一种无监督学习方法,基本思想是通过自组织神经网络对输入数据进行聚类和降维。

SOM 算法将输入数据映射到一个二维的神经网络中,这个神经网络称为 SOM 网络或者 Kohonen 网络。SOM 神经网络由多个神经元组成,每个神经元都有一个权向量,该权向量表示神经元所代表的聚类中心。

SOM 算法的训练过程是将输入数据样本逐个输入到 SOM 神经网络中,然后在 SOM 神经网络中寻找与当前输入数据样本最相似的神经元,称为 BMU(Best Matching Unit,最优匹配单元)。然后,通过更新与 BMU 相邻的神经元的权重向量来调整 SOM 神经网络中的权重,以使与 BMU 最相似的神经元所代表的聚类中心更接近当前输入数据样本。

最终,SOM 算法将输入数据样本聚类到 SOM 神经网络中的不同神经元上,从而实现对输入数据的聚类和降维。

SOM 算法的优点是可以有效地处理高维数据,并且可以自动学习数据的结构,从而减少数据的维度并提高聚类效果。此外,SOM 算法也具有可视化效果,可以将高维数据映射到二维平面上,从而更好地理解数据的结构。

2.数据集介绍

鸢尾花(Iris)数据集是一个经典的数据集,用于机器学习和统计学习中的分类和聚类问题。该数据集包含了三种不同类型的鸢尾花(山鸢尾、变色鸢尾和维吉尼亚鸢尾)的测量数据,每种花各有50个样本。每个样本包含四个特征,即萼片长度、萼片宽度、花瓣长度和花瓣宽度,以及它所属的鸢尾花类型。

该数据集最早由英国统计学家和生物学家Ronald Fisher在1936年的一篇论文中介绍,并一直被广泛用于分类和聚类问题的研究中。由于其简单性和广泛应用性,鸢尾花数据集已成为了机器学习和统计学习中的标准数据集之一。

本文采用的数据是.xlsx格式,前四列为样本的特征值,最后一列为样本的标签,标签值为1,2,3

3.文件结构

在这里插入图片描述

iris.xlsx % 鸢尾花数据集,具体格式参考第2部分 Main.m % 主函数 4.详细代码及注释 % 清空变量 warning off % 关闭报警信息 close all % 关闭开启的图窗 clear % 清空变量 clc % 清空命令行 % 加载数据集 data = readmatrix('iris.xlsx'); % 取出前四列作为特征值 X = data(:, 1:4); % 数据预处理 data = zscore(X); % 训练 SOM 模型 net = selforgmap([8 8], 200, 3, 'gridtop', 'linkdist'); net = train(net, data'); % 计算输出响应 output = net(data'); % 可视化聚类结果 plotsomhits(net, data'); 5.运行结果

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3