@devilogic
2016-08-10T12:59:43.000000Z
字数 1030
阅读 2228
matlab
聚类数据也是神经网络的一项应用。它会将数据按照相似性进行分组。如果你想:
* 通过分组人们的购买模式来做市场规划
* 数据挖掘通过分区数据到相关的子集
* 在生物信息学上通过相对的表示模式对基因进行分类
假设你想将花进行分类依赖花瓣的长度,宽度。花萼的长度与宽度,你有150个4种测量特征样本。
定义聚类数据问题,简单的设置一个列的输入矩阵(参见理解神经网络工具箱的数据结构理解数据输入格式)。举一个实际的例子,你输入以下这样的向量。
inputs = [7 0 6 2 6 5 6 1 0 1; 6 2 5 0 7 5 5 1 2 2]
对于聚类问题,自组织映射神经网络(SOM)是最常用的,因为当网络训练完毕之后,有许多可视化工具能分析聚类的结果。这个网络仅有一层,通过组织神经元在一个网格。(详细请参见使用自组织映射神经网络进行聚类算法)当创建一个网络,你需要指定网格的行列数。对于SOM训练,权值与每个移动到聚类输入向量中心的神经元关联。神经元应该被调整到接近输入空间其余的位置上,因此,设想一个高维度的输入空间在两维的网络拓扑中。为了研究SOM的可视化工具。可以使用Plots面板。
% Solve a Clustering Problem with a Self-Organizing Map
% Script generated by NCTOOL
%
% This script assumes these variables are defined:
%
% simpleclusterInputs - input data.
inputs = simpleclusterInputs;
% 创建自映射网络
dimension1 = 10; % 网格的行
dimension2 = 10; % 网格的列
net = selforgmap([dimension1 dimension2]);
% 训练网络
[net,tr] = train(net,inputs);
% 测试网络
outputs = net(inputs);
% 浏览网络
view(net)
% 绘图
% Uncomment these lines to enable various plots.
% figure, plotsomtop(net)
% figure, plotsomnc(net)
% figure, plotsomnd(net)
% figure, plotsomplanes(net)
% figure, plotsomhits(net,inputs)
% figure, plotsompos(net,inputs)