Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

trainSoftmaxLayer

分類用のソフトマックス層の学習

説明

net = trainSoftmaxLayer(X,T) は、入力データ X とターゲット T について、ソフトマックス層 net の学習を行います。

net = trainSoftmaxLayer(X,T,Name,Value) では、1 つ以上のペアの引数 Name,Value で指定された追加オプションを使用して、ソフトマックス層 net の学習を行います。

たとえば、損失関数を指定できます。

すべて折りたたむ

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

[X,T] = iris_dataset;

X は、アヤメの花に関する次の 4 つの属性から成る 4 行 150 列の行列です。がく片の長さ、萼片の幅、花弁の長さ、花弁の幅。

T は、関連付けられたクラス ベクトルから成る 3 行 150 列の行列です。これらのクラス ベクトルは、各入力が 3 つのクラスのうち、どのクラスに割り当てられるかを定義します。各行は、アヤメの種類 (クラス) の 1 つを表すダミー変数に対応します。各列では、3 つのうち 1 つの行に含まれる 1 が、特定の標本 (観測値または例) が属するクラスを表します。観測値が属していない他のクラスに対応する行には 0 が含まれます。

標本データを使用してソフトマックス層の学習を行います。

net = trainSoftmaxLayer(X,T);

学習済みのソフトマックス層を使用して、3 つのうち 1 つのクラスに観測値を分類します。

Y = net(X);

ターゲットと、ソフトマックス層から得られた分類を使用して、混同行列をプロットします。

plotconfusion(T,Y);

入力引数

すべて折りたたむ

学習データ。m 行 n 列の行列として指定します。m は学習データの変数の数、n は観測値 (例) の数です。したがって、X の各列が 1 つの標本を表します。

データ型: single | double

ターゲット データ。k 行 n 列の行列として指定します。k はクラスの数、n は観測値の数です。各行は、特定のクラスを表すダミー変数です。つまり、各列は標本を表し、1 行に含まれる 1 つの 1 を除いて列のエントリはすべて 0 です。この 1 つのエントリは、その標本のクラスを示します。

データ型: single | double

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 'MaxEpochs',400,'ShowProgressWindow',false は、最大反復回数を 400 に指定し、学習ウィンドウを非表示にします。

学習の最大反復回数。'MaxEpochs' と正の整数値で構成されるコンマ区切りのペアとして指定します。

例: 'MaxEpochs',500

データ型: single | double

ソフトマックス層の損失関数。'LossFunction' と、'crossentropy' または 'mse' のいずれかで構成されるコンマ区切りのペアとして指定します。

mse は、平均二乗誤差関数を意味します。これは、以下によって与えられます。

E=1nj=1ni=1k(tijyij)2,

ここで、n は学習例の数、k はクラスの数です。tij はターゲット行列 T の ij 番目のエントリ、yij は入力ベクトルが xj の場合の自己符号化器からの i 番目の出力です。

交差エントロピー関数は、以下によって与えられます。

E=1nj=1ni=1ktijlnyij+(1tij)ln(1yij).

例: 'LossFunction','mse'

学習中に学習ウィンドウを表示するかどうかのインジケーター。'ShowProgressWindow' と、true または false のいずれかで構成されるコンマ区切りのペアとして指定します。

例: 'ShowProgressWindow',false

データ型: logical

ソフトマックス層の学習に使用される学習アルゴリズム。'TrainingAlgorithm' と、スケーリング共役勾配法を意味する 'trainscg' で構成されるコンマ区切りのペアとして指定します。

例: 'TrainingAlgorithm','trainscg'

出力引数

すべて折りたたむ

分類用のソフトマックス層。network オブジェクトとして返されます。ソフトマックス層 net のサイズは、ターゲット T のサイズと同じです。

バージョン履歴

R2015b で導入