神经网络误差函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于误差函数的深入研究姓名:李宏成
学号:6720130345
摘要
我写这篇文章的目的意在补充老师上课中遗留的一些问题以及我自身对神经网络中误差函数的一些看法。

文章涉及到hebb学习规则中误差函数推导过程,非线性传输函数中误差函数推导过程以及感知机的误差函数证明。

如有不足之处,敬请谅解。

1.Hebb 学习规则中误差函数的推导过程
首先,在推导过程中我们首先要问问自己为什么我们要选择最小二乘?有许多东西都可以被优化,为什么我们要选择这样的指标(()()
∑=-=
m
i T
P W T W F 1
2
)?
其次,理论的推导过程是以有监督hebb 学习规则为前提,采用的传输函数是类似于线性联想器的purelin 函数。

此函数为一过原点且斜率为1的直线,因此整个系统的输出结果就可以直接认为是该系统的净输入。

在这里,我们先定义如下几个基本参数 m 表示训练的样本数目 p 表示输入变量
a 表示实际输出 w 表示权值参数
于是()a p ,就构成了一个训练样本,更一般的()
()
()(
)p a
p i i ,表示第i 列训练样本集。

所以,
我们可以用如下表达式来表述成我们所预想的结果:
()n n p w p w p w p a +++=...1100 (1.1)
为了突出权值在实际输出函数()p a 中的作用和更具有真实性质,以上式(1.1)子我们可以改写成:
()B p w p w p w p a n n w ++++=...1100 (1.2)
其中B 是一个偏置项,你可以把偏置项看成是对未建模事物产生的效应的一种估测。

我们举个例子,购买房屋时我们主要是考虑房子每平米的价格,地理位置等主要特征(这里所指的权值),也许房子还有其它的特征比如说朝向,楼层高度,是否有电梯等因素。

用矩阵形式表示(1.2)可以改写成:
()
()()()()i i T i i i n
i i w
b p W b p w p a +=+∑==1
(1.3)
现在我们假设偏置项()
i b 服从均值为0,方差为2
∂的高斯分布,那么它的概率密度函数可以表示为: ()
()
()()
()()()(
)⎪
⎪⎭
⎫ ⎝
⎛--=⎪⎪⎭⎫ ⎝⎛-=22
222exp 212exp 21σσπσσπi T i w
i i p W p a b b
f (1.4)
观察等式(1.4)的右半部分,我们不难看出输出项()
i w a 服从均值为()
i T
P W ,方差为2
∂的高
斯分布。

这里假设不同输入对应的偏置项()
i p 是彼此独立同分布的,这意味着它们都服从均值和方差完全相同的高斯分布。

现在我们定义一个似然性函数:
()()()()
⎪⎪⎭


⎛--=⎪⎪⎭⎫ ⎝⎛-=22
222exp 21
2exp 21σσπσσπP W p a B W L T w (1.5)
由于所有的不同输入对应的偏置项都是彼此独立同分布的,则按上式列拆开就可以改写成:
()()()()(
)∏
=⎪
⎪⎭
⎫ ⎝
⎛--=m
i i T i w
p W p a W L 1
22
2exp 21
σσπ (1.6)
似然性越好,拟合的程度也就越高。

这里我们通过调节权值矩阵W 来使得样本点尽可能的落在拟合线上或者是它附近区域内。

这样我们才能够更精确地预测到所需要得到结果的最大概率。

为了使得数学运算简便,我们定义()W l =()()W L ln 称之为对数似然性函数。

这样,上式我们可以进一步得到:
()()()()()
⎪⎪⎭


⎛⎪⎪⎭⎫ ⎝
⎛--=∏=m i i T i w
p W p a W l 1
22
2exp 21
ln σσπ (1.7)()()()()
()
⎪⎪⎭


⎛⎪⎪⎭⎫ ⎝⎛--∑==2
2
12exp 21ln σσπi T i w
m
i p W p a W l ()()()()
()
∑=⎪⎪⎭
⎫ ⎝

--
-=m
i i T
i w
p W
p a W l 12
2
22ln
σσπ ()()()()()
()
∑=⎪⎪⎭
⎫ ⎝

-+
-=m i i T
i w
p W
p a W l 12
2
22ln
σ
σπ()(
)
()()()
()
2
1
2
1
22ln
σ
σπ∑∑==--
-=m
i i T
i w
m
i p W
p a W l
(1.8)
所以,要使得()w L 最大则只需
()()()
∑=-m
i i T
i
w
P W
a 1
2
最小即可。

在这里我们又定义函数:
()()()
(
)2
1
∑=-=m
i i T
i w
p
W p a w F (1.9)
当()w F 等于零时,这个系统的似然性取得最大值。

说明此模型的拟合度达到最佳状态;当
()w F 不等于零时,这个系统的似然性不为最大值,因此就说明此模型存在一定的误差。

其实,在某种意义上来说,似然性可以等价为训练样本与拟合线之间的距离。

当训练样
本越靠近拟合线,取到这点的概率就越大,相应的似然程度就越高;当训练样本远离拟合线时,取到这点的概率越小,相应的似然程度也就越低。

