Poker rule induction by a neural network
阿新 • • 發佈:2018-12-28
The solution that finally gave 100% accuracy on the test set required a bit of data augmentation and feature engineering. What I did was:
1. Add distances between cards as features. E.g. distance between Jack and King is 2, between King and Three is 3 and so on.
2. Increase training dataset 4 times.
And the neural network implementation in keras looks like this:
I appreciate any feedback.model = keras.Sequential() model.add(keras.layers.Dense(120, activation='relu', input_shape=(30,))) model.add(keras.layers.Dropout(0.2)) model.add(keras.layers.Dense(240, activation='relu')) model.add(keras.layers.Dropout(0.2)) model.add(keras.layers.Dense(120, activation='relu')) model.add(keras.layers.Dropout(0.1)) model.add(keras.layers.Dense(120, activation='relu')) model.add(keras.layers.Dense(60, activation='relu')) model.add(keras.layers.Dense(10, activation='softmax')) model.compile(optimizer=tf.train.AdamOptimizer(0.0005), loss='categorical_crossentropy', metrics=['accuracy'])