20.4 训练一个多元分类器
问题描述
训练一个多元分类器神经网络。
解决方案
使用Keras构建一个前馈神经网络,其输出层采用的是softmax激活函数:
讨论
在这次的解决方案中,我们创建了一个跟20.3节所介绍的二元分类器类似的神经网络,但还有一些不一样的地方。第一,这次的数据是11,228个路透社新闻专栏。每个新闻专栏被分成46个主题(即46个分类)。我们把新闻专栏转换为5000个二元特征值(分别表示在该专栏中这5000个词中的某个词是否出现过)来作为特征数据。我们用one-hot编码将目标数据转换为一个目标矩阵,每一行表示一个观察值属于46个分类中的哪一个:
第二,我们增加了隐藏层的神经元数量,帮助神经网络表示46个分类之间更复杂的关系。
第三,因为这是一个多元分类的问题,我们使用了有46个神经元(每个神经元对应一个分类)的输出层,其中包含一个softmax激活函数。这个激活函数会返回一个有46个值的矩阵,这46个值之和为1。它们表示一个观察值被归类成46个分类之一的概率。
第四,我们使用了一个适合多元分类问题的损失函数,即分类交叉熵损失函数categorical_crossentropy。
本书评论