《深度学习入门--基于python的理论与实现》读书笔记(第二章)

  • 写在前面
  • 第二章:感知机
    • 2.1感知机是什么
    • 2.2简单的逻辑电路
      • 2.2.1与门(and gate)
      • 2.2.2与非门和或门
    • 2.3感知机的实现
      • 2.3.1与门感知机的实现
      • 2.3.2导入权重和偏置
      • 2.3.3使用权重和偏置的实现
    • 2.4感知机的局限性
      • 2.4.1异或门
      • 2.4.2线性和非线性
    • 2.5多层感知机
      • 2.5.1已有门电路组合
    • 2.6从非门到计算机
    • 2.7本章小结

写在前面

终于研究生的事情告一段落,没想到研究生还能做自己喜欢的领域,导师人也很好。从今天开始再把基础完整的过一遍,沉下心来去学一门知识,做好一件事。

第二章:感知机

学习目的:感知机作为神经网络(深度学习)的起源算法,因此学习感知机的构造也就是学习通向神经网络和深度学习的一种重要思想。

2.1感知机是什么

感知机接收多个信号,输出一个信号。但是感知机的信号只有“流/不流”(1/0)两种。0对应“不传递信号”,1对“应传递信号”。

其中x1、x2作为两个输入信号,y为输出信号,w1,w2是权重(weight的首字母)。图中的○称为“神经元”或者“节点”。输入信号被送往神经元时,会分别乘以固定对应的权重(w1x1,w2x2).神经元会计算传送过来的信号总和w1x1+w2x2,只有当这个总和超过了某个界定的值时,才会输出1,也称为“神经元被激活”。这里称这个界定的值为“阈值”

感知机的多个输入信号都有自己的权重,这些权重发挥着控制各个信号的重要性的作用。权重越大,对应该权重的信号的重要程度就越大。

2.2简单的逻辑电路

2.2.1与门(and gate)

与门是有两个输入一个输出的门电路。与门仅在两个输入均为1时输出位1,其余都为0。

那么如何用感知机来表示这个与门?其实有无数种表示方法:(w1,w2,)=(0.5,0.5,0.7),(w1,w2,)=(0.5,0.5,0.8)或者(w1,w2,)=(1.0,1.0,1.0)

2.2.2与非门和或门

与非门就是颠倒了与门的输出结果 ,仅当x1,x2同时为1时,输出结果为0,其余都为1。

那么如何用感知机来表示这个与门?其实有无数种表示方法:只要实现把与门的参数值的符号取反就能实现与非门。

或门是“只要有一个输入信号是1,输出就为1”

tips:感知机是人工干预考虑了参数的值,而机器学习的课题就是将这个决定参数的工作让计算机自动进行。学习是确定合适的参数的过程,而人要做的是思考感知机的构造(模型),并把训练数据交给计算机。

2.3感知机的实现

2.3.1与门感知机的实现

与门感知机

def END(x1,x2):#定义一个感知机的函数w1,w2,theta=0.5,0.5,0.7tmp=x1*w1+x2*w2if tmp<=theta:return 0elif tmp>theta:return 1

2.3.2导入权重和偏置


虽然与上一个式子符号不同,但是表达的内容是完全一样的。其中b成为偏置(bias);w1,w2称为权重(weight)。感知机会计算输入信号和权重的乘积,然后再加上偏置,如果这个值大于0则输出1,如果小于0则输出0。

2.3.3使用权重和偏置的实现

使用权重和偏置实现与门

def AND(x1,x2):x=np.array([x1,x2])w=np.array([0.5,0.5])b=-0.7temp=np.sum(w*x)+bif temp<=0:return 0else:return 1

==其中w1,w2是控制输入信号重要性的参数,而偏置是调整神经元被激活的难易程度的参数。==比如b=-0.1,则只要输入信号的加权和大于-0.1,神经元就会被激活;如果b=20,则输入信号的加权和大于20,神经元才能被激活。

使用权重和偏置实现与非门

def NEND(x1,x2):x=np.array([x1,x2])w=np.array([-0.5,-0.5])#仅权重和偏置与AND不同!b=-0.7temp=np.sum(w*x)+bif temp<=0:return 0else:return 1

