大家好,继续理论学习,网络的设置接近了尾声,本次学习目标函数和正则化。

1.目标函数

(1)分类问题中的目标函数


这类问题中最常用的就是交叉熵函数了,即使用了softmax的损失函数。假设共有N个训练样本,针对网络最后分类层第i个样本的输入特征为xi,其对应的真实标记为yi,hi为其网络对应的最终输出,C为分类任务的类别数。有了如上定义,其形式可写为:



其中前面的1/N是一个常数,加不加都一样,后面的累加部分我还看到一个版本是再乘上真实值y。

(2)回归问题中的目标函数


在分类任务中,最后的样本真实标记实际上是一条一维向量,仅在yi处标记为1其余地方均为0。但回归问题的输出就不一样了,也是一条一维向量,但其每一个元素都为实数,而不是仅为二值。

首先介绍残差的概念:即xi真实值和预测值的差




则回归常用的l1,l2目标函数定义如下:(M为标记向量总维度)







2.正则化


我们通常使用正则化来减小过拟合。过拟合顾名思义就是模型过度贴合数据,导致泛化性不强的问题。这种时候,拟合出来的模型可以用很复杂的多项式表示,我们想要减少过拟合现象的出现,可以从简化多项式做起。正则化做的就是这么一个工作。它在计算真实值和估计值的差的后面对多项式参数的求和,我们不但要使真实值和估计值的差尽量小,还要使多项式参数的和尽量小,其中L2正则化就是取多项式参数的平方的和,L1正则化就是取多项式参数的绝对值的和。效果就是L1可以使有些参数被压缩为0,而L2是使参数普遍接近于0。L0
范数和 L1 范数都能够达到使参数稀疏的目的,但 L0 范数更难优化求解,L1 范数是 L0 范数的最优凸近似,而且它比 L0 范数要容易优化求解。L2
范数不但可以防止过拟合,提高模型的泛化能力,还可以让我们的优化求解变得稳定和快速。L2 范数对大数和 outlier 更敏感。

(1)l2正则化

l2正则化在深度学习中也叫权重衰减,就是通过对网络中权重w的正则来控制拟合程度。假设待正则的网络参数为w,则其表达式为:



其中λ用于控制正则项大小,λ越大对模型复杂度的约束就越大。


(2)l1正则化




l1除了和l2一样约束参数量级以外,还可以使参数更加稀疏,能够更好地去噪。

(3)dropout

dropout可以使网络中节点随机失活,降低参数对网络的依赖,有效抑制过拟合,一句话就是每次用不同的样本训练不同的网络,再取平均。

3.交叉验证


交叉验证简单来说就是我们平时取一部分数据作为训练集,剩下的数据作为测试集,这样一来,测试集的数据并没有在训练的时候提供信息,没有充分利用我们的样本,且如果样本集划分不合理会严重影响训练和测试效果。因此我们可以一次取一个(或k个)样本作为测试集,剩下的都作为训练集,这样每个样本都有作为测试和训练集的机会,充分利用了样本信息,而且保证了鲁棒性。

简单介绍就是这样,我们下期见!

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信