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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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