这里,我们不妨将()w F 用矩阵的形式表示,即为:
()()()
2
1∑=-=m
i T W P W p a W F (1.10)
此函数即为这个模型的误差函数。

值得注意的是,此误差函数()W F 的推导过程是建立在彼此独立且同为高斯分布的基础之上。

但是,这并不能否认其不适用于其他模型。

对于式子 ()b P W p a T W +=中其实我们可以将偏置项b 看成是整个系统的次要特征项
(其中权值矩阵W 是这个系统的主要特征矩阵),或者你也可以认为它就是误差项。

由于不同输入向量对应
着不同的偏置向量()i b 且()
i b 是彼此独立且同高斯分布的,所以,根据中心极限定理对大量
离散()
i b 进行抽样所得的抽样分布依然是服从高斯分布的。

实际上,我们生活中有很多的问题都可以近似地认为是高斯分布比如说噪声的概率密度分布就可以近似地认为是服从正态
分布的。

2.非线性误差函数的推导过程
上述所介绍的最小二乘是建立在偏置项满足高斯分布且独立同分布的情况下,使似然性达到最大值,从而判断出误差函数()W F 的具体解析式,它实际上是一种基于线性回归思想的建模方法。

在某些情况下应用线性回归能够有效地解决一些问题,但是通常情况下应用线性回归解决问题将会是一个很糟糕的主意。

如图所示:
其中蓝色小圆点表示原来的训练样本集,此时运用线性回归拟合出一条蓝色的直线。

通过图形我们可以看出每个蓝色小圆点都均匀地分布在蓝色拟合线附近,拟合的程度是比较理想的。

因此我们能够预测下一点在哪个区域内出现的概率最大。

但是,当我们向训练集里添加三个用红色小圆点表示的新的训练样本并且这三个样本与原样本距离较远时,通过对全局的拟合我们可以得出红色的拟合线。

由图中我们可以非常清晰地看出新生成的训练样本与红色拟合线之间的距离变大了,这意味着()W F 增大了并且随着新增样本点离原样本点的距离增大导致误差函数也变得越来越大。

因此,在这种情况下采用线性回归来说是极不明智的选择。

下面我们来引入非线性回归。

现在我们来假设一种简单的情况: 1.设目标向量()
i T
中每个元素()
i j T 不是0就是1。

2.我们希望输出向量()
()p a i w 中的每个元素()i j a ()1,0∈,至少不能比0小太多,比1大太多(这
个其实就相当于净输入通过一个类似于hardlim 函数)。

3.由于我们现在研究的是非线性回归问题,所以这里我们不会选择线性函数。

(比如说purelin 函数)
根据上述3个假设要求,我们这里选取()()b
P W
W T
e p a +-+=
11
,也就是logsig 函数。

其实选
择这个函数是非常具有代表性的,它是研究伯努利分布回归所得到的指数分布函数(从指数分布簇里得来的),而大量的伯努利实验所得到的离散采样点可以近似看成服从高斯分布的,而且通过伯努利分布回归的进一步推广可以导出softmax 回归算法。

此算法的特点是能够解决k 重分类问题所以此函数意义可想而知。

这里由于篇幅所限就不多说了。

回归正题:为了求非线性回归的误差函数,就必然牵扯到似然性,而似然性在某种程度上可以等价为预测点所处的最大概率区间。

因此我们定义:
()W p T P W ;/表示为在权值矩阵W 下,输入向量p ,目标输出向量W T 距离拟合线的概率。

这个概率越大就表示样本越接近拟合线也就是说取到这点的概率也就越大。

对于每一列中每一个元素我们可以改写成:
()()
()
j i j i j w p T P ;/即表示每一列中每一输入对应每一列每一目标输出距离拟合线的概率。

因此,我们需要使得:
()()
()
()i j j i
j i j a w p T P ==,/1 (2.1)
()()
()()i
j
j
i
j
i
j
a w p T P -==1,/0 (2.2)
两式合并可以写成:
()()
(
)()
()()
()
()
()
i j i j T i j
T i j
j i j i j a a w p T P --=11,/ (2.3)
现在我们设()()()W l W L ln =,假设每对输入输出向量都是独立互不影响的,则有:
()()()
()
()
()
()
()()
()
()()
()
∏∏=-=-===m
i T i W
T i W m
i i i W W i i p a p a W p T P W p T P W l 1
11
1;/;/ (2.4)
然后对等式两边取自然对数得到:
()()()()()()()
()()[]
∑=--+=m
i i w i i w
i p a T p a T W L 11ln 1ln (2.5) 对于上式来说,我们的目的是需要找到一个最佳的权值矩阵W 使得似然性()W L 取得最大值。

因此我们这里可以采用与梯度下降算法相同的批梯度上升算法使得()W L 最大化。

现在对权值矩阵W 的偏导:
()()()
()[
]()
()()
()
()()()
()⎭
⎬⎫⎥⎦⎤⎢⎣⎡-'--+⎪

