1、深度学习入门级别 的 损失函数整理
一、L1、L2
中文称作L1正则化和L2正则化,或者L1范数和L2范数。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。
L1: =
, 即各元素的绝对值之和
。作用:产生一个稀疏模型,可以用于特征选择,一定程度上也可以防止过拟合。
L2:=
,即各元素的平方值之和,
。作用:防止过拟合。
问题:是否可以组合L1、L2用于惩罚项,以兼顾其各自优势?
看法:应该不可以
心得:参数w越小,模型泛化能力越强;正则化参数越大,惩罚项效果越强,模型泛化能力越强,但正则化参数过大容易使得模型欠拟合。
二、交叉熵
作用:交叉熵就是用来判定实际的输出与期望的输出的接近程度;交叉熵刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近。
公式:假设概率分布p为期望输出,概率分布q为实际输出,H(p,q)为交叉熵,则:
这两个交叉熵损失函数对应不同的最后一层的输出。第一个对应的最后一层是softmax,第二个对应的最后一层是sigmoid。
由于在神经网络中,交叉熵常常与Sorfmax函数组合使用,所以TensorFlow对其进行了封装,即:cross_entropy = tf.nn.sorfmax_cross_entropy_with_logits(y_ ,y)。
疑问:有一种说法,交叉熵的公式为:,真假?
答:也对,这两个公式相等。
三、相对熵 (Relative entropy),也称KL散度 (Kullback–Leibler divergence)
作用:用于衡量两个概率分布之间的差异性。
公式:设 p(x)、q(x) 是离散随机变量 X 中取值的两个概率分布,则 p对 q 的相对熵是:
性质:
疑问:交叉熵与KL散度的关系:交叉熵 = KL散度 + 熵,因为熵是不变的,所以交叉熵和KL散度在特定环境下是等价的(比如最优化条件)。真假?
参考:
https://blog.****.net/fjssharpsword/article/details/78842374
https://blog.****.net/zouxy09/article/details/24971995
https://www.cnblogs.com/jianxinzhou/p/4083921.html
https://www.cnblogs.com/kyrieng/p/8694705.html
https://www.jianshu.com/p/02cd97cac1ca