質問: ### 前提・実現したいこと 機械学習(シンプルなニューラルネットワーク)での、特徴量に関する質問です。 A,B,C,D,Eという特徴量を使い、教師データFを学習させる。(アルファベットはデータの種類です) 5つの特徴量に対して、1つの教師データなので、ニューラルネットワークの構造は、 入力層が5つ、出力層は1つです。 (今回は、入力層に問題を抱えているので中間層は省略します) しかし、予測する際の特徴量がA,Bしか入手できないとする。 その2つだけで予測をさせる。 ### 抱えている問題 実際に学習させ、完成したモデルによって予測するとします。 しかし、予測する際の特徴量がA,Bしか入手できない場合は、どのように予測すれば良いか。 ### 自分で考えた案 入手したA,Bのデータだけを入力する。 学習時にA,Bを入力させた、ニューロンに入力し予測させる。 **この案のように、指定のニューロンに入力させ、予測させることはKerasで可能でしょうか。 (このようなケースは機械学習の概念的にどうなのでしょうか。)** 私が考えるに、このような場合だと、他のニューロン(C,D,E)が無駄なのかなと思いました。学習時から、A,Bだけで学習すればいいのかなと思ったのですが、C,D,Eも予測に重要なデータなので欠かせないと思っています。 ### 補足情報(FW/ツールのバージョンなど) ・Keras ・TensorFlow(BackEnd) ・Linux
回答: シンプルなニューラルネットワークの場合、学習時に5ケの特徴量を用いたのであれば、予測時も5ケの特徴量が必要です。 予測時に2ケの特徴量しか入手不可能なのであれば、質問に記載のような2ケの特徴量で学習させることも一案です。ただ、2ケしか入手できないケースは稀で、普段は5ケ揃うということであれば、欠損値処理を事前に行った上でニューラルネットワークに入力させるという方法もあります。 あるいは、ニューラルネットワークの中に欠損値を補完するレイヤーを組み込むという方法もあり得るかと思います。