什么是感知机——图文并茂,由浅入深

这篇具有很好参考价值的文章主要介绍了什么是感知机——图文并茂,由浅入深。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是感知机——图文并茂,由浅入深

引言

生活中常常伴随着各种各样的逻辑判断,比如看到远方天空中飘来乌云,打开手机看到天气预报说1小时后40%的概率下雨,此时时候我们常常会做出等会下雨,出门带伞的判断。

上述思考过程可以抽象为一个”与“的”神经逻辑“。当”看到乌云“和”天气预报40%下雨“同时满足的时候,我们才会做出”等会下雨,出门带伞“的判断;假如只看到”乌云“,但天气预报说0%的概率下雨,抑或是没看见乌云,天气预报40%的概率下雨,我们会做出等下不会下雨的判断。

现在我们抽象一下刚刚的过程。

什么是感知机——图文并茂,由浅入深

逻辑的输入有两个:看见乌云、天气预报。经过逻辑判断,决定是否带伞。

在判断时,有人会更加相信肉眼所见的乌云,天气预报只是辅助,毕竟天气预报经常报不准;有人更加信任天气预报,心想谁知道这个乌云会不会等会飘走呢,有云又未必下雨。因此我们引入”信任度“这个概念。我更加信任天气预报,如果完全相信是1(也可以是2、3、3.4等等),那么我给”天气预报“0.7的信任度,给”看见乌云“0.3的信任度。

什么是感知机——图文并茂,由浅入深

相信读者一定有了一定概念,但是目前这样笼统的”判断“和”信任度“没有办法实际解决问题。主要有以下疑问:

  • ”信任度“是如何作用于判断呢?
  • ”判断”是如何进行的?
  • 笔者讲的这个判断和感知机什么关系?

下面我们将问题数学化,来定量得确定出这其中的逻辑关系,这个过程通常被叫做“数学建模”。

生活中有许许多多的判断,有的如同上述是否带伞一样简单,有的如同解答高数题一样复杂。这些判断都是根据许许多多外界环境输入到我们人脑中的信号,经过头脑中复杂的神经网络得出来的。

上面的例子是一个非常简单的判断,可以想象如果这种简单的判断以成千上万的数量组合,便可以形成一个非常庞大且复杂的“神经网络”,能够处理的事情。组成这张神经网络的单位,我们称之为“神经元”,粗略得说,我们也可以叫他“感知机”。

感知机的引入

宝宝版

分别用 x 1 x_1 x1表示“看见乌云”, x 2 x_2 x2表示“天气预报”。如果看见了乌云,那么 x 1 = 1 x_1=1 x1=1否则 x 1 = 0 x_1=0 x1=0;同样的,如果天气预报说40%概率下雨, x 2 = 1 x_2=1 x2=1,如果是0%的概率下雨, x 2 = 0 x_2=0 x2=0

y y y表示“是否带伞”,带伞时 y = 1 y=1 y=1,否则 y = 0 y=0 y=0

什么是感知机——图文并茂,由浅入深

为了叙述方便,我们这里把0.3、0.7信任度,称为加权。现在我们引入“加权和” a a a。他是输入变量的加权和。
a = 0.3 x 1 + 0.7 x 2 a=0.3x_1 + 0.7x_2 a=0.3x1+0.7x2
x 1 , x 2 x_1,x_2 x1,x2的可能取值总共只有4个,我们不妨把他们列举出来,暂且把表格称为真值表吧:(此处,我们认为,只有看到乌云和天气预报同时满足,我们才带伞)

x 1 x_1 x1 x 2 x_2 x2 a a a y y y
0 0 0 0
1 0 0.3 0
0 1 0.7 0
1 1 1 1

