Keras模型无法学习

2024-09-30 22:10:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我的模型权重(我将它们输出到weights_before.txtweights_after.txt)在训练前后都是精确的相同的,也就是说训练不会改变任何东西,不会发生拟合。在

我的数据是这样的(我基本上希望模型预测特征的符号,如果特征为负,结果为0,如果特征为正,则为1):

,feature,zerosColumn,result
0,-5,0,0
1,5,0,1
2,-3,0,0
3,5,0,1
4,3,0,1
5,3,0,1
6,-3,0,0
...

我的方法简介:

  1. 加载数据。在
  2. 按列拆分为x(feature)和y(result),将这两个行拆分为test和{}集。在
  3. 将这些集合转换成TimeseriesGenerators(在这个场景中不是必需的,但是我想让这个设置工作起来,我不认为有任何理由不应该这样做)。在
  4. 创建并编译简单的Sequential模型,在其输出层上具有很少的Dense层和softmax激活,使用binary_crossentropy作为损失函数。在
  5. 训练模特。。。什么都不会发生!在

完整代码如下:

^{pr2}$

你有什么想法吗?在


Tags: 数据方法模型testtxt符号特征result
1条回答
网友
1楼 · 发布于 2024-09-30 22:10:09

问题是您使用softmax作为最后一层的激活函数。本质上,softmax规范化其输入,使元素之和为一。因此,如果在只有一个单元的层上使用它(即Dense(1,...)),那么它总是输出1。要解决这个问题,将最后一层的激活函数改为sigmoid,它输出一个范围为(0,1)的值。在

相关问题 更多 >