深度神经网络:从多标签分类到图像分类的探索
1. DNN多标签多类分类器
在构建多类分类器DNN时,我们首先要设置具有多个特征的输入层和多个类别的输出层。接着,将激活函数从sigmoid改为softmax,损失函数设置为categorical_crossentropy,这通常是多类分类最推荐的损失函数。最后,使用Adam优化器(adam),它结合了rmsprop和adagrad等方法的优点,具有自适应学习率,被广泛认为是各类神经网络中一流的优化器。以下是构建多类分类器DNN的代码示例:
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense
model = Sequential()
model.add(Dense(10, input_shape=(4,), activation='relu'))
model.add(Dense(10, activation='relu'))
model.add(Dense(5, activation='softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
当我们需要为每个输入预测两个或更多类别(标签)时,就会用到多标签多类分类器。例如,预测一个人的年龄类别(婴儿、幼儿等)和性别(男或女),输入是身高、体重和鼻子表面积,输出是年龄类别和性别。为了实现这一点,我们需要