观察表格可以指定如下规则,用于判断:当 a a a大于某值 θ \theta θ,时, y y y取1,也就是带伞。
y = { 0 0.3 x 1 + 0.7 x 2 ≤ θ 1 0.3 x 1 + 0.7 x 2 > θ y= \left\{\begin{matrix} 0\quad 0.3x_1 + 0.7x_2\le \theta \\ 1\quad 0.3x_1 + 0.7x_2> \theta \end{matrix}\right. y={00.3x1+0.7x2θ10.3x1+0.7x2>θ
通过观察真值表,我们可以非常容易得到 θ \theta θ的取值,0.8或是0.9都可以,取值范围如下:
θ > 0.7 \theta>0.7 θ>0.7
至此现在我们把“判断”成功数学建模,如下:

什么是感知机——图文并茂,由浅入深

至此,一个完整的,具有实际意义的感知机建造完成,上图中间的圆圈便是感知机,它有两个输入信号,一个输出信号。我把他命名为“宝宝感知机”。

青年版

宝宝感知机的成长

宝宝感知机的判断逻辑是:
y = { 0 0.3 x 1 + 0.7 x 2 ≤ θ 1 0.3 x 1 + 0.7 x 2 > θ y= \left\{\begin{matrix} 0\quad 0.3x_1 + 0.7x_2\le \theta \\ 1\quad 0.3x_1 + 0.7x_2> \theta \end{matrix}\right. y={00.3x1+0.7x2θ10.3x1+0.7x2>θ
现在我们对它简单变换下:
y = { 0 0.3 x 1 + 0.7 x 2 + ( − θ ) ≤ 0 1 0.3 x 1 + 0.7 x 2 + ( − θ ) > 0 y= \left\{\begin{matrix} 0\quad 0.3x_1 + 0.7x_2+(-\theta)\le0 \\ 1\quad 0.3x_1 + 0.7x_2+(-\theta)> 0 \end{matrix}\right. y={00.3x1+0.7x2+(θ)010.3x1+0.7x2+(θ)>0
我们令 b = ( − θ ) b=(-\theta) b=(θ),公式可以进一步化简:
y = { 0 0.3 x 1 + 0.7 x 2 + b ≤ 0 1 0.3 x 1 + 0.7 x 2 + b > 0 y= \left\{\begin{matrix} 0\quad 0.3x_1 + 0.7x_2+b\le0 \\ 1\quad 0.3x_1 + 0.7x_2+b> 0 \end{matrix}\right. y={00.3x1+0.7x2+b010.3x1+0.7x2+b>0
紧接着,感知机示意图如下:

什么是感知机——图文并茂,由浅入深

还记得我们在引入宝宝感知机的时候,引入的加权和变量 a a a嘛,
a = 0.3 x 1 + 0.7 x 2 a=0.3x_1 + 0.7x_2 a=0.3x1+0.7x2
此时,我们不如再次借助它的概念来清晰化感知机的概念,我们令a新的表达如下:
a = 0.3 x 1 + 0.7 x 2 + b a=0.3x_1 + 0.7x_2+b a=0.3x1+0.7x2+b
则逻辑判断表述可以简化为:
h ( a ) = y = { 0 a ≤ 0 1 a > 0 h(a)=y= \left\{\begin{matrix} 0\quad a\le0 \\ 1\quad a> 0 \end{matrix}\right. h(a)=y={0a01a>0

此处我们用符号 h h h代替 f f f,仅仅是符号的改变,不改变含义。

画出简化后的感知机示意图会让概念更清晰:

什么是感知机——图文并茂,由浅入深

至此,一个完整的,具有实际意义的感知机建造完成,上图中求和与 h ( a ) h(a) h(a)一起构成感知机,它有三个输入信号,一个输出信号。我把他命名为“青年感知机”。

什么是感知机——图文并茂,由浅入深

老夫聊发少年狂版

要开始抽象介绍概念喽。

在深度学习领域,我们对上面提到的“信任度”、输入信号、输出信号等等都有专用的名词,现在我们来介绍下。首先把先前讨论的“信任度”0.3和0.7表示为: w 1 , w 2 w_1,w_2 w1w2

什么是感知机——图文并茂,由浅入深

总结一下上述的讨论:
h ( a ) = { 0 a ≤ 0 1 a > 0 h(a)= \left\{\begin{matrix} 0\quad a\le0 \\ 1\quad a> 0 \end{matrix}\right. h(a)={0a01a>0

a = w 1 x 1 + w 2 x 2 + b a=w_1x_1 + w_2x_2+b a=w1x1+w2x2+b

变量 名称
w w w 权重 权重越高,信号在判断中的作用越大
b b b 偏置 依据判断结果进行调整
h ( a ) h(a) h(a) 激活函数 有多种选择,此处举例使用的是阶跃函数

至此完整的感知机便呈现在大家眼前,概念和专业名称均已阐明。

一般时候,我们把感知机表示成如下形式:

什么是感知机——图文并茂,由浅入深

激活函数

激活函数可以有多种选择,上述我们举例使用的是阶跃函数,表达式如下:
h ( a ) = { 0 a ≤ 0 1 a > 0 h(a)= \left\{\begin{matrix} 0\quad a\le0 \\ 1\quad a> 0 \end{matrix}\right. h(a)={0a01a>0
什么是感知机——图文并茂,由浅入深

此外还有sigmoid、ReLu可供选择。以sigmoid为例,表达式为:
h ( x ) = 1 1 + exp ⁡ ( − x ) h(x)=\frac{1}{1+\operatorname{exp}(-x)} h(x)=1+exp(x)1
什么是感知机——图文并茂,由浅入深

刚刚入门深度学习,可以先不去细究为什么要引入不同的激活函数,sigmoid函数作用是什么,怎么长得那么奇怪,相对于阶跃函数的优势在哪,在后面的学习中会体会到激活函数的作用。只需要知道,此处激活函数有多种选择就可以。

感知机的应用

与门

真值表如下:

x 1 x_1 x1 x 2 x_2 x2 y y y
0 0 0
1 0 0
0 1 0
1 1 1

我们现在对着感知机的图,确认取值。

什么是感知机——图文并茂,由浅入深

权重值和偏置 w 1 , w 2 , b w_1,w_2,b w1,w2,b有多种取值方式,比如分别取:0.5,0.5,-0.7.

x 1 x_1 x1 x 2 x_2 x2 a a a y y y
0 0 0 0
1 0 -0.2 0
0 1 -0.2 0
1 1 0.3 1

什么是感知机——图文并茂,由浅入深

也可以分别取:1,1,-1.3.

x 1 x_1 x1 x 2 x_2 x2 a a a y y y
0 0 0 0
1 0 -0.3 0
0 1 -0.3 0
1 1 0.7 1

或门

真值表如下:

x 1 x_1 x1 x 2 x_2 x2 y y y
0 0 0
1 0 1
0 1 1
1 1 1

权重值和偏置 w 1 , w 2 , b w_1,w_2,b w1,w2,b有多种取值方式,比如分别取:0.5,0.5,-0.2.

x 1 x_1 x1 x 2 x_2 x2 a a a y y y
0 0 0 0
1 0 0.3 1
0 1 0.3 1
1 1 0.7 1

感知机与深度学习

感知机与神经网络

单一感知机只能实现简单的功能,但是数以万计、数以亿计的感知机配合起来,可以处理的问题就不那么简单喽。我们把感知机组成的整体,称为“神经网络”

感知机和深度学习什么关系呢?

以感知机的应用部分的“与门”为例,我们根据与门的真值表,人工给他确定了权重和偏置,让感知机实现了与门的功能。可是数以万计的感知机组成的网络,会有难以计数的权重和偏置,这个时候人工确认它们的取值不再现实。深度学习算法便可以解决这个问题,深度学习会根据真值表,学习出一个可能的权重和偏置,来实现与门的功能,不再需要人来确认参数。文章来源地址https://www.toymoban.com/news/detail-418827.html

到了这里,关于什么是感知机——图文并茂,由浅入深的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • React - redux 使用(由浅入深)

    中文文档: http://www.redux.org.cn/ 英文文档: https://redux.js.org/ Github: https://github.com/reactjs/redux 可直接参照 目录十 进行使用 react-redux redux 是一个专门用于做状态管理的JS库(不是react插件库)。 它可以用在 react, angular, vue 等项目中, 但基本与 react 配合使用。 作用: 集中式管理 re

    2024年02月07日
    浏览(38)
  • 由浅入深Netty代码调优

    序列化,反序列化主要用在消息正文的转换上 序列化时,需要将 Java 对象变为要传输的数据(可以是 byte[],或 json 等,最终都需要变成 byte[]) 反序列化时,需要将传入的正文数据还原成 Java 对象,便于处理 目前的代码仅支持 Java 自带的序列化,反序列化机制,核心代码如

    2024年02月05日
    浏览(31)
  • 手拉手Vue组件由浅入深

    组件 (Component) 是 Vue.js 最强大的功能之一,它是html、css、js等的一个聚合体,封装性和隔离性非常强。 组件化开发:     1、将一个具备完整功能的项目的一部分分割多处使用     2、加快项目的进度     3、可以进行项目的复用 组件注册分为:全局注册和局部注册 目录

    2024年01月18日
    浏览(34)
  • 由浅入深介绍 Python Websocket 编程

    1.1 websocket 协议简介 Websocket协议是对http的改进,可以实现client 与 server之间的双向通信; websocket连接一旦建立就始终保持,直到client或server 中断连接,弥补了http无法保持长连接的不足,方便了客户端应用与服务器之间实时通信。 适用场景 html页面实时更新, 客户端的html页面

    2024年02月03日
    浏览(32)
  • 由浅入深理解C#中的事件

    本文较长,给大家提供了目录,可以直接看自己感兴趣的部分。 前面介绍了C#中的委托,事件的很多部分都与委托类似。实际上,事件就像是专门用于某种特殊用途的简单委托,事件包含了一个私有的委托,如下图所示: 有关事件的私有委托需要了解的重要事项如下: 1、事

    2024年02月03日
    浏览(32)
  • Springboot3+EasyExcel由浅入深

    环境介绍 技术栈 springboot3+easyexcel 软件 版本 IDEA IntelliJ IDEA 2022.2.1 JDK 17 Spring Boot 3 EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。 他能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能。 官网https://easyexcel.opensource.ali

    2024年01月16日
    浏览(37)
  • 【由浅入深学习MySQL】之索引进阶

    本系列为:MySQL数据库详解,为千锋资深教学老师独家创作 致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【关注】持续追更~ 文末有本文重点总结,技术类问题,也欢迎大家和我们沟通交流! 从今天开始本系列

    2024年02月05日
    浏览(32)
  • 由浅入深剖析 Apollo(阿波罗)架构

    目录 一、介绍 二、架构和模块 三、架构剖析 1.最简架构  2. 高可用保障  3.多接口扩展 四、总结 Apollo(阿波罗)是携程框架部研发并开源的一款生产级的配置中心产品,它能够集中管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的

    2024年02月13日
    浏览(28)
  • 由浅入深了解机器学习和GPT原理

    我不是一个机器学习专家,本来是一名软件工程师,与人工智能的互动很少。我一直渴望深入了解机器学习,但一直没有找到适合自己的入门方式。这就是为什么,当谷歌在2015年11月开源TensorFlow时,我非常兴奋,知道是时候开始学习之旅了。不想过于夸张,但对我来说,这就

    2024年02月09日
    浏览(23)
  • 【由浅入深学MySQL】- MySQL连接查询

    本系列为:MySQL数据库详解,为千锋教育资深Java教学老师独家创作 致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【点个关注】持续追更~ 文末有重点总结和福利内容! 技术类问题,也欢迎大家和我们沟通交流!

    2024年02月05日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包