使用权重和偏置实现或门

def OR(x1,x2):x=np.array([x1,x2])w=np.array([0.5,0.5])b=-0.2temp=np.sum(w*x)+bif temp>=0:return 1else:return 0

与门、与非门、或门是具有相同构造的感知机,区别仅在于他们的权重和偏置参数不一样。因此仅通过设置不同的权重和参数的值就能实现不同的感知机。

2.4感知机的局限性

2.4.1异或门

异或门也被称为逻辑异或电路,仅当x1或x2中的一方为1时,才输出1,其余都为0。

其实用感知机是无法实现异或门的!
首先说一下或门,当(b,w1,w2)=(-0.5,1,1)时,满足或门的真值表。此时感知机可表示为

根据式子(2.3)可以得知,直线0.5+x1+x2=0把空间分为两个部分,其中一个输出为1,一个输出为0.

其中黄色部分为感知机输出为0的区域,图中三角形表示0,菱形表示1,要实现感知机,只需要把三角形和菱形分开就行。图中蓝色 的直线也将三角形和菱形分开了。
那么换成异或门来看看?

很显然,一条直线已经不能把三角形和菱形分开了!

2.4.2线性和非线性

上图中无法用一条直线将三角形和菱形分开,但如果把“直线”这条限制去掉就可以了。
感知机的局限性就在于他只能表示由一条直线分割的空间。弯曲的曲线就不能用感知机表示

如图,这样由曲线分割而成的空间称为非线性空间,由直线分割而成的空间称为线性空间。

2.5多层感知机

2.5.1已有门电路组合

单层感知机无法表示异或门,单层感知机无法分离线性空间。但是组合感知机(叠加层)可以实现异或门。


异或门的实现

def X1OR(x1,x2):s1=NAND(x1,x2)s2=OR(x1,x2)y=AND(s1,s2)return y


异或门是一种多层结构的神经网络,将最左边的一列称为第0层,中间的一列称为第1层。与门,或门是单层感知机,而异或门是2层感知机。叠加了多层的感知机称为多层感知机。

tips:上图所示的感知机由3层构成,但实质上拥有权重的层实质上只有2层(第0层和第1层,第1层和第2层之间),所以称之为2层感知机,不过有的文献认为其是三层构成的,称为“3层感知机”

单层感知机无法表示的东西,通过增加一层就可以解决,也就是说通过叠加层(加深层),感知机就能灵活的表示。

2.6从非门到计算机

已有研究表明:2层感知机(严格的说是激活函数使用了非线性的sigmoid函数的感知机)可以表示任意函数

2.7本章小结

1.感知机是具有输入和输出的算法。给定一个输入之后,并输出一个既定的值

2.感知机将权重和偏置设定为参数

3.使用感知机可以表示与门和或门等逻辑电路

4.异或门无法通过单层感知机来表示

5.使用2层感知机可以实现异或门

6.单层感知机只能表示线性空间,而多层感知机可以表示非线性空间

7.多层感知机在理论上可以表示计算机

