问题描述
在下面Mike Smales开发的代码中,他使用了MFCC作为特征提取。你能告诉我他下面列出的代码使用的分类方法是什么吗?
这是他的 CNN 模型代码:
# Construct model
model = Sequential()
model.add(Conv2D(filters=16,kernel_size=2,input_shape=(num_rows,num_columns,num_channels),activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
model.add(Conv2D(filters=32,activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
model.add(Conv2D(filters=64,activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
model.add(Conv2D(filters=128,activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
model.add(GlobalAveragePooling2D())
model.add(Dense(num_labels,activation='softmax'))
解决方法
作者使用的损失是categorical_crossentropy
。
# Compile the model
model.compile(loss='categorical_crossentropy',metrics=['accuracy'],optimizer='adam')
从 doc 开始,它被设置为一个多类分类问题。