Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

feedforwardnet

フィードフォワード ニューラル ネットワークの生成

説明

net = feedforwardnet(hiddenSizes,trainFcn) は、サイズが hiddenSizes の隠れ層と trainFcn によって指定される学習関数をもつフィードフォワード ニューラル ネットワークを返します。

フィードフォワード ネットワークは、一連の層で構成されます。最初の層には、ネットワーク入力からの結合があります。後続の各層には、前の層からの結合があります。最後の層は、ネットワークの出力を生成します。

フィードフォワード ネットワークは、任意の種類の入力から出力へのマッピングに使用できます。1 つの隠れ層をもち、隠れ層に十分なニューロンがあるフィードフォワード ネットワークは、任意の有限な入出力のマッピング問題にあてはめられます。

特殊なバージョンのフィードフォワード ネットワークとして、近似ネットワークやパターン認識ネットワークがあります。詳細については、関数 fitnet および patternnet を参照してください。

フィードフォワード ネットワークのバリエーションの 1 つに、カスケード フォワード ネットワークがあります。このネットワークには、入力から各層へ、さらに各層から以降のすべての層への追加の結合があります。カスケード フォワード ネットワークの詳細については、関数 cascadeforwardnet を参照してください。

すべて折りたたむ

この例では、フィードフォワード ニューラル ネットワークを使用して簡単な問題を解く方法を説明します。

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

[x,t] = simplefit_dataset;

1 行 94 列の行列 x には入力値が含まれ、1 行 94 列の行列 t には関連付けられたターゲット出力値が含まれます。

サイズが 10 の隠れ層を 1 つもつフィードフォワード ネットワークを作成します。

net = feedforwardnet(10);

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

net = train(net,x,t);

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

view(net)

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

y = net(x);

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

perf = perform(net,y,t)
perf = 1.4639e-04

入力引数

すべて折りたたむ

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

例: たとえば、[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

出力引数

すべて折りたたむ

フィードフォワード ニューラル ネットワーク。network オブジェクトとして返されます。

R2010b で導入