AI – 使用Keras构建模型

输入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

模型应该能在真实数据上工作。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注