繁体   English   中英

Keras顺序模型损失不会减少并且在所有时期都保持恒定

[英]Keras Sequential model loss won't decrease & remains constant through all epochs

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
df = pd.read_csv('insurance.csv')
X = df.drop(['sex', 'children', 'smoker', 'region'], axis = 1)
X = X.values
y = df['charges']
y = y.values.reshape(1331,1)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3, random_state = 75)
from keras import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(5, activation = 'sigmoid'))
model.add(Dense(4, activation = 'sigmoid'))
model.add(Dense(1, activation = 'sigmoid'))
from keras import optimizers
sgd = optimizers.SGD(lr=0.1)
model.compile(sgd, 'mse')
model.fit(X_train, y_train, 32, 100, shuffle=False)

这就是我的代码,我输入的数据都是数字,并且我尝试了不同的超参数,但似乎没有任何效果。 任何帮助将非常感激。 我只是不知道这里出了什么问题。

如果您确实处于回归设置中(如所选择的损失MSE所隐含),而不是处于分类设置中,则代码中的基本错误是激活了最后一层,该层应该是linear

model.add(Dense(1, activation = 'linear'))

当然,您的方法可能还有其他问题,包括模型本身的体系结构(没有任何类型的“保证”,无论您将什么模型体系结构放入数据中,它都会产生不错的结果,并且您的模型看起来太简单了),其他层的激活函数(通常今天从relu开始)等等,但是如果不了解您的数据就无法说更多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM