当前位置: 首页 > wzjs >正文

泰州做企业网站中国制造网官网入口

泰州做企业网站,中国制造网官网入口,显卡服务器租用,电子购物网站建设一、前言 神经网络,顾名思义,它与我们大脑生物学里面讲到的神经元有关联。前辈们在研究早期人工智能的时候,就开始过我们的“交叉融合”,他们思考能不能把我们的人工智能的学习模式改造成我们人脑中神经元之间的学习方式——于是乎…

一、前言

神经网络,顾名思义,它与我们大脑生物学里面讲到的神经元有关联。前辈们在研究早期人工智能的时候,就开始过我们的“交叉融合”,他们思考能不能把我们的人工智能的学习模式改造成我们人脑中神经元之间的学习方式——于是乎,神经网络就诞生了

而我们的感知机就是我们神经网络中的基本单位,最早由弗兰克·罗森布拉特(Frank Rosenblatt)提出,但是很不幸的是,在当时那个年代,感知机没能获得较大成功,这里不过多介绍,但是感知机的出现,开创了神经网络的先河

弗兰克·罗森布拉特(Frank Rosenblatt)博士在“感知机”上工作, 还是个帅哥哦

那么我们将开始我们的神经网络学习之旅,一同揭开它神秘的面纱



二、什么是感知机

(1)类比

我们回想一下我们的神经元工作:当我们的刺激信号达到一定阈值过后,我们才能进行信号的传输(高中生物学),用图来表示即如下:

单输入的感知机

其中:

y = x_{1} \times w_{1}

我们可以设定一个阈值\theta,当我们的y大于这个阈值的时候,那么输出为1,反之则为0


(2)多输入情况

但是正常情况下,我们的神经网络不可能只有一个输入,感知机可以接收多个输入信号,输出一个信号,下面是两个输入的情况:

两输入的感知机

这个时候y的表达式为:

y = x_{1}\times w_{1} + x_{2}\times w_{2}

我们的阈值判断标准还是没变,可以用如下公式来说明:


(3)感知机的简单运用——与门

在数字电路的学习中,我们知道与门的工作原理,只有两个输入都为1时,我们的输出才为1,这时候我们的与门其实相当于一个感知机,两个输入,一个输出,那么我们可不可以来实现它呢?

Sure,我们只要设置合适的参数即可,这里我们用python代码来给大家展示一下:

def AND(x1, x2):w1, w2, theta = 0.5, 0.5, 0.7   #theta即我们设定的阈值tem = x1*w1 + x2*w2if(tem <= theta):return 0elif(tem > theta):return 1if __name__ == "__main__":a = AND(0,1)print(a)b = AND(1,1)print(b)

我们的输出结果如下:

 结果是符合我们的预期的

此外,我们还可以将我们的代码写出如下形式,即利用我们的numpy中的功能,使得更加直观:

import numpy as npdef AND(x1, x2):x = np.array([x1, x2])w = np.array([0.5, 0.5])y = np.sum(x*w)if(y < 1):return 0else:return 1if __name__ == "__main__":b = AND(1,1)print(b)

之后我们的代码也会写成这样,请注意 



三、权重与偏置的引入

在上面的介绍中,我们有以下公式:

y = x_{1}\times w_{1} + x_{2}\times w_{2}

这里我们没有说明w是什么,在这里我们一般把w叫做权重

而我们在前面提到的\theta,我们这里将其改写一下:\theta = -b,那么我们的y可以写成这个样子:

我们把b叫做偏置。

那么就有同学要问了:为什么要改成这个样子啊?

——这样做有几个原因,最重要的是它使得我们的式子更加数学化(比如上面是不是与我们直线方程相对应?或者说与我们的线性代数是不是有关联?),在后面的研究中更加方便

这样我们上面的与门代码可以写成这个样子:

import numpy as npdef AND(x1, x2):x = np.array([x1, x2])w = np.array([0.5, 0.5])b = -1y = np.sum(x*w) + bif(y < 0):return 0else:return 1if __name__ == "__main__":c = AND(1,1)print(c)



四、感知机的图解与局限

除了与门之外,我们的感知机还可以模拟我们的或门,与非门,这里不做展示,大家可以自己下来写一下代码

(1)图解:

那么我们再来看看我们这个式子:

