[データ分析] matlabSOMに基づくデータ分類[Matlabソースコード238を含む]

1.はじめに

1 SOM
主成分分析。ネットワーク構造の観点から、自己組織化競合ネットワークは通常、入力層と競合層で構成される単層ネットワークです。ネットワークには隠れ層はありません。入力層と競合層の間のニューロンは双方向リンクを実現します。競争層の各ニューロンそれらの間にも水平方向の接続があります。
自己組織化競争ネットワークの基本的な考え方は、ネットワークの競争層の各ニューロンが入力パターンに応答する機会を求めて競争することです.1つのニューロンだけが競争の勝者になり、方向性勝ったニューロンに関連する接続の重みの方が有利です。競争の方向が調整されます。勝者のニューロンは、入力パターンの分類を表します。
競合方式に加えて、抑制方式による勝利もあります。つまり、ネットワーク競合層の各層のニューロンは、入力パターンに対する他のすべてのニューロンの応答機会を抑制し、それによって勝者になります。
さらに、抑制の方法があります。つまり、各ニューロンは、それに近いニューロンのみを抑制し、遠くにあるニューロンは抑制しません。したがって、自己組織化競合ネットワークの自己組織化および自己適応学習能力は、パターン認識および分類におけるニューラルネットワークのアプリケーションをさらに広げます。
1981年、フィンランドのヘルシンキ大学のT.Kohonen教授は、SOMネットワークまたはKohonenネットワークと呼ばれる自己組織化特徴マッピングネットワークを提案しました。生体神経系には「側方抑制」という現象があります。つまり、神経細胞が興奮した後、その枝が周囲の他の神経細胞を抑制します。副次的抑制の効果により、細胞間の競争の最終結果は次のとおりです。最も強い興奮性効果を持つ神経細胞によって生成される抑制効果は、他のすべての周囲の細胞の抑制効果を打ち負かし、「勝ち」、および周りの他の神経細胞その後、すべてが「失われました」。
Kohonenは、ニューラルネットワークが外部入力パターンを受け入れると、対応するさまざまな領域に分割され、各領域は入力パターンに対してさまざまな応答特性を持ち、このプロセスは自動的に完了すると考えています。自己組織化競争型人工ニューラルネットワークは、上記の生体系の構造と現象に基づいて形成されます。これは、家庭教師なしで学習する方法で自己組織化機能を備えた一種のニューラルネットワークです。ネットワークは、独自のトレーニングを通じて入力パターンを自動的に分類します。
2SOMトポロジー分析
自己組織化特徴マップ(自己組織化特徴マップ)は、SOFMまたはSOMと略され、主に入力ベクトルの分類に使用される、チューター学習のないネットワークでもあります。自己組織化競合ネットワークとは異なり、入力領域に隣接する領域を識別するだけでなく、入力ベクトルの分布特性とトポロジー特性も研究します。
SOMネットワークは、脳と神経系の自己組織化特徴マッピングの機能をシミュレートします。これは競争力のあるネットワークであり、家庭教師なしで自己組織化学習を実行できます。
頭蓋神経学研究の結果は、ニューロン間の情報相互作用の共通の特徴は、2つの最も近い隣接ニューロンが互いに刺激し、より遠いニューロンが互いに抑制し、より遠いニューロンの刺激効果が弱いことを示しています。
ここに画像の説明を挿入
SOMアルゴリズムはチューターなしのクラスタリング手法であるため、任意の次元の入力パターンを出力層の1次元または2次元の離散グラフにマッピングし、そのトポロジー構造を変更せずに維持できます。入力の自己組織化学習モードは、競合層での分類結果を表します。さらに、ネットワークは、入力モードの繰り返し学習、つまりリンク重みベクトル分布により、接続重みの空間分布密度と入力モードの確率分布を収束させることができます。入力モードの統計的特性を反映します。
自己組織化競合ネットワークと同様に、SOMネットワークを使用して勝者ニューロンを特定できます。違いは、自己組織化競合ネットワークは勝者ニューロンのみを変更するのに対し、SOMネットワークはKohonen学習ルールに従っても変更する必要があることです。勝ったニューロンNi(d)すべてのニューロンの近くの領域を変更します。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
3 SOMのがんサンプル分類予測
SOMは、教師なしの学習を使用するニューラルネットワークモデルの一種であり、出力を期待する必要はなく、データサンプルに基づいて学習し、学習の目的を達成するために自重を調整するだけです。自己組織化ニューラルネットワークの学習ルールのほとんどは、競争力のある学習ルールを採用しています。
競合ニューラルネットワークの基本的な考え方は、ネットワークの競合層の各ニューロンが、競合を通じて入力パターンに応答する機会を得るということです。最終的に、1つのニューロンだけが勝者になり、接続の重みは勝ったニューロンはこれに向けられます。より有利な方向調整。
自己組織化マップニューラルネットワークは、パターン分類とパターン認識を使用します。特定のネットワーク層構造図​​を図29-8に示します。
ここに画像の説明を挿入

