深度学习基础模型算法原理及编程实现--02.线性单元

文章列表
1.深度学习基础模型算法原理及编程实现–01.感知机.
2.深度学习基础模型算法原理及编程实现–02.线性单元 .
3.深度学习基础模型算法原理及编程实现–03.全链接 .
4.深度学习基础模型算法原理及编程实现–04.改进神经网络的方法 .
5.深度学习基础模型算法原理及编程实现–05.卷积神经网络.
6.深度学习基础模型算法原理及编程实现–06.循环神经网络.
9.深度学习基础模型算法原理及编程实现–09.自编码网络.

深度学习基础模型算法原理及编程实现–02.线性单元

线性单元

感知机的激活函数为阶跃函数,输出为(+1,-1),只能用于分类问题。如果将其激活函数改为有连续输出值的函数,那么就可以用来解决回归问题。线性单元的激活函数 f f 可表示为f(x)=x,这样线性单元的返回值将是一个实数,而不是(+1,-1)分类,因此线性单元用来解决回归问题而不是分类问题。

图 1感知机模型
图 2线性单元模型

1线性单元的训练

对于数据集 T={(x1,y1),(x2,y2),......,(xN,yN)} T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . . . . , ( x N , y N ) } ,其中 xi x i 为输入元素, yi y i 为输出元素,线性单元的作用就是寻找合适的输入和输出之间的映射关系,从而解决回归问题。与一般的神经网络训练方法类似,线性单元的训练方法都可以归结为3个步骤,前向计算、误差项计算以及系数更新。

1.1.1前向计算

net=Wxi+b(1.1) (1.1) n e t = W x i + b

oi=f(net)(1.2) (1.2) o i = f ( n e t )

其中 xi x i 为第 i i 个输入元素, W为输入元素到节点的权重系数矩阵,表示输入相应于输出的重要性, b b 为偏置系数,某种意义上将表征了阈值的负数, net 为节点的加权输入, f f 为激活函数, oi为第 i i 个输入的输出项。线性单元中的激活函数定义如下:
(1.3)y=f(x)=x

1.1.2误差项计算

在介绍误差项之前,首先介绍目标函数,与感知机不同,线性单元的目标函数可以表示为:

E=12i=1N(yioi)2(1.4) (1.4) E = 1 2 ∑ i = 1 N ( y i − o i ) 2

其中系数项写成1/2是为了方便后面计算时能够将公式的系数项归一化, yi y i 为真实值,由此不难发现目标函数表征了输出值与真实值之间的误差。对于线性单元,上式可进一步整理为:
E=12i=1N(yiWxib)2(1.5) (1.5) E = 1 2 ∑ i = 1 N ( y i − W x i − b ) 2

为了使输出值与真实值尽量一致,应该寻找合适的 W W b使得目标函数的值最小。同样利用梯度下降法来解决,由于线性单元模型较为简单,目标函数对加权输入节点的偏导数对各参数求解的意义不大。而损失函数对权重系数及偏置项的偏导数可表示为:
EW(j)=i=1N(oiyi)xi(j)(1.6) (1.6) ∂ E ∂ W ( j ) = ∑ i = 1 N ( o i − y i ) x i ( j )

Eb=i=1N(oiyi)(1.7) (1.7) ∂ E ∂ b = ∑ i = 1 N ( o i − y i )

式(1.6)中的j表示输入项中的第j个元素,将其扩展成矢量形式,有:
EW=i=1N(oiyi)xi(1.6) (1.6) ∂ E ∂ W = ∑ i = 1 N ( o i − y i ) x i

1.1.3系数更新

W=WηEW(1.9) (1.9) W = W − η ∂ E ∂ W

b=bηEb(1.10) (1.10) b = b − η ∂ E ∂ b

1.1.4小结

1.2 编程实现

这里参考了“零基础入门深度学习(2)”中的编程实例,我觉得“零基础入门深度学习”是一个很好的学习资料。下面通过线性单元实现收入与工作时间的映射关系。由于线性单元算法编程实现比较简单,这里不再做详细说明,可直接参看上传的代码,或者自己手动编写一个。
python版本:https://pan.baidu.com/s/1qZLJ7Gg
C++版本:https://pan.baidu.com/s/1qZLJ7Gg

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值