使用Convunational Neural Network添加SVM

时间:2017-08-17 05:40:33

标签: neural-network keras svm activation loss

我想用CNN提取特征,然后用SVM分类。因此,我建立了一个模型并使用" hinge"损失。

这是我的模特:

model = Sequential()
model.add(Embedding(max_features, 128, input_length=maxlen))
model.add(Dropout(0.5))
model.add(Conv1D(filters,kernel_size,padding='valid',activation='relu',strides=1))
model.add(MaxPooling1D(pool_size=pool_size))
model.add(Dense(38, W_regularizer=l2(0.01)))
model.add(Activation('linear'))
model.compile(loss='hinge',optimizer='adadelta')

但是,我收到了这个错误。

错误:

  

ValueError:检查目标时出错:预期的activation_1具有   形状(无,38),但有一个形状的数组(129083,1)

我希望有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

使用hinge_loss作为损失函数

model.compile(loss='hinge_loss',optimizer='adadelta')