目录
nn.L1Loss:
nn.NLLLoss:
nn.MSELoss:
nn.CrossEntropyLoss:
损失函数是用来估量模型的预测值与真实值的不一致程度,它是一个非负实值函数。我们训练模型的过程,就是通过不断的迭代计算,使用梯度下降的优化算法,使得损失函数越来越小。损失函数越小就表示算法达到意义上的最优。
直白来说,就是用它来描述我们模型的鲁棒性,损失函数越小,模型的鲁棒性就越好。
由于我是以学习pytorch入门,所以这里来看看pytorch的内置函数。
nn.L1Loss:
首要条件是x 和 y 的维度要一样(可以是向量或者矩阵),表示输入x和目标y之间差的绝对值,得到的 loss 维度也是对应一样的。
nn.NLLLoss:
用于多分类的负对数似然损失函数
NLLLoss中如果传递了weights参数,会对损失进行加权,公式就变成了
nn.MSELoss:
均方损失函数 ,输入x和目标y之间均方差
nn.CrossEntropyLoss:
多分类用的交叉熵损失函数,LogSoftMax和NLLLoss集成到一个类中,会调用nn.NLLLoss函数,我们可以理解为CrossEntropyLoss()=log_softmax() + NLLLoss()
因为使用了NLLLoss,所以也可以传入weight参数,这时loss的计算公式变为:
所以一般多分类的情况会使用这个损失函数
![多叉树 [数据结构与算法][Java]](https://img-blog.csdnimg.cn/a24ec7af810a4f3e860a597525cfe803.png#pic_center)


![BUUCTF Misc [SUCTF2018]single dog 我吃三明治 sqltest [SWPU2019]你有没有好好看网课?](https://img-blog.csdnimg.cn/90594a49c34246b28e243bc4e5bd3e3f.png)






![C++中delete 和 delete []的真正区别](https://img-blog.csdnimg.cn/img_convert/f7a0bd71e261751f05847432f3efc202.png)








