繁体   English   中英

Keras损失没有减少

[英]Keras loss is not decreasing

我试图通过乳腺癌Wisconsin学习我的NN(我将"id"列添加为索引,并使用sklearn.preprocessing.LabelEncoder"diagnosis"列更改为0和1),但是我的NN并没有减少损失。

我尝试了其他优化器和损失,但这不起作用。

那是我的NN:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, BatchNormalization, InputLayer
import tensorflow.nn as tfnn

model = Sequential()

model.add(Dense(30, activation = tfnn.relu, input_dim = 30))
model.add(BatchNormalization(axis = 1))

model.add(Dense(60, activation = tfnn.relu))
model.add(BatchNormalization(axis = 1))

model.add(Dense(1, activation = tfnn.softmax))

model.compile(loss = 'binary_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
model.fit(data, target, epochs = 6)

和我的输出:

Epoch 1/6
569/569 [==============================] - 2s 3ms/sample - loss: 10.0025 - acc: 0.3726
Epoch 2/6
569/569 [==============================] - 0s 172us/sample - loss: 10.0025 - acc: 0.3726
Epoch 3/6
569/569 [==============================] - 0s 176us/sample - loss: 10.0025 - acc: 0.3726
Epoch 4/6
569/569 [==============================] - 0s 167us/sample - loss: 10.0025 - acc: 0.3726
Epoch 5/6
569/569 [==============================] - 0s 163us/sample - loss: 10.0025 - acc: 0.3726
Epoch 6/6
569/569 [==============================] - 0s 169us/sample - loss: 10.0025 - acc: 0.3726

我似乎经过几次迭代后NN停止了学习(看纪元学习的时候,在第一个纪元是2s,在其他纪元是0s,在第一个纪元中处理数据的速度是ms / sample,但是在其他纪元中我们/ sample)谢谢您的时间!

Softmax的sum=1

您不能将softmax与1个单位一起使用。 永远是1。

使用'sigmoid'


还要注意'relu' 它可能会(由于运气)落入“全零”区域并停止发展。

理想情况下,批处理规范化应该在此之前(通过这种方式,您可以保证总会有一些正数):

model = Sequential()

model.add(Dense(30, input_dim = 30))
model.add(BatchNormalization(axis = 1))
model.add(Activation(tfnn.relu))

model.add(Dense(60)
model.add(BatchNormalization(axis = 1))
model.add(Activation(tfnn.relu))

model.add(Dense(1, activation = tfnn.sigmoid))

由于您具有带有单个单元最终层的二进制分类任务,因此不应tfnn.softmax用作该层的激活。 使用tfnn.sigmoid代替,即

model.add(Dense(1, activation = tfnn.sigmoid))  # last layer

暂无
暂无

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

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