CNN中使用的分类方法

问题描述

在下面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 开始,它被设置为一个多类分类问题。