MATLAB Answers

trainNetwo​rk(X,Y,lay​ers,option​s) の応答Yに、categorical ベクトルではなく数値​応答を入力することは​可能でしょうか?

8 views (last 30 days)
Tamu
Tamu on 3 Jun 2019
Commented: Tamu on 5 Jun 2019
複数チャネルを持つ2次元データを入力としたCNNを作っているのですが、
入力:X = 2次元データの高さ×2次元データの幅×チャネル数×データ数
応答:Y = 応答数×1×データ数
上記のもとで、trainNetwork(X,Y,layers,options)を実行したところ
「無効な学習データです。Y はカテゴリカル応答のベクトルでなければなりません。」
とエラーが発生しました。
この場合、Yに数値応答を入力するのは可能でしょうか?
ご教示ください。
よろしくお願いいたします。

  0 Comments

Sign in to comment.

Accepted Answer

Kenta
Kenta on 4 Jun 2019
数値応答ということは、「Aだ、Bだ」というカテゴリー分類ではなく、「3.1だ、7だ」といった、回帰をするという認識でよいでしょうか?
その場合は、ネットワークの最後にregression layerを付加すればよいと思います。
また、手書き文字認識といった、数字というカテゴリーを分類したい際は、Y=categorical(Y)として、Yの形式をcategoricalに変更すればよいと思います。

  3 Comments

Tamu
Tamu on 4 Jun 2019
回答ありがとうございます!
説明不足で申し訳ありません。
数字でカテゴリー分類したいのですが、
例えば1~5の数字を認識するネットワークで「3」のイメージを入力する際、
応答Yにはベクトル[0,0,1,0,0]をcategoricalで変換したベクトルを代入すればよいということでしょうか?
お手数おかけしますが、よろしくお願いいたします。
Kenta
Kenta on 4 Jun 2019
いえ、そのような形式にせず、単にカテゴリカル型の「3」にすればよいです。
Y=[1 2 3 2 3 3 2 1]';
Ylabel=categorical(Y);
例えば、Yが上のようであれば、2行目のような操作をすればよいと思います。
Tamu
Tamu on 5 Jun 2019
回答ありがとうございます!
一度教えていただいたカテゴリカル型で試してみます。

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!