<< SelectRandomly CLUSTER

CLUSTER >> CLUSTER > TrainSOM

TrainSOM

は自己組織化マップ(英語で「self organizing map」と呼ばれて、略は「SOM」だ)の学習を行う

Calling Sequence

[SOMWeights] = TrainSOM(Samples, InitialWeights, GridSize, LearningRate, LearningRateParameter, Neighborhood, NeighborhoodParameter, NormType)

Parameters

Samples:

学習のベクトルを含む行列で、ベクトルは行である

InitialWeights:

初期のウェイトを含む行列で、ウェイトは行である

GridSize:

各次元におけるニューロンの数を表すベクトル又はスカラーである。構成要素が1つを超える必要はある

LearningRate:

学習率で、時及び別のパラメータに依存する関数である

LearningRateParameter:

LearningRate()における2つ目のパラメータで、何の型でも可能である

Neighborhood:

距離、時及び別のパラメータに依存する関数である

NeighborhoodParameter:

Neighborhood()における3つ目のパラメータで、何の型でも可能である

NormType:

ベクトルにおけるノルムで、ゼロを超える数で、無限(%inf)である可能性がある

SOMWeights:

最終のウェイトを含む行列で、ウェイトは行である

Description

本関数は自己組織化マップ(英語で「self organizing map」と呼ばれて、略は「SOM」だ)の学習を行う。

Examples

global CLUSTER_PATH;
Source = read_csv(CLUSTER_PATH + 'demos\IrisData.csv', ascii(9));
Samples = strtod(Source(:, 1 : 4));
GridSize = [5 3];
InitialWeights = InitSOM(Samples, GridSize, 'equidistant');
LearningRateStruct = struct('Max', 0.2, 'Min', 0.02, 'Duration', size(Samples, 1));
function [Result]=LinearLearningRate(TimeStep, Parameter)
Result = Parameter.Max - (Parameter.Max - Parameter.Min) * (TimeStep - 1) / (Parameter.Duration - 1);
endfunction
NeighborhoodStruct = struct('Max', 5, 'Duration', size(Samples, 1));
function [Result]=CircularNeighborhood(Distance, TimeStep, Parameter)
MaxDistance = Parameter.Max - (Parameter.Max - 1) * (TimeStep - 1) / (Parameter.Duration - 1);
Result = double(Distance <= MaxDistance);
endfunction
SOMWeights = TrainSOM(Samples, ...
InitialWeights, ...
GridSize, ...
LinearLearningRate, ...
LearningRateStruct, ...
CircularNeighborhood, ....
NeighborhoodStruct, ...
2)

See also

Authors

Bibliography

T. Kohonen, 'Self-organizing maps', Springer Verlag, Berlin, 2001


Report an issue
<< SelectRandomly CLUSTER