ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

自己符号化器を使用した深いネットワークの構築

標本データを読み込みます。

[X,T] = wine_dataset;

サイズが 10 の隠れ層と複号化器用の線形伝達関数を使用して自己符号化器に学習させます。L2 重み正則化項を 0.001、スパース正則化項を 4、スパース率を 0.05 に設定します。

hiddenSize = 10;
autoenc1 = trainAutoencoder(X,hiddenSize,...
    'L2WeightRegularization',0.001,...
    'SparsityRegularization',4,...
    'SparsityProportion',0.05,...
    'DecoderTransferFunction','purelin');

隠れ層で特徴を抽出します。

features1 = encode(autoenc1,X);

最初の自己符号化器の特徴を 2 番目の自己符号化器の学習に使用します。データのスケーリングは行わないでください。

hiddenSize = 10;
autoenc2 = trainAutoencoder(features1,hiddenSize,...
    'L2WeightRegularization',0.001,...
    'SparsityRegularization',4,...
    'SparsityProportion',0.05,...
    'DecoderTransferFunction','purelin',...
    'ScaleData',false);

隠れ層で特徴を抽出します。

features2 = encode(autoenc2,features1);

2 番目の自己符号化器 autoenc2 の特徴 features2 を、分類用のソフトマックス層の学習に使用します。

softnet = trainSoftmaxLayer(features2,T,'LossFunction','crossentropy');

符号化器とソフトマックス層を積み重ねて、深いネットワークを形成します。

deepnet = stack(autoenc1,autoenc2,softnet);

ワイン データで深いネットワークの学習を行います。

deepnet = train(deepnet,X,T);

深いネットワーク deepnet を使用して、ワインの種類を推定します。

wine_type = deepnet(X);

混同行列をプロットします。

plotconfusion(T,wine_type);