gpt4 book ai didi

machine-learning - 如何在 keras 中使用 categorical_hinge 损失以便在最后一层使用 SVM 进行训练?

转载 作者:行者123 更新时间:2023-11-30 08:37:46 27 4
gpt4 key购买 nike

我想使用 SVM 训练 CNN 在最后一层进行分类。我知道 categorical_hinge 是最好的损失函数。我有 6 个类要分类。我的模型如下图:

model = Sequential()    
model.add(Conv2D(50, 3, 3, activation = 'relu', input_shape = train_data.shape[1:]))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(50, 3, 3, activation = 'relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(50, 3, 3, activation = 'relu'))

model.add(Flatten())
model.add(Dense(400, activation = 'relu'))
model.add(Dropout(0.5))
model.add(Dense(128, activation = 'relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation = 'sigmoid'))

网络、数据处理或者损失函数有问题吗?

模型在某个点之后不会学习任何内容,如image所示我该怎么办?

最佳答案

你的模型有一个输出神经元,这不可能适用于 6 个类。模型的输出应有 6 个神经元。此外,模型的输出不应具有激活函数,以便生成分类铰链可以使用的逻辑。

请注意,分类铰链是最近添加的(2-3 周前),因此它相当新,可能没有多少人测试过它。

关于machine-learning - 如何在 keras 中使用 categorical_hinge 损失以便在最后一层使用 SVM 进行训练?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50955132/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com