第二に、ソースコード

clc % 清屏
clear all; % 删除workplace变量
close all; % 关掉显示图形窗口
format short
% Initial
%% gridtop()网络拓扑结构
pos = gridtop(2,3)
figure,plotsom(pos)
grid on
%% Hextop()函数生成一个六角形形式的拓扑结构
pos = hextop(2,3)
figure,plotsom(pos)
grid on
%% 8*10 神经元拓扑结构来看看六角形神经元拓扑图像
pos = hextop(8,10)
figure,plotsom(pos)
grid on
%% randtop()函数生成的是N维随机形式分布的神经元拓扑结构
pos = randtop(2,3)
figure,plotsom(pos)
grid on
%% 网络建立和训练
% newsom建立SOM网络。minmax(P)取输入的最大最小值。竞争层为6*6=36个神经元
net=newsom(minmax(P),[6 6]);
plotsom(net.layers{
    
    1}.positions)
% 5次训练的步数
a=[10 30 50 100 200 500 1000];
% 随机初始化一个1*10向量。
yc=rands(7,8);
%% 进行训练
% 训练次数为10次
net.trainparam.epochs=a(1);
% 训练网络和查看分类
net=train(net,P);
y=sim(net,P);
yc(1,:)=vec2ind(y);
plotsom(net.IW{
    
    1,1},net.layers{
    
    1}.distances)

% 训练次数为30次
net.trainparam.epochs=a(2);
% 训练网络和查看分类
net=train(net,P);
y=sim(net,P);
yc(2,:)=vec2ind(y);
plotsom(net.IW{
    
    1,1},net.layers{
    
    1}.distances)

% 训练次数为50次
net.trainparam.epochs=a(3);
% 训练网络和查看分类
net=train(net,P);
y=sim(net,P);
yc(3,:)=vec2ind(y);
plotsom(net.IW{
    
    1,1},net.layers{
    
    1}.distances)

3、実行中の結果

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

四、備考

完全なコードまたは書き込み追加QQ1564658423過去のレビュー
>>>>>>
[データ分析] matlab時変パラメーター確率的揮発性ベクトル自動回帰モデル(TVP-VAR)に
基づく[ Matlabソースコード099期間を含む] [データ分析] matlabに基づく自動回帰モデル(TVP-VAR)の時変パラメータ確率的揮発性ベクトル[Matlabソースコード153を含む]
[障害検出問題] Matlab免疫アルゴリズムベースの障害検出問題[Matlabソースコード196を含む]
[データクラスタリング]クラスタリング設計に基づくmatlab粒子群アルゴリズム[Matlabソースコード199を含む]
[データクラスタリング] matlabシミュレートアニーリングアルゴリズムクラスタリング設計に基づく[Matlabソースコード200を含む]
[データクラスタリング] matlab遺伝子アルゴリズムクラスタリング設計に基づく[Matlabソースコード201期間を含む]
[データクラスタリング] matlabantコロニーアルゴリズムクラスタリング設計に基づく[Matlabソースコード202期間を含む]
[データ分析]さまざまなGUIデータインポート用のmatlabGUIインターフェイスに基づく[Matlabソースコード211期間を含む]
[データ分析] MatlabGUIに基づくインターフェーススコア管理システム[Matlabソースコード212を含む]
[データ分析] matlabGUIに基づくインターフェースパーペチュアルカレンダー[Matlabソースコード213を含む]
[データ分析] matlabベイジアンによる空港飛行遅延係数分析の判断[Matlabソースコード230を含む]

おすすめ

転載: blog.csdn.net/TIQCmatlab/article/details/113725083