1.回归问题

【深度学习】回归问题和分类问题损失函数求导
J=12Ni=1Nyiy^2 J = \frac{1}{2N}\sum_{i=1}^{N} \|y^i - \hat{y} \|^2
Jyi=1Ni=1N(yiy^) \frac{ \partial J}{\partial y^i} = \frac{1}{N}\sum_{i=1}^{N}{(y^i - \hat{y})}

2.分类问题

【深度学习】回归问题和分类问题损失函数求导
先对y进行softmax:
Sk=eyki=1neyi S_k = \frac{e^{y_{k}}}{\sum_{i=1}^{n}{e^{y_i}}}
以单个样本为例,网络输出的S^(s1,s2,...,sn)\hat{S} (s_1,s_2,...,s_n)为一个概率分布,n是类别个数;该样本的实际标签一般one-hot形式,S(0,0,...,1,0,0,..0)S (0,0,...,1,0,0,..0)可以看做是(硬)概率分布。
可以考虑KL散度来计算损失。其实,直接根据交叉熵就可以写出损失函数:
这里只考虑单个样本,方便简化运算。
J=k=1nSlogS^=log(sk)=log(eyki=0n1eyi) J = \sum_{k=1}^{n}{Slog\hat{S}} \\ = - log (s_k) =-log(\frac{e^{y_{k}}}{\sum_{i=0}^{n-1}{e^{y_i}}})
yky_k求导:
Jyk=yk{log(i=0n1eyi)yk}=eyki=0n1eyi1 \frac{ \partial J}{\partial y_k} = \frac{\partial }{\partial y_k}\{{log (\sum_{i=0}^{n-1}e^{y_i}}) - y_k \} = \frac{e^{y_{k}}}{\sum_{i=0}^{n-1}{e^{y_i}}} - 1
即可以写成 :
Jyk=skδ(i=k)δ=1,i=kδ=0,i!=k \frac{ \partial J}{\partial y_k} = s_k - \delta(i=k) , \\ \delta =1,当i=k时,\delta=0, 当i!=k时
最终写成向量的形式(单个样本形式):
Jy=SS^ \frac{ \partial J}{\partial y} = S - \hat{S}

相关文章:

  • 2021-06-15
  • 2022-02-20
  • 2021-08-11
  • 2021-06-04
  • 2021-12-02
  • 2021-11-16
  • 2021-06-27
  • 2022-01-11
猜你喜欢
  • 2022-12-23
  • 2021-06-20
  • 2021-12-17
  • 2021-06-16
  • 2021-11-28
相关资源
相似解决方案