【发布时间】:2020-03-20 00:01:44
【问题描述】:
我是深度学习的新手,所以我做了这个模型,为了训练我的数据,我尝试了很多组合,添加层,改变激活函数,改变损失函数,但是损失并没有减少。 寻求你们的帮助。
我的 training_data 包含 1000 个样本:1000 个原始数据和 20 列所有数字,输出:4 个数字的列表 这是我的模型:
from keras import models
from keras.models import Sequential
from keras import layers
from keras.layers import Dense
from keras.layers import Flatten , Dropout
from keras.optimizers import SGD
from keras.callbacks import EarlyStopping
from sklearn.preprocessing import StandardScaler
from keras import optimizers
scaler = StandardScaler()
input_shape = x_train[0].shape
x_train_std = scaler.fit_transform(x_train)
model = Sequential()
model.add(layers.Dense(32, activation='sigmoid' , input_shape=input_shape))
model.add(Dropout(0.1))
model.add(layers.Dense(20, activation='sigmoid' ))
model.add(Dropout(0.1))
model.add(layers.Dense(15, activation='sigmoid' ))
model.add(Dropout(0.1))
model.add(layers.Dense(4, activation='softmax'))
#sgd = optimizers.SGD(lr=0.00001, decay=1e-6, momentum=0.85, nesterov=True)
#opt = SGD(lr=0.1, nesterov=True)
sgd = optimizers.SGD(lr=0.01, momentum=0.87, nesterov=True)
model.compile(loss='mean_squared_error',
optimizer=sgd)
es = EarlyStopping(monitor='val_loss', patience=10)
history = model.fit(x_train_std, y_train , validation_split=0.1, epochs=100, batch_size=1 , callbacks = [es])#,
【问题讨论】:
-
这是分类问题还是回归问题?
-
能否请您解释一下数据集,或者它的样子,损失值受数据集的影响很大
-
@desertnaut 这是一个多元回归问题,输出是四个数字,都是正数,总和应该等于一
-
@Damzaky,这里是我的数据集的第一行,它包含 20 个标签和 1000 个样本:少于一个:array([[0.00091693, 0.00091528, 0.00091285, ..., 0.00088302, 0.00088099, 0.00087953 ],[0.00079937,0.00079768,0.00079567,...,0.0007722,0.0007711,0.00077031],[0.00057827,0.00057821,0.00057821,0.00057825,0.00057288,0.0005722,0.0005722,0.00057154],..., span>
标签: python machine-learning keras neural-network