中计算散度的函数_损失函数与正则化简介

本文介绍了损失函数的概念,包括0-1损失、平方差损失、交叉熵损失和三元组损失,并详细阐述了交叉熵在分类任务中的应用。此外,还探讨了正则化的重要性,特别是L1正则化如何产生稀疏解,以及L1和L2正则化在梯度计算上的差异。
摘要由CSDN通过智能技术生成

损失函数总结

损失函数用来量化模型预测与真实标签之间的差异。

损失函数分为经验风险损失函数结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项。

注:y:样本的真实标签 ,f(x;

):样本的预测结果,L( y ,f(w;
)):损失函数。

损失函数简介

(1)0-1损失函数:

6d26d7a8b245be80ba124792259bfe1d.png

优点:最直观,表示训练集上的错误率。

缺点:不连续且导数为0 ,难以优化。

(2)平方差损失函数

db2abe15e3921b4a5d77bf7900f94530.png

优点:可导,可优化。

缺点:不适合用于分类任务。

(3)交叉熵损失函数(SoftMax损失函数)

3093dfb5e1fb92d579964773b21d7694.png

优点:适用于分类问题,常与SoftMax函数一起使用。

原理详解:

信息量:信息奠基人香农(Shannon)认为“信息是用来消除随机不确定性的东西”,也就是说衡量信息量的大小就是看这个信息消除不确定性的程度。

太阳从东边升起,这条信息并没有减少不确定性,因为太阳肯定是从东边升起的,这是一句废话,信息量为0。

2018年中国队成功进入世界杯,从直觉上来看,这句话具有很大的信息量。因为中国队进入世界杯的不确定性因素很大,而这句话消除了进入世界杯的不确定性,所以按照定义,这句话的信息量很大。

根据上述可总结如下:信息量的大小与信息发生的概率成反比。概率越大,信息量越小。概率越小,信息量越大

设某一事件发生的概率为P(xi),其信息量表示为:

8ada8ccced1055195b19a1649a31e860.png

信息熵也被称为熵,用来表示所有信息量的期望。期望是试验中每次可能结果的概率乘以其结果的总和,所以信息量的熵表示为:

cb881227e11fbc2219aef44c3d37f139.png

相对熵,对于同一个随机变量X有两个单独的概率分布P(x)和Q(x),则我们可以使用KL散度来衡量这两个概率分布之间的差异

2f95576bb6aa015609cfb2f72fea98cb.png

其中P(x)来表示样本的真实分布,Q(x)来表示模型所预测的分布,比如在一个三分类任务中(例如,猫狗马分类器),x1​,x2​,x3​分别代表猫,狗,马,例如一张猫的图片真实分布P(X)=[1,0,0], 预测分布Q(X)=[0.7,0.2,0.1],计算KL散度:

b2bdfedf04f40dafbf555fff94ab5d5a.png

KL散度越小,表示P(x)与Q(x)的分布更加接近,可以通过反复训练Q(x)来使Q(x)的分布逼近P(x)。

交叉熵:首先将KL散度公式拆开:

d4a181a0b569bf348f1995dbb408c3d1.png

(p(x))表示信息熵,后者即为交叉熵,KL散度 = 交叉熵 - 信息熵

交叉熵公式表示为:

5ced35e9ea72987d80b011c109984331.png

因为输入数据与标签常常已经确定,所以信息熵在这里就是一个常量。由于KL散度的值表示真实概率分布P(x)与预测概率分布Q(x)之间的差异,值越小表示预测的结果越好,所以需要最小化KL散度,而交叉熵等于KL散度加上一个常量(信息熵),且公式相比KL散度更加容易计算,所以在机器学习中常常使用交叉熵损失函数来计算loss就行了。

(4)三元组损失

输入是一个三元组<a, p, n> 。其中a:anchor 原点,p:positive,与 a 同一类别的样本,n:negative,与 a 不同类别的样本

e1ccfdc81bdc8b07c4bf153879ba2898.png

目的:具有相同标签两样本的 embedding 在 embedding 空间中靠得很近。具有不同标签两样本的 embedding 相距很远。

原理:在embedding空间中,三元组<a, p, n>满足以下关系:

324711c9d50a797b277e2e5e4cee6d9d.png

最小化L,即 d(a, p) -> 0, d(a, n)≥d(a, q)+margin

注:欧式距离,假设X和Y都是一个n维的向量,即

a9aa34b373a424a32a1f1b67dfd9e55b.png

则欧氏距离:

d5a5261e55523a1afa09cc62e98c605d.png

三元组分为以下三个类别:如下图所示

easy triplets:可以使loss为0的三元组,即容易分辨的三元组。

hard triplets:d(a, n)<d(a, p),即一定会误识别的三元组。

semi-hard triplets:d(a, p)<d(a, n)<d(a, p)+margin,即处在模糊区域的三元组。

5b6f9b53ff440fc4dd19c560fb4e2d2e.png

正则化简介

正则化是为了防止模型的过拟合,降低模型的复杂度。

过拟合的时候,拟合函数的系数往往非常大,为什么呢?

因为拟合函数需要顾及每个样本点,在某些很小的区间,函数值的变化很剧烈,这就意味着函数在某些小区的导数的绝对值非常大,由于自变量可大可小,所以只有系数足够大,才能保证导数值很大。如下图所示:

ce06f8ae8691e7892753ff7d20742253.png

(1) L1正则

L1常用来进行特征选择,因为L1正则化会使较多的参数为0。从而产生稀疏解,我们可以将0对应的特征遗弃,进而用来特征选择,一定程度上可以防止过拟合问题。

假设L(W)是未加正则化的损失函数,

是一个超参,控制正则化项的大小。

则最终的损失函数为:

b73c11e740cf2a9197f8a87962442113.png

(2) L2正则

L2正则化是对于大数值的权重向量进行严厉惩罚。则最终的损失函数为:

e77b2fc45a51b4fbf0064c1f80fb8c5f.png

(3)为什么L1会产生稀疏解?

对于一个参数Wi计算梯度,

为步进,sign(Wi)是符号函数。

L1梯度

0b168d7f03209df5a10ace7265cb76f7.png

L2梯度

0d66855b9f934bfa83aa8ac0460f5e17.png

从上面公式可以看出,当Wi小于1的时候,L2的惩罚项会越来越小,而L1的惩罚项还会很大,从而使参数为0,而L2很难。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值