机器学习——神经网络基础

机器学习(十一)

——神经网络基础

(原创内容,转载请注明来源,谢谢)

一、概述

神经网络,可以理解为输入的内容,经过一系列的内部的处理,得到输出的假设函数。简单的神经网络如下图:

可以看出,三个输入,经过中间的变化,得到输出。中间橙色的圈,称为神经元。神经元可以分层,下图是三层神经网络模型:

其中,第一层蓝色的圈,叫做输入层;中间一层橙色的圈叫做隐藏层;右边的橙色圈叫做输出层。神经网络有一个输入层和一个输出层,隐藏层可以有多层。神经元的连接方式,称为神经网络的架构。

二、基本公式

上图的三层神经网络,ai(j)表示的是第j层、第i个变量。每个变量都是由上一层计算得到的,计算公式如下图:

用zi(j)表示对应的ai(j)的式子中的g函数内部的式子,可以看出,神经元实质上就是输入的变量经过若干个线性变换,得到输出。

上图的xi,都省略了x0,x0一直都是1。另外,g(z)即logistic回归中的g(z)函数,即g(z)=1/(1+e-θTx)

三、具体例子

现要使用神经网络实现与、或、非、异或的逻辑运算。

1、与

假设有两个特征值x1、x2,他们的取值范围是或1,y=x1&&x2,由g(z)的公式,可以大致推导出,z=4时y约等于1,z=-4时y约等于。则可以假设h(x)=g(z)=g(-30+20x1+20x2)(其中x0=1),神经网络如下图所示:

则此时即表示实现了一个具有“与”功能的神经元。

2、或

类似与,或可以用如下假设方式:

3、非

非的表示方式如下:

4、非异或

非异或(XNOR),即异或的结果再进行非操作。此时,用到了三层的神经网络,中间一层是隐藏层,用于计算异或,并把结果传到第三层进行处理后输出。

根据异或的公式,可以知道x1XOR x2,则x1或x2中1个是1的时候结果是1,否则是,则XNOR则是x1和x2都是1,或者x1和x2都不是1的情况。

因此,第二层,则计算了x1和x2都是1,或者x1和x2都不是1的情况。分别是红色的圈和蓝色的圈的表示。

第三层进行或运算,接收第二层的结果。

四、多变量情况

多变量情况,类似上面的内容,下面是例如要区分一个图片是轿车、人、摩托车、卡车的简易神经网络(没有具体过程,就是粗略模型)。

实际上,就是将输入的图片的像素点,经过若干隐藏层的处理后,进行输出。

——written by linhxx 2018.01.09

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180109B0AHWS00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区