机器学习基础篇(十二)——多层感知机

2023-11-01

机器学习基础篇(十二)——多层感知机

一、概述

多层感知机(MLP:Multi-Layer Perceptron)由感知机(PLA: Perceptron Learning Algorithm)推广而来。它最主要的特点是有多个神经元层,因此也叫深度神经网络(DNN: Deep Neural Networks)。

感知机是单个神经元模型,是较大神经网络的前身。神经网络的强大之处在于它们能够学习训练数据中的表示,以及如何将其与想要预测的输出变量联系起来。从数学上讲,它们能够学习任何映射函数,并且已经被证明是一种通用的近似算法。

神经网络的预测能力来自网络的分层或多层结构。而多层感知机是指具有至少三层节点,输入层,一些中间层和输出层的神经网络。给定层中的每个节点都连接到相邻层中的每个节点。输入层接收数据,中间层计算数据,输出层输出结果

下面让我们来简单的看一下多层感知机的推导过程吧。

二、多层感知机的定义

  1. 首先我们先看一下感知机(PLA)是什么? 在这里插入图片描述
    如图所示,感知机只有输入和输出层,这两层共同组成了一个简单的神经元。首先加权输入信号,然后使用激活功能,最终产生输出信号。
    ω将输入的变量映射到了一个新的维度空间中,b的存在使得映射后的数据具有平移能力。(称为偏置量)
    在这里插入图片描述
    3.显然,PLA是一个线性的二分类器,但它对非线性的数据并不能进行有效的分类。因此我们可以加深这个神经元的网络层次,理论上来说,多层网络可以模拟任何复杂的函数。
  2. 当我们加深到很多层的时候,我们就得到了一个多层感知机(MLP)
  3. 我们将第一层称之为输入层,最后一层称之有输出层,中间的层称之为隐层。
  4. MLP并没有限定隐层的数量,对于输出层神经元的个数也没有限制,所以我们可以根据各自的需求选择合适的隐层层数。

举个栗子:我们在输入层输入三个变量[x1,x2,x3]以及一个偏置量b,偏置量的作用是给网络分类增加平移的功能。 然后我们设置隐层为1层,输出神经元个数为3个。可以得到如下的神经网络结构:

在这里插入图片描述

三、节点

每层的神经元被称为节点,那么针对于一个多层感知机,我们应该如何选择层数和隐层节点数呢?

通常情况下,我们只需要一个隐层,就可以模拟任何我们想要的函数。所以,大多情况下我们使用一个三层的感知机即可(包含输入层,一个隐层,一个输出层)。

那么,节点又该怎么选择呢?

如果隐层节点过少,网络结构简单,学习能力不够。如果隐层节点过多,不仅会大大增加网络结构的复杂性,而且学习过程中更易陷入局部极小点,学习速度会变得很慢。

我们一般有以下几种方法来选择隐层的节点数:

  • m:隐层节点数
  • n:输入层节点数
  • I:输入层节点数
  • α:1-10之间的整数

我们一般可以使用以下几个公式来选择节点数(当然也可以自己选择)
在这里插入图片描述
对于每个隐层的节点,我们都将会使用激活函数激活此节点。
通常情况下,节点根据前一层节点的加权总和来激活,即每个连接点的权重乘以该节点的激活函数的总和。
每个节点仅从前一层获取输入值,因此权重是同一层中节点的唯一区分依据。
常见的激活函数有:sigmoid函数,tanh函数

  • sigmoid函数:
    在这里插入图片描述
  • tanh函数
    在这里插入图片描述

四、反向传播

在训练神经网络时,我们预期的输出是输出层中每个节点的激活级别。根据实际激活情况,我们可以找到每个节点的cost(损失成本)。并根据损失成本的不同,相应地调整权重。

反向传播的算法就是根据每个节点的损失成本调整确定每个节点激活的权重。简单来说,在上文中,我们已经了解了如何选择隐层数目和节点数目的相关知识了。那么问题来了,我们应该如何去选择每个节点的权重呢?

