pytorch学习笔记(一):损失函数

学习pytorch首先是要装pytorch啦!但是这是一个磨人的小妖精,传统的用pip可是装不上的。为此,可以参考我的另一篇博客,这可是我研究一天的结晶!
这篇笔记是 关于机器学习损失函数的,根据不同的应用场景,需要选择不同的损失函数。

线性回归

线性回归因为预测的数值有具体的意义,所以损失函数一般使用的均方误差损失函数。以前用的是tensorflow的keras,学习pytorch的时候发现二者的公式有细微的差别。pytorch乘了一个1/2,而keras没有。具体如下:
pytorch学习笔记(一):损失函数

(keras的损失函数公式)

pytorch学习笔记(一):损失函数

(pytorch的损失函数)
有一个题觉得很有意思,里面包含了很多知识点,既有关于python语法本身的,也有基础机器学习理论。(题来自伯禹学习平台,正确答案是B)

pytorch学习笔记(一):损失函数

分类模型

对于分类模型的预测结果,我们关注的是数值的相对大小,而非线性回归的绝对大小。也即如果结果是[10,30,9]和[100,120,90],其实差别不大,最终的结果都是第二类。所以,均方误差损失函数在这里就不太适用了,一般使用交叉熵损失函数,但是之前要首先对结果进行归一化处理,例如进行softmax处理。
过程如下:

softmax处理

pytorch学习笔记(一):损失函数

交叉熵损失函数

pytorch学习笔记(一):损失函数