我们主要看我们括号里面的东西,如果我们将x1、x2当作我们的x、y,那么这一个式子在数学上的含义表示的是一个直角坐标系(二维平面)的一个区间划分:

二输入的感知机图解

我们想一想我们的与门,总共我们可以输入4个不同的输入,对应的其实就是坐标系中的4个点:(0,0)(1,0)(0,1)(1,1),而我们的输出就只有0和1,那么由我们的权重还有偏置所设置的直线方程就将我们所有输出为1的点和所有为0的点分割开来了,如下图所示:

核心:一条线划分0和1

(2)局限

于是就会小伙伴想:那么异或门(XOR gate)可不可以呢?,即对于下面这张图,能不能用一条直线将我们的1与0分隔来:

聪明的你们有了答案:没有欸!——说明对于异或门来说,我们没法用我们的感知机来表示(单层感知机没法表示哦)

如果我们想要分隔开来,那么我们只能是用曲线的方式(非线性):

那么我们的感知机(单层)的缺陷就显示出来了:就在于它只能表示由一条直线分割的空间,没办法将我们的非线性空间表示出来。



五、多层感知机

(1)引入

存在缺陷,那么我们就要去改进或者更改

在数字电路的学习当中,我们知道我们的异或门可以写成如下形式:

或者是:

我们先来看看我们的第二种表达形式,与非门我们可以用之前的感知机表示出来,或门也同理,那么其实我们的异或门形式可以写成如下样子:

那么此时我们就发现,现在我们的感知机的层数变为了2层(也有的说是3层)这里,将最左边的 一列称为第0层,中间的一列称为第1层,最右边的一列称为第2层


(2)比较

对于单层感知机无法表示出来的东西,我们用多层感知机便可以很好地解决,通过加深层数,感知机能进行更加灵活的表示

补充:python相关知识

编者也是python初步,所以这一个板块主要对上面代码出现的一些知识点进行简单的讲解,读者可以忽略本部分:

(1)引入numpy的好处

相比于我们不用这个方法来创建我们的矩阵(一维或者多维),我们借助这个numpy可以很好地实现我们的矩阵之间的运算,例如我们之前写的代码中:

    x = np.array([x1, x2])w = np.array([0.5, 0.5])b = -1y = np.sum(x*w) + b

np.sum(x*w),这个方法就可以实现两个一维矩阵之间对应元素相乘

部分内容转载自:《深度学习入门:基于Python的理论与实现》(斋藤康毅)

http://www.dtcms.com/wzjs/544941.html

相关文章:

  • 网站实名审核中心优秀材料写作网站
  • 建设网站的软件徐州网站建设4
  • 网站开发如何使用微信登录手机wap文字游戏
  • 怎样创建网站域名平台青创网站首页
  • 什么网站做ppt好随州seo优化
  • 景区门户网站建设adsense wordpress
  • 756ka网站建设网站标志的原则
  • 广州专业网站建设后台管理便捷网站设计的原则不包括
  • 建设银行亚洲官方网站甘肃省住房城乡建设厅网站首页
  • 网站开发 招聘网站备案域名转公司
  • 建设银行青海省分行招聘网站wordpress 微信同步
  • 网站定向搜索广西住房与城乡建设厅网站电话
  • 网站建设与推广的实训报告中国建设银行官方网站登录
  • 做网站和c 哪个好wordpress搭建博客
  • 交互 网站菏泽微信小程序制作
  • 网站常见程序问题ui平面设计
  • 东莞做营销网站建设家教中介怎么利用网站来做的
  • 在什么网站能找到做外贸的邮箱如何查做的网站排名
  • 国家网站备案手机电脑网站
  • 网站建设技术服务计入什么科目做商务楼房型图网站
  • 哪个网站做二手车抵押召开网站群建设通知
  • 一个网站的seo优化有哪些张雪峰谈广告类专业
  • 浦东网站建设wordpress首页标题怎么修改
  • 泰兴网站建设吧net源码的网站建设步骤
  • 专业定制网站开发公司网页制作外包
  • 网站制作例子做网页推广有哪些公司
  • html设计网站交互网站设计
  • 育婴网站模板查备案怎么查询
  • 论坛类网站设计wordpress外国人留言
  • 龙岩网站改版较好的公司秦皇岛市有几个区县