1

Python と Tensorflow を使用した画像分類器に関するチュートリアルに従いました。

私は今、深層学習をカスタム状況に適用しようとしています。私は、顧客が石の希望に従って石を購入する売り手/買い手のシミュレーション プログラムを作成しました。石には色、サイズ、カーブのパーセンテージがあります。顧客が希望する石の値に最も近いほど、顧客はより多くの金額を支払うことができます。売り手にとって、石が最も希少であるほど、価格は高くなるはずです。次に、プログラムは石を 100,000 回購入してニューラル ネットワークに供給し、他の売り手を打ち負かそうとします。データセットは次のようになります。

データセット

現在、ニューラル ネットワークを作成しようとしています。チュートリアルでは、relu アクティベーション関数と MaxPooling2D を持つ 2 つの Conv2D レイヤーを使用し、次に Flatten レイヤー、Dense レイヤー、最後にシグモイド アクティベーション関数を持つ別の Dense レイヤーを使用しています。

いくつかのドキュメントを読んだ後、Conv2D レイヤーはマトリックス用であることがわかりましたが、データはすでにフラットであるため、Dense レイヤーのみを使用することを好みます。

私の最初の質問は次のとおりです。私のニューラル ネットワークには、次のような relu 関数を備えた高密度のレイヤーが必要ですか。

model.add(Dense(64, activation='relu', input_dim(3)))

私のプログラムが正の値のみを生成する場合は?

2 番目の質問は、データをこのように分割して 0 と 1 の間に正規化した場合、ニューラル ネットワークにシグモイド関数が必要ですか? :

X[:,0] /= 256.0
X[:,1] /= 50.0
X[:,2] /= 100.0

これらの値は、各列の最大値です。シグモイド関数が必要ですか?

実際、私のニューラルネットワークは次のようになります。

model = Sequential()
model.add(Dense(64, activation='relu', input_dim(3)))
model.add(Dense(64, activation='relu'))
model.add(Dense(1,  activation='sigmoid'))

しかし、私は自分のモデルの効率について混乱しています。私のニューラルネットワークは機能しますか? そうでない場合、どのようなレイヤーとアクティベーション関数を使用する必要がありますか?

4

2 に答える 2