输入X = [[1,1,1,1,1], [1,2,1,3,7], [3,1,5,7,8]] 等..输出Y = [[0.77],[0.63],[0.77],[1.26]] 等..
输入X代表某些组合的示例
["car", "black", "sport", "xenon", "5dor"] ["car", "red", "sport", "noxenon", "3dor"] 等...
输出代表组合的某种评分。
我需要什么?我需要预测组合是好还是坏….
数据集大小为10k..
模型:
model.add(Dense(20, input_dim = 5, activation = 'relu'))model.add(Dense(20, activation = 'relu'))model.add(Dense(1, activation = 'linear'))
优化器 = adam, 损失函数 = mse, 验证集分割比例 0.2, 训练轮数 30
训练:
Epoch 1/30238/238 [==============================] - 0s 783us/step - loss: 29.8973 - val_loss: 19.0270Epoch 2/30238/238 [==============================] - 0s 599us/step - loss: 29.6696 - val_loss: 19.0100Epoch 3/30238/238 [==============================] - 0s 579us/step - loss: 29.6606 - val_loss: 19.0066Epoch 4/30238/238 [==============================] - 0s 583us/step - loss: 29.6579 - val_loss: 19.0050Epoch 5/30
效果不好,没有意义…
我需要一些好的文档,关于如何正确设置或构建模型…
回答:
刚刚尝试重现。我的结果与你的不同。请检查:
import tensorflow as tffrom tensorflow.keras.layers import Input, Densefrom tensorflow.keras import ModelinputA = Input(shape=(5, ))x = Dense(20, activation='relu')(inputA)x = Dense(20, activation='relu')(x)x = Dense(1, activation='linear')(x)model = Model(inputs=inputA, outputs=x)model.compile(optimizer = 'adam', loss = 'mse')input = tf.random.uniform([10000, 5], 0, 10, dtype=tf.int32)labels = tf.random.uniform([10000, 1])model.fit(input, labels, epochs=30, validation_split=0.2)
结果:
Epoch 1/30 250/250 [==============================] – 1s 3ms/step -loss: 0.1980 – val_loss: 0.1082
Epoch 2/30 250/250 [==============================] – 1s 2ms/step -loss: 0.0988 – val_loss: 0.0951
Epoch 3/30 250/250 [==============================] – 1s 2ms/step -loss: 0.0918 – val_loss: 0.0916
Epoch 4/30 250/250 [==============================] – 1s 2ms/step -loss: 0.0892 – val_loss: 0.0872
Epoch 5/30 250/250 [==============================] – 0s 2ms/step -loss: 0.0886 – val_loss: 0.0859
Epoch 6/30 250/250 [==============================] – 1s 2ms/step -loss: 0.0864 – val_loss: 0.0860
Epoch 7/30 250/250 [==============================] – 1s 3ms/step -loss: 0.0873 – val_loss: 0.0863
Epoch 8/30 250/250 [==============================] – 1s 2ms/step -loss: 0.0863 – val_loss: 0.0992
Epoch 9/30 250/250 [==============================] – 0s 2ms/step -loss: 0.0876 – val_loss: 0.0865
模型应该能在真实数据上工作。