原文链接:https://developers.google.com/machine-learning/crash-course/multi-class-neural-networks/

多类别分类,这种模型可从多种可能的情况中进行选择。

1- 一对多

一对多提供了一种利用二元分类的方法。
鉴于一个分类问题会有 N 个可行的解决方案,一对多解决方案包括 N 个单独的二元分类器,每个可能的结果对应一个二元分类器。
在训练期间,模型会训练一系列二元分类器,使每个分类器都能回答单独的分类问题。
以一张狗狗的照片为例,可能需要训练五个不同的识别器,其中四个将图片看作负样本(不是狗狗),一个将图片看作正样本(是狗狗)。

一对多神经网络
当类别总数较少时,这种方法比较合理,但随着类别数量的增加,其效率会变得越来越低下。
此时,可以借助深度神经网络(在该网络中,每个输出节点表示一个不同的类别)创建明显更加高效的一对多模型。
       

2- Softmax

逻辑回归可生成介于 0 和 1.0 之间的小数,Softmax是逻辑回归在多类别问题中的延伸。
也就是说,在多类别问题中,Softmax会为每个类别分配一个用小数表示的概率。
这些用小数表示的概率相加之和必须是“1.0”。
与其他方式相比,这种附加限制有助于让训练过程更快速地收敛。

Softmax层是紧挨着输出层之前的神经网络层,必须和输出层拥有一样的节点数。  
       
注意:图中每个类别的概率相加之和是“1.0”。
Softmax公式(本质上是将逻辑回归公式延伸到了多类别):
        $p(y = j|\textbf{x})  = \frac{e^{(\textbf{w}_j^{T}\textbf{x} + b_j)}}{\sum_{k\in K} {e^{(\textbf{w}_k^{T}\textbf{x} + b_k)}} }$

2.1 Softmax 选项

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

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

2.2 一个标签与多个标签

Softmax 假设每个样本只是一个类别的成员。
但是,对于一些样本可以同时是多个类别成员的情况:

  • 不能使用 Softmax。
  • 必须依赖多个逻辑回归。

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

3- 练习

xxx

4- 关键词

多类别分类 (multi-class classification)
区分两种以上类别的分类问题。
例如,枫树大约有 128 种,因此,确定枫树种类的模型就属于多类别模型。
反之,仅将电子邮件分为两类(“垃圾邮件”和“非垃圾邮件”)的模型属于二元分类模型。

一对多 (one-vs.-all)
假设某个分类问题有 N 种可能的解决方案,一对多解决方案将包含 N 个单独的二元分类器 - 一个二元分类器对应一种可能的结果。
例如,假设某个模型用于区分样本属于动物、蔬菜还是矿物,一对多解决方案将提供下列三个单独的二元分类器:

    • 动物和非动物
    • 蔬菜和非蔬菜
    • 矿物和非矿物

候选采样 (candidate sampling)
一种训练时进行的优化,会使用某种函数(例如 softmax)针对所有正类别标签计算概率,但对于负类别标签,则仅针对其随机样本计算概率。
例如,如果某个样本的标签为“小猎犬”和“狗”,则候选采样将针对“小猎犬”和“狗”类别输出以及其他类别(猫、棒棒糖、栅栏)的随机子集计算预测概率和相应的损失项。
这种采样基于的想法是,只要正类别始终得到适当的正增强,负类别就可以从频率较低的负增强中进行学习,这确实是在实际中观察到的情况。
候选采样的目的是,通过不针对所有负类别计算预测结果来提高计算效率。

逻辑回归 (logistic regression)
一种模型,通过将 S 型函数应用于线性预测,生成分类问题中每个可能的离散标签值的概率。
虽然逻辑回归经常用于二元分类问题,但也可用于多类别分类问题(其叫法变为多类别逻辑回归或多项回归)。

softmax
一种函数,可提供多类别分类模型中每个可能类别的概率。这些概率的总和正好为 1.0。
例如,softmax 可能会得出某个图像是狗、猫和马的概率分别是 0.9、0.08 和 0.02。(也称为完整 softmax。)
与候选采样相对。