这就要用到我们所说的反向传播算法了。

  1. 首先可以定义一个损失函数。(损失函数的相关知识见第一节相关知识
  2. 然后我们可以计算出每个节点的损失函数(该函数与该点的权重以及偏置量b有关)。选择合适的权重值以及偏置量b,使得损失函数达到最小值。
  3. 具体的数学知识不再赘述
  4. 请看下面这张截图,来自tensorflow测试站点。这里正在训练一个神经网络来对蓝色和橙色点进行分类。这里对节点所做的选择是任意的,读者可以做不同的尝试
    在这里插入图片描述
  5. 讨论反向传播,让我们考虑一下这个网络第一步将做什么。
  6. 它将在网络中测试一些训练数据,期望在(隐藏的)正确输出节点上看到完全激活,而在错误输出节点上没有激活。
  7. 当模型不正确时,它将从输出层向后查看,发现错误。
  8. 然后,它会相应地改变权重,所以离得远的权重会比离得近的权重变化更大。
  9. 在这些前期步骤中,它将具有较高的学习率,这使权重不稳定。
  10. 经过几次迭代之后,权重会更加稳定。
  11. 记住这一点,让我们向前跳一步。
    在这里插入图片描述
  12. 现在,网络对如何分类数据有一个模糊的概念。它有一个大致的圆圈,随着步骤的继续,分类会变得更加清晰。
  13. 让我们再向前跳几步
    在这里插入图片描述
  14. 如你所见,该模型已经开发出了更好的性能,可以准确地对大多数点进行分类。
  15. 在这一点上,网络减慢了学习速度,因为它经过了足够多的迭代才取得了现在的精确度。

五、小结

在本节中,我们了解了多层感知机(MLP)神经网络以及其他神经网络的相关知识。我们了解了节点是什么,掌握了节点的计算方法。最后我们立即饿了反向传播的含义,知道了如何去选择节点的权重。
自学自用,希望可以和大家积极沟通交流,小伙伴们加油鸭。创作不易,动起可爱的双手,来个赞再走呗 (๑◕ܫ←๑)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习基础篇(十二)——多层感知机 的相关文章

随机推荐

  • 从入门到放弃系列--如何成为全栈工程师01

    写个序言 计算机的书 有一个神秘的系列 不管写什么的 编程类的 比如 C语言 JAVA PHP 操作系统类的 比如windows98 2000 XP ME VISTA 7 8 10 LINUX 软件类的 比如word wps excel p
  • Cesium Terrain Builder 非压缩瓦片

    Cesium Terrain Builder 输出瓦片默认是zib压缩后的 在业务中如果传输不是问题 反而增加浏览器的解压处理 希望能支持输出非压缩瓦片 针对此需求 修改代码并重新编译 一 代码分析 1 输出数据对象 文件格式 主要为hei
  • 服务器上的文件怎么共享给学生机,云服务器对应学生机

    云服务器对应学生机 内容精选 换一换 当您创建的弹性云服务器规格无法满足业务需要时 可以变更云服务器规格 升级vCPU 内存 具体接口的使用 请参见本节内容 变更规格时 部分规格的之间不能互相变更 您可以参见查询云服务器规格变更支持列表查询
  • 重磅:饶毅正式举报裴钢院士!

    点击上方 CVer 选择加 星标 置顶 重磅干货 第一时间送达 来源 饶议科学 科技部 科奖中心 编辑 考博圈 学长 经过将近一年的严肃调查处理 1月21日 科研诚信建设联席会议联合工作机制发布 有关论文涉嫌造假调查处理情况的通报 以下简称
  • 【zedboard找不到COM串口bug】驱动下载地址

    今天在使用zedboard过程中出现了sdk终端没有COM串口的问题 解决方法见 zedboard串口bug最终解决办法 zynq开发 在SDK 终端Teminal找不到COM3 COM5等接口 无法连接uart串口 ZYNQ驱动问题 解决
  • 【源码】走一遍源码弄清ArrayList容器的扩容机制

    源码 走一遍源码弄清ArrayList容器的扩容机制 首先我们来看看ArraysList容器在整个Java集合框架中所处的位置 由此可见ArrayList是Java集合框架中 两大派系中Collection接口的子接口List的实现类 我们
  • 在macOS上搭建Flutter开发环境

    准备工作 1 下载flutter sdk 2 安装xcode 安装Android Studio 3 安装 Homebrew 安装fvm 安装adb 配置 1 环境变量配置 打开终端查看 ls a 1 打开 open bash profile
  • 作用域链的理解

    一 作用域 作用域又分为了 全局作用域 和 函数作用域 ES6 之前 JavaScript 没有块级作用域 只有全局作用域和函数作用域 ES6 的到来 为我们提供了 块级作用域 可通过新增命令 let 和 const 来体现 全局作用域 在
  • Hexo+next主题美化静态博客

    前言 需要在Hexo下配置next主题 Hexo配置next主题教程 点我跳转 更改配置以后使用素质三连 hexo clean hexo g hexo s即可本地看到效果 hexo clean hexo g hexo s 注 部分参考自互联
  • CSS3有趣的渐变色

    程序设计之道无远弗届 御晨风而返 杰佛瑞 詹姆士 这里给大家分享几个有趣的渐变色 用来丰富页面 一 背景色渐变 经常用的就是给背景色增加渐变效果 这里的语法顺序不要错 牵扯到优雅降级和渐进增强 标准语法写到最后也是为了兼容各个版本浏览器 让
  • curl命令的使用

    curl是利用URL语法在命令行方式下工作的开源文件传输工具 1 CURL URL 获取当个网页源码 默认将输出打印到标准输出中 curl www baidu com 2 CURL o O选项保存下载的文件到指定的文件中 o 将文件保存为命
  • AI工程师职业规划指南——中科院大牛告诉你如何成为一名语音识别工程师

    语音识别基础知识 数学与统计学 数学是所有学科的基础 其中的高等数学 数理方程 泛函分析等课程是必要的基础知识 概率论与数理统计也是语音识别的基础学科 声学与语言学 声学基础 理论声学 声学测量等是声学方面的基础课程 有助于了解更多声学领域
  • ElasticSearch学习笔记

    一 ES核心概念 elasticsearch 是面向文档的 一切都是 Json ES关系型数据库的对比记忆 ElasticSearch 关系型数据库 索引 indices 数据库 database 类型 types 表 tables 文档
  • Hive 数据仓库基础应用---第一篇

    hive 的数据定义语句 DDL 创建数据库 语法格式如下 CREATE DATABASE IF NOT EXITS database name COMMENT database comment LOCATION hdfs path WIT
  • arm架构安装docker-compose

    先安装好Docker 华为云arm架构安装Docker arm架构下安装docker compose 官网地址 https github com docker compose releases 官方没有提供arm架构的包 自己去找arm架构
  • 迅雷下载器无限制版_无敏感_无限速

    迅雷下载器5 8 下载链接 链接 https pan baidu com s 1ZYf1aRwZvW4PUT7qO0lKIg 提取码 if5x 速度如图 转载于 https www cnblogs com yzhyingcool p 109
  • CSS使网页适应不同屏幕大小(最实用的rem基础屏幕的适配方案)

    先看代码 复制使用即可 以下代码均可复制粘贴使用 我将以注释的形式解释代码左右 如您满意请给莫成尘点个Fabulous 牛顿说过 我之所以看得远 是因为我站在巨人的肩膀上 我们充分借鉴了element antd等的方案来适配 需 要 注 意
  • kafka消息删除机制

    kafka过期消息删除过程 有时候总觉得我的消息没到7天就被删除了 我还以为是我的kafka配置没有生效 了解到 kafka删除机制后才恍然大悟 kafka消息首先由用户设定一个或多个partition 每个partition中kafka会
  • 光圈

    镜头上写 1 1 8 说明该镜头的最大光圈是f 1 8 F number 光圈值 F number 指的是focal length number aperture 光圈 光圈指得是镜头中间开孔的大小 光圈的作用在于决定镜头的进光量 光圈值越
  • 机器学习基础篇(十二)——多层感知机

    机器学习基础篇 十二 多层感知机 一 概述 多层感知机 MLP Multi Layer Perceptron 由感知机 PLA Perceptron Learning Algorithm 推广而来 它最主要的特点是有多个神经元层 因此也叫深