不能使用Softmax。
必须依赖多个逻辑回归。
例如,假设样本是只包含一项内容(一块水果)的图片。Softmax可以确定该内容是梨、橙子、苹果等的概率。如果样本是包含各种各样内容(几碗不同种类的水果)的图片,那么必须改用多个逻辑回归。
总之,在训练多类别分类时,我们有几个选项可以选择。一个是使用完整Softmax,此时训练成本相对昂贵。想象一下,如果有一百万个类别,那么基本上需要为每个示例分别训练一百万个输出节点。我们可以通过进行“候选采样”来提高一点效率。
10.3.3代码实例
本节对手写数字进行分类。我们训练线性模型和神经网络,对传统MNIST数据集中的手写数字进行分类,并比较线性分类模型和神经网络分类模型的效果,最后可视化神经网络隐藏层的权重。我们的目标是将每个输入图片与正确的数字相对应。我们会创建一个包含几个隐藏层的神经网络,并在顶部放置一个归一化指数层,以选出最合适的类别。下面来看一下代码。
首先,下载数据集,导入TensorFlow和其他实用工具,并将数据加载到Pandas DataFrame。此数据是原始MNIST训练数据的样本,我们随机选择了10000行。
对这10000行数据进行训练:
第10章 神经网络
343