アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは、今ニューラルネットワークをプログラミングしているのですが、データを正規化しようと思っています

たとえば教師データの入力が年齢と身長、出力が体重のデータがあるとします

年齢  身長  目的変数:体重
24    150 |  65(kg)
24    172 |  73(kg)

という年齢が同じデータがある場合
正規化するにはどうればいいでしょうか?

正規化は
正規化後の値 = (正規化前の値 - 最小値) / 最大値 - 最小値
で出すと書いてあったのですが、年齢は最小値と最大値が同じ 24 しかありませんよね、この場合はどうすればいいのでしょうか?

またついでにこの様な最小値 = 最大値の正規化されたデータを元に戻すにはどうすればいいのでしょうか?(出力層のシグモイド関数の計算結果を元のデータの単位に戻したいんです)

わかりにくかったらすいません、ご存じの方よろしくお願いします。

A 回答 (1件)

 今晩は。


 私もニューラルネットの研究をしています。

一つ目の回答
 この場合教師データの入力としての価値が年齢の項目にはありません。したがって二つの方法が考えられます。

1.年齢は入力しない。
2.適当な最大値、最小値を自分で決定して正規化する。

2の方法はつまり好きな1~0の値を選ぶことになります。
状況に応じて選択してください。

二つ目の回答
正規化後の値 = (正規化前の値 - 最小値) / 最大値 - 最小値
だから
正規化後の値=A
正規化前の値=B
最大値=Max
最小値=Min
とすると、
A=(B-Min)/(Max-Min)
よって
(Max-Min)A-Min=B
では?
    • good
    • 0
この回答へのお礼

お返事遅れました…
大変分かりやすい説明ありがとうございます!
なるほどそうなんですね、実際にやってみたらできました!!
助かりました、ありがとうございました

お礼日時:2008/08/24 11:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!