Main Content

patternnet

パターン認識ネットワークの生成

説明

net = patternnet(hiddenSizes,trainFcn,performFcn) は、hiddenSizes の隠れ層サイズ、trainFcn で指定された学習関数、performFcn で指定された性能関数をもつパターン認識ニューラル ネットワークを返します。

パターン認識ネットワークは、ターゲット クラスに応じた入力の分類を学習できるフィードフォワード ネットワークです。パターン認識ネットワークのターゲット データは、要素 i が 1 である以外は、すべてがゼロ値のベクトルで構成されます (i はそのターゲット データが表すクラス)。

すべて折りたたむ

この例では、アヤメの花を分類するパターン認識ネットワークを設計する方法を説明します。

学習データを読み込みます。

[x,t] = iris_dataset;

サイズが 10 の隠れ層を 1 つもつパターン ネットワークを作成します。

net = patternnet(10);

学習データを使用してネットワーク net に学習させます。

net = train(net,x,t);

Figure Neural Network Training (20-Jul-2024 17:03:47) contains an object of type uigridlayout.

学習済みネットワークを表示します。

view(net)

学習済みネットワークを使用してターゲットを推定します。

y = net(x);

学習済みネットワーク性能を評価します。既定の性能関数は、平均二乗誤差です。

perf = perform(net,t,y)
perf = 
0.0302
classes = vec2ind(y);

入力引数

すべて折りたたむ

ネットワークの隠れ層のサイズ。行ベクトルとして指定します。ベクトルの長さはネットワークの隠れ層の数を決定します。

例: たとえば、[10,8,5] のように、最初の隠れ層のサイズが 10、2 番目のサイズが 8、3 番目のサイズが 5 である 3 つの隠れ層を持つネットワークを指定できます。

入力と出力のサイズは 0 に設定されます。これらのサイズは、学習データに従って学習中に調整されます。

データ型: single | double

学習関数名。次のいずれかに指定します。

学習関数アルゴリズム
'trainlm'

レーベンバーグ・マルカート法

'trainbr'

ベイズ正則化

'trainbfg'

BFGS 準ニュートン法

'trainrp'

弾性逆伝播法

'trainscg'

スケーリング共役勾配法

'traincgb'

Powell・Beale リスタート付き共役勾配法

'traincgf'

Fletcher・Powell 共役勾配法

'traincgp'

Polak・Ribiére 共役勾配法

'trainoss'

1 ステップ割線法

'traingdx'

可変学習率勾配降下法

'traingdm'

モーメンタム項付き勾配降下法

'traingd'

勾配降下法

例: たとえば、'traingdx' のように、可変学習率勾配降下法アルゴリズムを学習アルゴリズムとして指定できます。

学習関数の詳細は、浅層の多層ニューラル ネットワークの学習と適用および多層ニューラル ネットワークの学習関数の選択を参照してください。

データ型: char

性能関数。既定値は 'crossentropy' です。

この引数では、ネットワークの性能を測定するときに使用する関数を定義します。学習時には常にこの性能関数を使用してネットワーク性能が計算されます。

関数の一覧については、MATLAB コマンド ウィンドウで help nnperformance と入力してください。

出力引数

すべて折りたたむ

パターン認識ニューラル ネットワーク。network オブジェクトとして返されます。

バージョン履歴

R2010b で導入