⎪⎨⎧'=∂∂∑=p a p a T p a p a T W W L i w i w i m i i w i w i 1][11 (2.6)
()()()[]()()()()()[
]()()
()[]
()
()⎪⎭

⎬⎫-'-'+⎪⎩⎪⎨⎧'=∂∂∑=p a p a T p a p a T p a W W L i w i w i i w m i i w i i w 11
(){()()[]()()()()()[
]
()()()()()[]()()()()()[]
()()(
)
()
()}p a p a p a p a T p a p a T p a p a T p a W W L i w i w i w i w i i w i w i i w i w i i w m
i -'-'+'-'=∂∂∑=11
()()()()(
)()
()[]
()()(
)
()
()⎪⎭

⎬⎫⎪

⎪⎨⎧-'-=∂∂∑=m i i w i w i w
i w i p a p a p a p a T W W L 11 (2.7)
这里将()(
)b
P W W T e p a +-+=
11
带入(2.7)
,则我们可以得到: ()()()()()
()()()()()
()⎪⎪⎪⎭

⎪⎪⎬⎫
⎪⎪⎪⎩
⎪⎪⎪⎨
⎧+⎪⎭⎫ ⎝⎛+-⎪⎪⎭⎫ ⎝⎛
'⎥⎦⎤⎢⎣⎡+-=∂∂∑=+-+-+-m i b P W b P W b P W i w i i T i T i T e e e p a T W W L 11111111 (2.8)
()()()()()
()()()()()()
()()()
()⎪⎪⎪⎭
⎪⎪⎪⎬⎫⎪⎪⎪⎩
⎪⎪⎪⎨
⎧+⎪⎭⎫ ⎝⎛+-⎪⎪⎭⎫ ⎝⎛+-=∂∂∑=+-+-+-+-m i b P W b P W b P W b P W i i w i i T i T i T i T e e e e P p a T W W L 12111111
()()()()(
)
()()()()
()()(
)
()()⎪⎪⎭
⎪⎪⎬⎫
⎪⎪⎩
⎪⎪⎨

⎪⎭⎫ ⎝⎛+-+-=∂∂∑=+-+-+-m i b P W b P W b P W i i w i i T i T i T e e e
P p a T W W L 11111
()()()
()()
()∑=-=∂∂m i i i w i P p a T W W L 1
(2.9)

()0=∂∂W W L 时,()W L 取得极值点,必须使得()()
()()
01
=-∑=m i i w i p a T 。

当此式不为零的时候,()W L 就不可能取得到最大值,似然性就不可能达到最佳状态。

换句话来说,此模型就产生了误差。

因此()()()()()∑=-=
m
i i
w
i
U p a T W F 1
即为这个非线性回归模型的误差函数。

这里特
别需要注意与非线性误差函数()()()2
1
∑=-=
m
i T
W
P W p a W F 的区别,它们看起来好像是相同
的但是实际上是两个完全不同的算法所对应的误差函数,这是因为它们采用的传输函数是不一样的。

然后,我们根据梯度上升公式:()W L W W old new
∇+=α(其中α为学习速率)
,将上式(2.9)带入得:
()()
()()
()∑=-+=m
i i i w
i old
new
P p a T W
W
1
α (2.10) 公式推导到这里,大家是不是觉得这个公式非常熟悉?其实我们这里可以把logsig 函数换成
hradlim 函数,因为它们的值域和定义域都是相同的。

但是hardlim 函数比较特殊,它输出的不是0就是1,缺少变数。

因此它的误差函数()()()()()∑=-=
m
i i
w
i
U p a T W F 1取值就为-1,1,0。

我们这里采用随机梯度上升算法,因此上式就可以改写成:
()()
()()
()i i w
i old new P p a T W W -+=α (2.11) 我们不妨将(2.11)写成
()()i i old new P e W W α+= (2.12)
其中()()()
()p a T e i w i i -=。

其实,式(2.12)就是一个带学习速率的感知机学习规则。

3.总结
关于误差函数的总结,我觉得也是对于神经网络的总结。

神经网络不同于某些确定性的学科可以通过固定的模式和编程使得我们获得正确的结果与答案,这样做固然是正确的但是却缺少变数。

而神经网络的魅力就在于误差函数的存在导致结果的不确定性从而能够产生许多种未知的结果。

误差是把双刃剑,一方面阻碍了问题的解决;但是我们不妨反过来想想:如果使若干个具有较大误差的多层神经网络模型经过大量训练使得误差减小到一定程度,然后把所学习到的“知识”和“经验”传递到下一层网络中,再把这层误差进行放大然后再经过大量训练使得误差减小然后再将所学习的“知识”和“经验”传递到下一层,如此迭代下去,这个神经网络是不是会变得越来越“聪明”呢?是不是判别事物的速度会越来越快呢?考虑问题是不是更全面呢?这里再次感谢Arthur Samuel先生对人工智能做出的杰出贡献,我认为他的西洋棋程序是第一次有利的反驳了计算机只能朝着人类设定的方向发展。

其实,人类的发展就是一个犯错误然后改正学习吸取经验教训到再犯错误的循环过程。

那么计算机何尝不可以这样呢?。

相关文档
最新文档