八、神经网络

1 为什么要用神经网络

用来解决特征太多、参数太多,计算量太大,甚至发生过拟合的问题
对于一个只有两个变量的二分类问题,我们可以建立以下的分类边界表达式,并带入Sigmoid函数中,因为变量较少,我们可以很容易找到两个变量组合的一次方项、二次方项、三次方项…。通过梯度下降就可以找到如图所示得到分类边界:
在这里插入图片描述
但是如果我们要对一个一张50×50的灰度图片进行分类,判定其是否为汽车,则该照片里共有2500个像素点,也就有2500个变量,则其进行组合的一次方项、二次方项、三次方项…有非常多,也就导致很多很多的特征,这不仅增加了计算开销,还可能引发过拟合。而采用神经网络可以很好的解决这一问题。

2 神经网络的表示

2.1 神经元

Logistics回归的函数就是一种简单的神经元表达模型,对输入的x1, x2, x3进行一定的计算,然后输出hθ(x),就像神经元传递信号一样。有时候还会加上x0=1的输入项,称之为偏置神经元或偏置单元。
在这里插入图片描述

2.2 神经网络

Layer 1也叫输入层,Layer 2也叫隐层(在训练过程中看不到,可以不止一个隐层),Layer 3 也叫输出层。
还可以有更多层,层与层之间神经元的连接方式称为神经网络的架构。
在这里插入图片描述

2.2.1 符号定义

ai(j):第j层第i个神经元的激活函数,表示将对该神经元的输入做何种运算。
Θ(j):一个权重矩阵,控制着从第j层到第j+1层的激活函数的映射
在这里插入图片描述
这里的Θ(1)是3×4的矩阵,即:若神经网络的第j层有sj个神经元,第j+1层有sj+1个神经元,则Θ(j)的维度是sj+1×(sj+1)
将图片中括号里的式子分别用z1(2), z2(2), z3(2)表示,其中上标表示第2层,即:

  • z1(2) = Θ10(1)x0 + Θ11(1)x1 + Θ12(1)x2 + Θ13(1)x3
  • z2(2) = ……
  • z3(2) = ……

2.2.2 向量化

在这里插入图片描述
注意:此处z(2)是三维向量,因为z(2)有三个变量,其本身是一个3×1矩阵(矩阵的维度和向量的维度不是一个概念)
则:在这里插入图片描述
其中:z(2)也可以写为z(2) = Θ(1)a(1),此处把s看做第一个激活层。把偏置单元加上:
在这里插入图片描述
则a(2)就是四维向量了,由此可以通过向量运算的方法计算出hθ(x)。这个过程右称为前向传播过程

2.2.3 神经网络所使用的特征

在这里插入图片描述
该神经网络的功能和Logistics回归一样,只不过没有直接使用x1, x2, x3作为特征,而是使用了a1(2), a2(2), a3(2)作为特征,而a1(2), a2(2), a3(2)是它自己训练出来的。

3 非线性模型例子

3.1 能实现“与”功能的神经网络

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 能实现“或”功能的神经网络

在这里插入图片描述

3.3 能实现“非”功能的神经网络

在这里插入图片描述

3.4 能实现“同或”功能的神经网络

在这里插入图片描述
在这里插入图片描述
其实是简单功能神经元的堆叠,而堆叠原则与逻辑运算原理有关

3.5 实现多分类

建立一个有四个输出的神经网络(四个Logistics回归神经网络),用第一个输出神经元判断是否是行人,第二个判断是否是汽车……
在这里插入图片描述
使用训练集进行训练:
在这里插入图片描述
训练的目标是:
在这里插入图片描述
其中hΘ(x(i))和y(i)都是四维向量,即对于任意一个图片输入,其输出都是一个四维向量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值