深度学习中的平滑近似

深度学习中的平滑近似

平滑近似函数的理解 #

在读了校友 王峰的一些文章后,发现从优化角度来理解一些常见的Loss,会比较有意思,在此列一下几个有意思的关联。

原函数 平滑近似 备注
max(x) 1γlogiexp(γxi) LSE(x;γ)
min(x) 1γlogiexp(γxi) NLSE(x;γ)
[x]+=max(x,0) log(1+exp(x)) Softplus(x)=1βlog(1+exp(βx)), β为1的特例
argmax(x) ni=1i×softmax(x)i x为向量

平滑近似函数与MFBPR的关联 #

一个比较有意思的东西:MF-BPR的公式是lnσ(yuiyuj)。其中, σ(x)=11+ex.

展开后可得:

lnσ(x)=ln11+ex=ln(1+ex).

与原始softplus相反,这个取的是max(x,0)。所以BPR本质上也是用了relu的变体作为了目标函数。当正样本大于负样本时,不作改变,当正样本小于负样本时,给予较大的梯度。

{{ :tech:bprloss.png?400 |}}

平滑近似函数与softmax的关联 #

softmax的目标是要让向量的目标位置j的预测结果最大化,ij,zi<zj。或者说, Cmaxi=1,ijzi<zj.

相关的Loss设置为:

L=max(Cmaxi=1,ij{zi}zj,0)=max((logCi=1,ijezi)zj,0)=log(1+exp((logCi=1,ijezi)zj))=log(1+Ci=1,ijeziezj)=log(Ci=1eziezj)=log(ezjCi=1ezi).

相关链接 #

circle loss的推导和理解

softmax的深入理解