"Class" (ネットエンコーダ)

NetEncoder[{"Class",classes}]

リスト内のクラスラベル classes を整数コードとして変換するエンコーダを表す.

NetEncoder[{"Class",classes,form}]

クラスラベルを出力タイプ form に変換するエンコーダを表す.

詳細

  • NetEncoder[][input]はエンコーダを入力に適用し,出力を作る.
  • NetEncoder[][{input1,input2,}]はエンコーダを入力のリストに適用し,出力のリストを作る.
  • エンコーダへの入力 inputi は,リスト classes 内の要素でなければならない.
  • 以下のパラメータが使用可能である:
  • "Dimensions"{}入力次元
    "Multilabel"Falseクラスが排他的でないかどうか
  • "Multilabel"Falseで,form"Index"(デフォルト)であるとき,エンコーダの出力は classes 内の input の位置の整数である.
  • "Multilabel"Falseで,form"IndicatorVector"であるとき,エンコーダの出力は p 番目の方向の n 次元の単位ベクトルで pclasses 内の input の位置で,nclasses の長さである.
  • "Multilabel"Trueで,form"IndicatorVector"であるとき,エンコーダの出力は n 次元の単位ベクトルで,1が入力クラスの位置に,0があらゆる位置にある.
  • ネットワークの構築時に"port"->TemplateBox[{NetEncoder, paclet:ref/NetEncoder}, RefLink, BaseStyle -> {InlineFormula}][]を指定することで,エンコーダをネットワークの入力ポートに付加することができる.

例題

すべて開くすべて閉じる

  (1)

2つのクラスを持つクラスエンコーダを作る:

それを入力のバッチに適用する:

スコープ  (1)

デフォルトの出力フォームはクラスを整数として符号化する:

"IndicatorVector"フォームを指定すると,クラスはワンホット(one-hot)ベクトルとして符号化される:

パラメータ  (3)

"Dimensions"  (2)

3x3のクラス行列を取り,指標の行列を返すエンコーダを作る:

それを単一の入力に適用する:

2x2のクラス行列を取り,単位ベクトルを返すエンコーダを作る:

それを単一の入力に適用する:

"Multilabel"  (1)

マルチラベルのエンコーダを作る:

それを2つのクラスを持つ 単一入力に適用する:

それを入力のバッチに適用する:

特性と関係  (1)

NetTrainはネットが完全に指定されていない場合,自動的にエンコーダを付加しようとする.クラスエンコーダの自動付加は次のようになる: