我正在学习深度学习,并且正在对kaggle进行泰坦尼克号挑战。
在“预处理”中,我删除了“价格”,“名称”,“机票”和“客舱”列。我通过添加相应的方法替换了“票价”和“年龄”列中的空值。我有一个热门编码性爱,Pclass(乘客舱)和登船港。添加了一个单独的列来确定乘客是否独自旅行(由同胞和父母计算)。最后,我使用了scikit的MinMaxScalar。
这里是使用的keras模型。
model = Sequential()
model.add(Dense(32, input_dim=13, activation="relu"))
model.add(Dense(64, activation="relu"))
model.add(Dense(128, activation="relu"))
model.add(Dense(256, activation="relu"))
model.add(Dropout(0.3))
model.add(Dense(512, activation="relu"))
model.add(Dense(1024, activation="relu"))
model.add(Dense(512, activation="relu"))
model.add(Dropout(0.3))
model.add(Dense(1024, activation="relu"))
model.add(Dense(2048, activation="relu"))
model.add(Dense(1024, activation="relu"))
model.add(Dropout(0.3))
model.add(Dense(512, activation="relu"))
model.add(Dense(1024, activation="relu"))
model.add(Dense(512, activation="relu"))
model.add(Dropout(0.3))
model.add(Dense(256, activation="relu"))
model.add(Dense(128, activation="relu"))
model.add(Dense(64, activation="relu"))
model.add(Dense(32, activation="relu"))
model.add(Dropout(0.3))
model.add(Dense(1, activation="sigmoid"))
model.compile(optimizer="Adam", loss='binary_crossentropy', metrics=["binary_accuracy"])
整个过程中val_binary_accuracy为常数0.6425
答案 0 :(得分:0)
这与“ relu”很常见。
“ Relu”具有“恒定零”区域。如果任何一层恰好完全落入该区域,则您的模型已失效。
您可以尝试以下方法之一:
BatchNormalization
之前使用relu
。