《深度学习入门--基于python的理论与实现》——斋藤康毅读书笔记相关推荐

  1. 深度学习入门-基于Python的理论与实现-斋藤康毅(待续)

    神经网络的学习 损失函数 一般用均方误差和交叉熵误差函数 均方误差: 交叉熵误差函数: 基于im2col展开 因为老实做卷积,会有很多for循环,而且很慢 所以用im2col函数来避免使用for循环 ...

  2. 深度学习入门 基于Python的理论与实现

    作者:斋藤康毅 出版社:人民邮电出版社 品牌:iTuring 出版时间:2018-07-01 深度学习入门 基于Python的理论与实现

  3. 《深度学习入门——基于Python的理论与实现》笔记

    PS:写这篇博客主要是记录下自己认为重要的部分以及阅读中遇到的些问题,加深自己的印象. 附上电子书及源代码: 链接:https://pan.baidu.com/s/1f2VFcnXSSK-u3wuvg ...

  4. 深度学习入门-基于Python的理论入门与实现源代码加mnist数据集下载推荐

    深度学习入门-基于Python的理论入门与实现源代码加mnist数据集下载推荐 书籍封面 1-图灵网站下载 书里也说了,可以图灵网站下载https://www.ituring.com.cn/book/ ...

  5. 《深度学习入门-基于Python的理论与实现》学习笔记1

    <深度学习入门-基于Python的理论与实现>学习笔记1 第一章Python入门 Python是一个简单.易读.易记的编程语言,可以用类似于英语的语法进行编写程序,可读性高,且能写出高性能 ...

  6. 深度学习入门基于Python的理论与实现_第一章_Python入门(原创笔记)

    前言 此书使用Python作为编程语言,尽可能地少使用外部库,从零开始实现深度学习的程序. 此书从简单的机器学习问题开始,最终实现一个能高精度地识别图像的系统. 此书以图像识别为主题,主要学习使用深度 ...

  7. python从入门到精通 邮电出版社_《人民邮电出版社Python深度学习入门:基于PYTHON的理论与实现》【价格 目录 书评 正版】_中国图书网...

    译者序 xiii 前言 xv 第 1 章 Python入门 1 1.1 Python是什么 1 1.2 Python的安装 2 1.2.1 Python版本 2 1.2.2 使用的外部库 2 1.2. ...

  8. 《深度学习入门——基于Python的理论与实现》斋藤康毅学习笔记(二)

    第二章 感知机 1逻辑门 错误:python 出现的异常 inconsistent use of tabs and spaces in indentation 意思是:在缩进中不一致地使用制表符和空格 ...

  9. 《深度学习入门——基于Python的理论与实现》斋藤康毅学习笔记(一)

    第一章 (只将自己有疑惑并得到解决的学习内容作以下笔记) 1.python解释器 1.1数组 错误:a[ : -1] 不是获取所有元素 修改:a[ : -1]表示获取从第一个元素到最后一个元素之间的元 ...

最新文章

  1. 如何在WordPress中自定义PHP页面并操作数据库?
  2. mysql主从整套方案_Mysql主从方案
  3. php获得注册信息,PHP网络编程:获取用户的注册信息[2]
  4. 信息系统项目管理师-项目成熟度模型、量化项目管理核心知识点思维脑图
  5. 因式分解 (10 分)
  6. MySQL与MariaDB概述 (二)
  7. 摄像头系统linux,Linux摄像头编程
  8. Gemini创始人:如果我是GameStop CEO 接下来我会买BTC
  9. 项目小记: IFRAME引起内存泄露的解决方法
  10. Windows超级管理器,堪比火绒管家
  11. cfree编译报错[Error] g++.exe: 5\mingw\lib\: No such file or directory
  12. 续费Enom域名的三种办法
  13. powerpoint和word内使用latex编辑公式
  14. 3、Dubbo急速入门
  15. .NET报错:所生成项目的处理器框架“MSIL”与引用“xxx”的处理器架构“AMD64”不匹配
  16. 工业4.0:换热站最酷设计—— Web SCADA 工业组态软件界面
  17. api有哪些 javasocket_Java原生Socket API
  18. 七年级上册英语第三单元单词课文翻译
  19. EBS 销售RMA接收报错VALIDATE_RMA_LOT_QUANTITIES_ERROR
  20. HSPC氢化大豆磷脂酰胆碱CAS92128-87-5

热门文章

  1. 拼多多商品详情接口测试及申请
  2. 【能力提升】SQL Server常见问题介绍及快速解决建议
  3. 未知的事情,发生在未知的时候
  4. 寻找亚马逊测评师邮箱_亚马逊测评中介怎么弄
  5. CentOS7安装FATE1.5
  6. 类似淘宝不规则九宫格
  7. 电子设计教程36:LC并联谐振滤波器
  8. 【QT项目——视频播放器——音频录制】6.1QAudioFormat音频播放
  9. 蓝叠安卓模拟器服务器未响应,BlueStacks卡顿怎样办 蓝叠安卓模拟器很卡处理办法...
  10. 支持4K30帧的海鸟4K潜水套装上手体验