如何利用神经网络解决多类别分类问题?

(手写数字的识别问题,其实就是一个多类别分类问题,因为它有 101010 种需要识别的类别,也就是数字 000 到 999。)

要在神经网络中实现多类别分类,采用的方法本质上是一对多法的拓展。


假设有一个计算机视觉的例子,我们不只需要识别出图中的汽车,现在我们需要识别四个类别的对象,通过图像来辨别出哪些是行人、汽车、摩托车或者货车:

这样的话,我们要做的就是建立一个有四个输出单元的神经网络:

现在神经网络的输出将是一个含 444 个数的向量:

输出变成了一个四维的向量,那么现在要做的就是,用第一个输出单元来判断图中是否是一个行人,再用第二个输出单元来判断图片中是否是一辆汽车,以此类推……


当图像中是一个行人时,理想情况下,这个网络会输出:

当图中是一辆汽车时,希望输出:

以此类推……


现在可以说我们有 444 个逻辑回归分类器:

它们每一个都将识别图片中的物体是否是四种类别中的一种。


这就是四输出单元的神经网络:

下面是 h(x)h(x)h(x) 对应不同图片的取值情况,我们对这种设定下的训练集的表示方式如下所示:


当训练集中有各种图片,包含行人、汽车、摩托车、卡车,应该怎么办呢?

首先,输出的表示方法如下所示:

y(i)y^{(i)}y(i) 的值取决于对应的图像 x(i)x^{(i)}x(i),那么一个训练样本将由一组 (x(i),y(i))(x^{(i)}, y^{(i)})(x(i),y(i)) 组成。

其中 x(i)x^{(i)}x(i) 就是四种物体其中一种的图像,而 y(i)y^{(i)}y(i) 就是这些向量中的一个:


我们希望找到一个方法,让神经网络输出一些数值,输出值 h(x(i))h(x^{(i)})h(x(i)) 约等于 y(i)y^{(i)}y(i),并且 h(x(i))和y(i)h(x^{(i)})和y^{(i)}h(x(i))和y(i) 在该例子中都是四维向量,分别代表四种不同的类别。

这需要一个算法,它能在给定训练集时,为神经网络拟合参数。下一篇笔记会提到。


这就是让神经网络解决多类别分类问题的方法。


参考资料:吴恩达机器学习系列课程

【神经网络】{4} ——多元分类相关推荐

  1. 卷积神经网络之多元分类(剪刀石头布)

    目录 一.多元分类模型 1.准备数据集 2.数据集处理 3.模型构建 4.模型编译 5.模型训练 6.模型保存 7.模型训练结果分析 8.模型预测(验证) 9.模型结果显示 二.注释 1.fit与fi ...

  2. python卷积神经网络多元分类_CV4-卷积神经网络之多元分类(剪刀石头布)

    目录 这里以剪刀石头布为例.具体一些细节已经在CV1-CV3中详细解释过. 一.多元分类模型 1.准备数据集 下载代码: 训练集数据 wget --no-check-certificate \ htt ...

  3. 吴恩达ex3_[Coursera] Machine Learning ex3 多元分类和神经网络 步骤分析

    第四周的主要内容是神经网络,个人觉得讲得比较跳,所以补充几篇文章加深一下理解: But what *is* a Neural Network? 先提一下,本人设计背景,没学过微积分,这篇只当是笔记,有 ...

  4. 四、【机器学习作业】多元分类与神经网络(python版ex3)

    多元分类与神经网络 (一)多元分类问题 利用逻辑回归算法进行手写字符识别 (二)神经网络模型(初识) (1) 简单模型 vs 复杂模型 (2)介绍神经网络模型(前馈) (3)神经网络模型的建立 (4) ...

  5. 机器学习入门(06)— 输出层多元分类、softmax 归一化指数函数以及输出层的神经元数量

    输出层所用的激活函数,要根据求解问题的性质决定.一般地, 回归问题可以使用恒等函数,也就是说会将输入按原样输出: 二元分类问题可以使用 sigmoid 函数: 多元分类问题可以使用 softmax 函 ...

  6. 机器学习基础之模型篇-----二元分类和多元分类

    机器学习是一个比较广阔的知识领域,涉及到很多数学统计和计算机的相关知识. 要想深入了解,需要系统学习和大量的时间. 但是如果我们很清楚地知道机器学习如果用一句话来概括就是:通过大量的训练,使得机器把输 ...

  7. Tensorflow实现神经网络及实现多层神经网络进行时装分类

    Tensorflow实现神经网络及实现多层神经网络进行时装分类 1. tf.keras构建模型训练评估测试API介绍 import tensorflow as tf from tensorflow i ...

  8. 使用神经网络做二分类,输出层需要几个神经元?应该选择哪一种激活函数?如果要处理minst数据、输出层需要几个神经元?使用那种激活函数?如果使用神经网络预测房价,输出层需要几个神经元、使用什么激活函数?

    使用神经网络做二分类,输出层需要几个神经元?应该选择哪一种激活函数?如果要处理minst数据.输出层需要几个神经元?使用那种激活函数?如果使用神经网络预测房价,输出层需要几个神经元.使用什么激活函数? ...

  9. 使用卷积神经网络进行文本分类textCNN

    使用卷积神经网络进行文本分类textCNN 一维卷积层 我们可以将文本当作一维图像,从而可以用一维卷积神经网络来捕捉临近词之间的关联.与二维卷积层一样,一维卷积层使用一维的互相关运算.在一维互相关运算 ...

  10. 3.9 神经网络解决多分类问题-机器学习笔记-斯坦福吴恩达教授

    神经网络解决多分类问题 假定我们需要将图像分为四类: 行人图像 车辆图像 摩托车图像 卡车图像 这是一个多分类问题,由于图像特征较多,因此我们可以考虑设计含有多个隐含层的神经网络来完成特征优化(扩展) ...

最新文章

  1. Machine Learning | (5) Scikit-learn的分类器算法-朴素贝叶斯
  2. sample java_从sample来学习Java堆(转)
  3. mysql配置管理器在哪_SQL Server 2008配置管理器在哪下载
  4. 一篇文章带你搞懂 DEX 文件的结构
  5. 博士生找工作的真相!就问一声:你是否足够强大?
  6. python-格化输出format方法
  7. 回顾丨2021数据库大咖讲坛(第6期)视频PPT互动问答
  8. html+css+js实现网页拼图游戏
  9. 【批处理】用netsh管理防火墙示例
  10. Luogu P2827 蚯蚓
  11. 2010头号病毒追杀令——恶意下载者001
  12. 设计模式之(Composite)组合模式
  13. war包的解压和打包为原来的war包的方法
  14. 2016安卓手机安全隐私之对比与分析
  15. 412 Precondition Failed
  16. matlab 提取文件路径名称 带后缀与不带后缀
  17. Java工具类实现excel转pdf结果几乎一模一样
  18. Postfix部署【2】传输代理
  19. 计算机核心期刊排名及简介一览
  20. 如何录制iPhone手机上的视频

热门文章

  1. linux 消息队列大小设置,linux 消息队列 参数
  2. 驱动程序在 /Device/Harddisk0/D 上检测到控制器错误
  3. 用pl.pojo.tester测试Pojo类,提高测试覆盖率
  4. 计算机快捷键大全列表6,快捷键大全excel
  5. python|文本文件的处理
  6. android一键改机之真改机build.prop
  7. 自考本科计算机要学什么,计算机自考本科需要考哪些科目
  8. 免费下载 | ContextCapture分块OBJ模型合并与裁剪
  9. 搭建opensips进行简单的注册、呼叫
  10. goahead webserver源码分析