机器学习入门16 - 多类别神经网络 (Multi-Class Neural Networks)的更多相关文章

  1. 第十四章——循环神经网络(Recurrent Neural Networks)(第一部分)

    由于本章过长,分为两个部分,这是第一部分. 这几年提到RNN,一般指Recurrent Neural Networks,至于翻译成循环神经网络还是递归神经网络都可以.wiki上面把Recurrent ...

  2. 第十四章——循环神经网络(Recurrent Neural Networks)(第二部分)

    本章共两部分,这是第二部分: 第十四章--循环神经网络(Recurrent Neural Networks)(第一部分) 第十四章--循环神经网络(Recurrent Neural Networks) ...

  3. Online handwriting recognition using multi convolution neural networks

    w可以考虑从计算机的“机械性.重复性”特征去设计“低效的”算法. https://www.codeproject.com/articles/523074/webcontrols/ Online han ...

  4. 循环神经网络(RNN, Recurrent Neural Networks)介绍(转载)

    循环神经网络(RNN, Recurrent Neural Networks)介绍    这篇文章很多内容是参考:http://www.wildml.com/2015/09/recurrent-neur ...

  5. 循环神经网络(RNN, Recurrent Neural Networks)介绍

    原文地址: http://blog.csdn.net/heyongluoyao8/article/details/48636251# 循环神经网络(RNN, Recurrent Neural Netw ...

  6. Stanford机器学习---第五讲. 神经网络的学习 Neural Networks learning

    原文 http://blog.csdn.net/abcjennifer/article/details/7758797 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  7. Stanford机器学习---第四讲. 神经网络的表示 Neural Networks representation

    原文 http://blog.csdn.net/abcjennifer/article/details/7749309 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  8. 《转》循环神经网络(RNN, Recurrent Neural Networks)学习笔记:基础理论

    转自 http://blog.csdn.net/xingzhedai/article/details/53144126 更多参考:http://blog.csdn.net/mafeiyu80/arti ...

  9. 小白也能弄懂的卷积神经网络(Convolutional Neural Networks )

    本系列主要是讲解卷积神经网络 - Convolutional Neural Networks 的系列知识,本系列主要帮助大家入门,我相信这是所有入门深度学习的初学者都必须学习的知识,这里会用更加直接和 ...

随机推荐

  1. ubuntu安装时系统分区设置

    1. 创建主分区:主分区,用于存放系统 20G    主分区    空间起始位置    Ext4日志文件系统    / 2. 创建swap分区:逻辑分区.大小设置为电脑内存大小,2G: 2048MB  ...

  2. SharePoint修改左上角文字的命令行

    $webapp = Get-SPWebApplication “http://test-spweb1” --需要修改的站点$webapp.SuiteNavBrandingText = “XXXXXX” ...

  3. Final Cut Pro X for Mac(FCPX专业视频剪辑工具)实用技巧篇!

    Final Cut Pro X for Mac是一款非常强大的专业视频剪辑工具,全球很多人都在用!现在小编给大家带来一些关于Final Cut Pro X for Mac的使用技巧,希望对大家以后的应 ...

  4. 安装jar包到maven仓库

    1)将所要安装的jar包放在自定义目录下. 2)(maven环境变量配置无误的情况下)windows环境下,打开命令提示符,输入如下命令: mvn install:install-file -Dfil ...

  5. Axure RP 8 软件介绍

    介绍 此软件可以用于制作快速原型,也可以绘制中保真原型草图. 应用人群:产品经理.交互设计师.UI设计师.网页设计师. 原型分类:低保真(手绘草图).中保真(使用相关软件绘制出来的).高保真(包含效果 ...

  6. Tag Helpers 的使用介绍

    什么是 Tag Helpers ? 在 Razor 文件中,Tag Helpers 能够让服务端代码参与创建和渲染 HTML 元素.例如,内置的ImageTagHelper能够在图像名称后面追加版本号 ...

  7. 通过Ajax来简单的实现局部刷新(主要为C#中使用的UpdatePanel控件和ScriptManager控件)

    1. ScriptManager和UpdatePanel控件联合使用可以实现页面局部异步刷新的效果.UpdatePanel用来设置页面中局部异步刷新的区域,它必须依赖于ScriptManager,因为 ...

  8. avuex

    今天做了的avuex终于发现了问题.作为前端小白,解决花了一上午,这是因为以前没有用过框架.还好终于憋出来了.具体如下,还望不要嘲笑自己 查找好久原来是没有仔细看文档的原因,一定要记住,这是一个技术活 ...

  9. spring 应用

    Spring框架本身会托管bean. 1.使用时需要注意对于包本身扫描配置. 2.使用注解本身包需要在扫描路径下.

  10. Spring-Docker简易指南

     使用代码:https://files.cnblogs.com/files/miracle9527/demo4springboot.rar # 约定#为注释行.$为命令行 # 开始操作前将demo4s ...