tensorflow学习日志(十二)机器学习(多类别神经网络,softmax)

主要来源:视频学习网站Google机器学习教程

多类别神经网络

逻辑回归为二元分类问题提供了有用的概率:
垃圾邮件/非垃圾邮件
点击/未点击

那多类别问题呢?
苹果、香蕉、汽车、心脏病专家、…、步行标志、斑马、动物园
红色、橙色、黄色、绿色、蓝色、靛青色、紫色
动物、蔬菜、矿物

一对多提供了一种利用二元分类的方法。
鉴于一个分类问题会有 N 个可行的解决方案,一对多解决方案包括 N 个单独的二元分类器,每个可能的结果对应一个二元分类器。在训练期间,模型会训练一系列二元分类器,使每个分类器都能回答单独的分类问题。以一张狗狗的照片为例,可能需要训练五个不同的识别器,其中四个将图片看作负样本(不是狗狗),一个将图片看作正样本(是狗狗)。即:
1.这是一张苹果的图片吗?不是。
2.这是一张熊的图片吗?不是。
3.这是一张糖果的图片吗?不是。
4.这是一张狗狗的图片吗?是。
5.这是一张鸡蛋的图片吗?不是。
当类别总数较少时,这种方法比较合理,但随着类别数量的增加,其效率会变得越来越低下。

我们可以借助深度神经网络(在该网络中,每个输出节点表示一个不同的类别)创建明显更加高效的一对多模型。下图展示了这种方法:
在这里插入图片描述

多类别神经网络 (Multi-Class Neural Networks):Softmax

我们已经知道,逻辑回归可生成介于 0 和 1.0 之间的小数。例如,某电子邮件分类器的逻辑回归输出值为 0.8,表明电子邮件是垃圾邮件的概率为 80%,不是垃圾邮件的概率为 20%。很明显,一封电子邮件是垃圾邮件或非垃圾邮件的概率之和为 1.0。
Softmax 将这一想法延伸到多类别领域。也就是说,在多类别问题中,Softmax 会为每个类别分配一个用小数表示的概率。这些用小数表示的概率相加之和必须是 1.0。与其他方式相比,这种附加限制有助于让训练过程更快速地收敛。
例如,回到我们在图 1 中看到的图片分析示例,Softmax 可能会得出图片属于某一特定类别的以下概率:
在这里插入图片描述
Softmax 层是紧挨着输出层之前的神经网络层。Softmax 层必须和输出层拥有一样的节点数。
在这里插入图片描述
Softmax 方程式如下所示:
在这里插入图片描述
(请注意,此公式本质上是将逻辑回归公式延伸到了多类别。)

Softmax 选项
完整 Softmax 是我们一直以来讨论的 Softmax;也就是说,Softmax 针对每个可能的类别计算概率。
候选采样指 Softmax 针对所有正类别标签计算概率,但仅针对负类别标签的随机样本计算概率。例如,如果我们想要确定某个输入图片是小猎犬还是寻血猎犬图片,则不必针对每个非狗狗样本提供概率。

类别数量较少时,完整 Softmax 代价很小,但随着类别数量的增加,它的代价会变得极其高昂。候选采样可以提高处理具有大量类别的问题的效率。

一个标签与多个标签
Softmax 假设每个样本只是一个类别的成员。但是,一些样本可以同时是多个类别的成员。对于此类示例:
您不能使用 Softmax。
您必须依赖多个逻辑回归。

例如,假设您的样本是只包含一项内容(一块水果)的图片。Softmax 可以确定该内容是梨、橙子、苹果等的概率。如果您的样本是包含各种各样内容(几碗不同种类的水果)的图片,您必须改用多个逻辑回归。

猜你喜欢

转载自blog.csdn.net/sazass/article/details/87400702