私は機械学習の新人です。私は実践として簡単な例に取り組んでいます。私は数字のペアを生成し、両方の値が偶数または奇数の場合はラベル '1'を割り当て、一方が偶数で奇数ならばラベル '0'を割り当てます。Kerasを使用して、2つの数字が埋め込みを使用して同じ「奇妙」を持っているかどうかを予測します。
私のモデルは時々〜75%前後になることがありますが、どちらのペアが1になり、0につながるのかを単に記憶していることは間違いありません。モデルには2つのカテゴリ、例えば、[1,4] = 0、[1,6] = 0なので、4と6は同じカテゴリに属することが分かります。
私は適切なトラックにいますか?これはMLで解決するための合理的な問題でもありますか?ここ
は私のコードである:
num_examples = 500000
input_dim = 300
# Generate the randomized training data
data = (input_dim * numpy.random.random((num_examples, 2))).astype(int)
labels = []
# Generate the correct labels for the training data
for example in data:
if example[0] % 2 == example[1] % 2:
labels.append([1, 0])
else:
labels.append([0, 1])
model = Sequential()
model.add(Embedding(input_dim, 70, input_length=2))
model.add(Flatten())
model.add(Dense(20))
model.add(Dense(2, activation='sigmoid'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(data, labels, nb_epoch=900, batch_size=10000)
コードを実行したところ、基本的に50%の精度が得られました。 75%が表示されていますか? – gobrewers14
はい、約半分の時間は50%を超えず、それ以外の時間は75%のレベルになります。 – TheN33k