深度学习入门--感知器

  • 深度学习是什么?
  • 感知器
  • 感知器的训练

深度学习是什么?
在人工智能领域,有个方法叫做机器学习。在机器学习的方法里,有一类算法叫神经网络。其原理如下图所示:
在这里插入图片描述
上图中的每个圆圈都是一个神经元,每条线表示神经元之间的链接。每一层内的神经元没有连接,每层之间的神经元有连接。 L a y e r L 1 Layer L_1 LayerL1是输入层,负责接受输入数据; L a y e r L 2 Layer L_2 LayerL2是隐藏层,往往用于提取输入数据的特征; L a y e r L 3 Layer L_3 LayerL3是输出层,将神经网络处理后的数据输出。
含有隐藏层数目较多(>2)的神经网络称为深度神经网络。隐藏层具有拟合数据的能力,当输入数据较为复杂时,为了有效的提取数据更深层次的特征往往需要多层神经网络。但是,深层神经网络也存在训练时间长,参数量大的缺点。
感知器
感知器–神经网络的组成单元。一个感知器是由一下几个部分组成:
输入权值 一个感知器可以接受多个输入 { x 1 , x 2 , . . . , x n ∣ x i ∈ ℜ } \{x_1,x_2, ...,x_n|x_i\in\Re\} {x1,x2,...,xnxi}, 每个输入都没分配一个权值 w i ∈ ℜ w_i\in\Re wi,此外,还有一个偏置项 b ∈ ℜ b\in\Re b,在图中为 w 0 w_0 w0.
激活函数 有很多感知器,不同的激活函数适用不同的任务。阶跃函数 f f f就是感知器的一种:
f ( z ) = { 1 ,    z > 0 0 ,    o t h e r w i s e f(z)=\left\{\begin{array}{l} 1,\ \ z>0\\ 0,\ \ otherwise\\ \end{array}\right. f(z)={1,  z>00,  otherwise
在这里插入图片描述

输出 感知器的输出通过下面公式转化
y = f ( w x + b ) y=f(wx+b) y=f(wx+b)
在这里插入图片描述
ex:设置不同的权重系数,来实现布尔运算(and 和 or)
阶跃函数中自变量 z > 0 z>0 z>0时,阶跃函数输出为1
阶跃函数中自变量 z < 0 z<0 z<0时,阶跃函数输出为0
布尔运算中的 and的真值表如下

x 1 x_1 x1 x 2 x_2 x2 y y y
000
010
100
111

只有取值同是1的时候,布尔 and 的的运算结果才是1.换句话说,只有当 x 1 + x 2 > 1 x_1+x_2>1 x1+x2>1时,函数输出结果才是1,当 x 1 + x 2 ≤ 1 x_1+x_2\leq1 x1+x21时,函数输出结果为0。四个红点分别是(0,0,0), (0,1,0), (1,0,0), (1,1,0)。落在在蓝色和绿色之间的曲面都可以实现and运算。蓝色曲面的 w 1 = 0.5 , w 2 = 0.5 , b = − 0.5 w_1=0.5,w_2=0.5,b=-0.5 w1=0.5,w2=0.5,b=0.5, 绿色曲面的 w 1 = 0.5 , w 2 = 0.5 , b = − 1 w_1=0.5,w_2=0.5,b=-1 w1=0.5,w2=0.5,b=1
在这里插入图片描述
matlab画图代码:

close all
w = [0.5,0.5,-0.5];
w = [0.5,0.5,-1];
[x1,x2,y2] = meshgrid(0:0.01:2,0:0.01:2,0);
y1 = w(1)*x1+w(2)*x2+w(3);

x3=[0,0,1,1];
x4=[0,1,0,1];
z=[0,0,0,0];

plot3(x1,x2,y1,'g')
hold on
mesh(x1,x2,y2)
plot3(x3,x4,z,'r.','MarkerSize',10) 
hold on
set(gca,'ZTick',[-2:0.5:2]);
xlabel('x1')
ylabel('x2')
zlabel('y')

根据上面的描述,可以很自然的理解,感知器可以实现线性分类,和线性回归 .
感知器的训练
首先对权重项初始化 w = 0 , b = 0 \boldsymbol{w}=\boldsymbol{0}, b=0 w=0,b=0, 利用梯度下降法迭代修改 w , b \boldsymbol{w}, b w,b
w k = w k − 1 + △ w k − 1 , b k = b k − 1 + b k − 1 \boldsymbol{w}^k = \boldsymbol{w}^{k-1}+\triangle\boldsymbol{w}^{k-1} , b^k =b^{k-1}+b^{k-1} wk=wk1+wk1,bk=bk1+bk1
其中, △ w k − 1 = η ( t − y ) x i , △ b k − 1 = η ( t − y ) \triangle \boldsymbol{w}^{k-1} = \eta(t-y)x_i, \triangle b^{k-1} = \eta (t-y) wk1=η(ty)xi,bk1=η(ty)
η \eta η是学习率, t t t是训练样本的实际值, y y y是感知器的输出值

参考文献:https://www.zybuluo.com/hanbingtao/note/433855

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值