偏置、正规方程和代价函数

2018-11-11  本文已影响0人  bettercallsoul

1 神经网络中偏置的意义

在深度学习中,我们经常能看到\omega x+b这样的表达式,例如在有一层隐藏层的前馈网络中,定义隐藏层\phi ,激活函数g,对于输入x,我们有映射后的特征空间g(\omega x+b),其中\omega 是权重矩阵,那么b代表什么意义呢?如果不加参数b,即g(\omega x)还能得到我们需要的结果吗?

参数b就是偏置单元,一般也称为偏置项,决定了神经网络产生正负激励的难易程度。以二分类问题为例,我们知道,对于一组特定的输入x,网络会产生对应的所属类别的输出,即0或1,权重矩阵\omega 会决定x是倾向于0还是1,那么如果倾向于0,到底到什么程度可以认为x属于0呢?偏置b就可以认为我们为网络设置了一个阈值,当到达这个阈值时,网络就会确定产生对应的输出。

举一个日常生活中看书的例子来说明一下偏置的作用(可能不是很准确,但表达的意义差不多)。假如现在有一本新书出版了,爱看书的小明在纠结要不要买来看,决定小明买或不买的因素有三个:价格、书的作者、出版社,我们假设这三个因素所占的权重相等都为\omega =1,如果偏置b=1,也就是三个因素中只要满足其中任何一个(价格合适||作者是小明喜欢的||出版社很棒)小明就会买来看,如果b=2,那么需要同时满足其中两个因素,如果b=3,就需要三个因素同时满足,当b设置超过3时,就表示无论如何小明不会买这本书。

偏置单元有时候也能理解为截距项,就是函数的截距,与一般的线性方程y=Wx+b中的b的意义是一样的,控制着函数偏离原点的距离。如图1.1,可以直观看出一条过原点的直线是无法将样本空间成功分开的,需要平移一段距离b

图1.1 一般线性空间

2 正规方程

训练一个神经网络和构建一个机器学习模型一样,代价函数J(\theta )都是决定参数好坏的重要指标。在线性回归问题中,一般通过梯度下降法求得J(\theta )的最小值,但是梯度下降法需要手动选择一个合适的学习率\alpha 从而保证收敛速度,对于\alpha 的调整往往是一件极其恼火的事。因此,在某些情况下,我们也可以通过正规方程来最小化J(\theta )

可以这样理解:正规方程是从纯数学推导的角度来求得能够使J(\theta )最小的\theta 值。正规方程的推导过程可以参考吴恩达的视频。这里直接给出结果:

图2.1 正规方程的解

其中,X表示输入向量矩阵,y为目标输出向量。

梯度下降和正规方程的对比如下(引用自:正规方程):

图2.2 梯度下降和正规方程对比

3 代价函数

代价函数J(\theta )是衡量模型预测值与真实值之间差异的函数,用来评估模型的好坏,函数值越小说明模型和参数越符合训练样本。因此,代价函数的选择往往决定了模型训练的最终效果。对每种算法,代价函数都不是唯一的,一般来说挑选对参数\theta 可微的函数,因为很多时候会利用梯度下降法求参数(可微必定可导)。常见的代价函数有均方误差函数(MSE)和交叉熵。

3.1 目标函数、损失函数和代价函数

在不严格定义的情况下,这三个名词一般认为都是代价函数的意义。目前,机器学习的发展似乎也没有严格意义上的标准定义,因此,对于很多名词上的解释,不同的资料往往会出现稍有差异的说明,但代表的实际意义差不多。

对于目标函数、损失函数和代价函数,在《深度学习》这本书中,似乎是混用的,没有明确的区分。这里,总结下一些资料中个人认为比较好的区别。

损失函数:定义在单个样本上,计算的是一个样本的误差。

代价函数:定义在整个训练集上,是所有样本的平均误差,即损失函数的平均。

目标函数:损失函数+正则化项(正则化项是用来防止欠拟合和过拟合情况的出现)。

上一篇下一篇

猜你喜欢

热点阅读