谷歌机器学习速成课程笔记 16(Multi-Class Neural Networks-多类别神经网络)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30354455/article/details/80494894

这里写图片描述
但是现实世界中,我们通常不仅是在两个类别之间做选择,有时我们需要从一系列类别中的某个类别选择一个标签——某个对象是动物?蔬菜?矿物质?人造物体?等等


这里写图片描述

将模型中的一个逻辑回归输出节点用于每个可能的类别,比如

  • 节点1——识别“这是苹果吗?”——是/否;
  • 节点2——识别“这是熊的照片吗?”——是/否;
  • 节点3——识别“这是糖果吗?”——是/否;

我们只需让模型的开头 具有不同的输出节点,并通过模型的其余部分共享内部表示法,进而通过合理高效的方式同时对这些节点就行训练,便能在深度网络中做到这一点。


在某些问题中,一个图片可能只会对应一种类别——比如一张图片中只有香蕉,或苹果。在在这情况下,我们希望使用小输出节点的概率总和正好是1,要实现这一点,我们可以使用一种名为softmax的函数:
这里写图片描述


这里写图片描述

在其他情况下,我们可能会遇到 “多标签分类问题” ,例如图片中同时出现香蕉和苹果,图片中同时出现了3条不同的狗,图片中出现了一条狗和两个人……要分别地同时识别出它们,若一对多分类,系统会单独计算出每个输出,并且输出的总和不一定是1。
这里写图片描述
在训练多类别分类时,我们可以在“开箱即用”的情况下使用完整softmax,此时训练成本相对昂贵——如有一百万个类别,那么需要为每个示例图片分别训练一百万个输出节点。

我们可以通过进行“候选采样”来提高一点效率。此时,我们要针对输出节点所属的类别来训练输出节点,然后对负样本进行采样,并且只更新输出节点的采样。这种方式在训练时效率更高一些,而且在许多情况下似乎都对效果没什么影响;显而易见的是,我们在推理诗仍然需要评估每个输出节点。

猜你喜欢

转载自blog.csdn.net/qq_30354455/article/details/80494894