偏置、正规方程和代价函数
1 神经网络中偏置的意义
在深度学习中,我们经常能看到这样的表达式,例如在有一层隐藏层的前馈网络中,定义隐藏层,激活函数,对于输入,我们有映射后的特征空间,其中是权重矩阵,那么代表什么意义呢?如果不加参数,即还能得到我们需要的结果吗?
参数就是偏置单元,一般也称为偏置项,决定了神经网络产生正负激励的难易程度。以二分类问题为例,我们知道,对于一组特定的输入,网络会产生对应的所属类别的输出,即0或1,权重矩阵会决定是倾向于0还是1,那么如果倾向于0,到底到什么程度可以认为属于0呢?偏置就可以认为我们为网络设置了一个阈值,当到达这个阈值时,网络就会确定产生对应的输出。
举一个日常生活中看书的例子来说明一下偏置的作用(可能不是很准确,但表达的意义差不多)。假如现在有一本新书出版了,爱看书的小明在纠结要不要买来看,决定小明买或不买的因素有三个:价格、书的作者、出版社,我们假设这三个因素所占的权重相等都为=1,如果偏置=1,也就是三个因素中只要满足其中任何一个(价格合适||作者是小明喜欢的||出版社很棒)小明就会买来看,如果=2,那么需要同时满足其中两个因素,如果=3,就需要三个因素同时满足,当设置超过3时,就表示无论如何小明不会买这本书。
偏置单元有时候也能理解为截距项,就是函数的截距,与一般的线性方程中的的意义是一样的,控制着函数偏离原点的距离。如图1.1,可以直观看出一条过原点的直线是无法将样本空间成功分开的,需要平移一段距离。
图1.1 一般线性空间2 正规方程
训练一个神经网络和构建一个机器学习模型一样,代价函数都是决定参数好坏的重要指标。在线性回归问题中,一般通过梯度下降法求得的最小值,但是梯度下降法需要手动选择一个合适的学习率从而保证收敛速度,对于的调整往往是一件极其恼火的事。因此,在某些情况下,我们也可以通过正规方程来最小化。
可以这样理解:正规方程是从纯数学推导的角度来求得能够使最小的值。正规方程的推导过程可以参考吴恩达的视频。这里直接给出结果:
图2.1 正规方程的解其中,表示输入向量矩阵,为目标输出向量。
梯度下降和正规方程的对比如下(引用自:正规方程):
图2.2 梯度下降和正规方程对比3 代价函数
代价函数是衡量模型预测值与真实值之间差异的函数,用来评估模型的好坏,函数值越小说明模型和参数越符合训练样本。因此,代价函数的选择往往决定了模型训练的最终效果。对每种算法,代价函数都不是唯一的,一般来说挑选对参数可微的函数,因为很多时候会利用梯度下降法求参数(可微必定可导)。常见的代价函数有均方误差函数(MSE)和交叉熵。
3.1 目标函数、损失函数和代价函数
在不严格定义的情况下,这三个名词一般认为都是代价函数的意义。目前,机器学习的发展似乎也没有严格意义上的标准定义,因此,对于很多名词上的解释,不同的资料往往会出现稍有差异的说明,但代表的实际意义差不多。
对于目标函数、损失函数和代价函数,在《深度学习》这本书中,似乎是混用的,没有明确的区分。这里,总结下一些资料中个人认为比较好的区别。
损失函数:定义在单个样本上,计算的是一个样本的误差。
代价函数:定义在整个训练集上,是所有样本的平均误差,即损失函数的平均。
目标函数:损失函数+正则化项(正则化项是用来防止欠拟合和过拟合情况的出现)。