2022李宏毅机器学习深度学习学习笔记第十周--损失函数loss可能影响训练失败

文章目录

  • 摘要
  • 一、分类是怎么做的?
  • 二、soft-max
  • 三、损失函数loss可能影响训练失败


摘要

讲了分类中class的表示方法,以及soft-max,最后讲了损失函数loss可能影响训练失败。


一、分类是怎么做的?

我们可以把classification当作regression来看,输入x输出y,这个y我们希望越接近正确答案的class越好, 由于输出的Y是数字,我们也把class变成数字,class1就对应数字1,接下来我们要做的就是让Y和class的编号越接近越好。
2022李宏毅机器学习深度学习学习笔记第十周--损失函数loss可能影响训练失败_第1张图片
做分类问题常见的作法是把class用 one-hot vector来表示。
2022李宏毅机器学习深度学习学习笔记第十周--损失函数loss可能影响训练失败_第2张图片
如果有三个class,label的one-hot就是一个三维的向量,上图所示。
regression是输入x输出y,y要和label越接近越好,classification输入x,输出y,y不是一个数值,是一个向量,把y通过一个softmax的函数得到y’,计算y’和label之间的距离,也接近越好。
为什么要加softmax?
在这里插入图片描述里面的值都是0和1,y里面有任何值,把y的任何值移到0和1,就可以进行比较了。

二、soft-max

soft-max的运作模式如图,输入y1,y2,y3,产生y’1,y’2,y’3,把所有的y取一个exp,再除掉所有y的exp的和,得到y’,y’i的值再0到1之间,和为1;
2022李宏毅机器学习深度学习学习笔记第十周--损失函数loss可能影响训练失败_第3张图片
举例
y1=3,y2=1,y3=3,带入公式,输出结果为y’1=0.88,y’2=0.12,y’3=0;softmax会让大的值和小的值差距更大,softmax的输入叫做logit。这里讲的是有三个输入的情况,当有两个输入就不需要套用公式,用sigmoid就可以。
2022李宏毅机器学习深度学习学习笔记第十周--损失函数loss可能影响训练失败_第4张图片
把x丢到一个network里面产生y,通过softmax得到y’,计算y’和label之间的距离,记为e。
2022李宏毅机器学习深度学习学习笔记第十周--损失函数loss可能影响训练失败_第5张图片
e计算公式有
MSE (MEAN SQUARE ERROR)
在这里插入图片描述
Cross-entropy
在这里插入图片描述
相较于MSE,Cross-entropy更常用在分类上。

三、损失函数loss可能影响训练失败

举例 3个class的分类
输入x,输出y1,y2,y3,通过softmax产生y’1,y’2,y’3,假设正确答案是100,计算【1,0,0】这个向量和y’1,y’2,y’3之间的e,
y1的变化从-10~10,y2从-10 ~10,y2是-1000,y3设的很小,y’3就趋近于0,对结果的影响小,就只看y1,y2在MSE和Cross-entropy对loss的影响;
2022李宏毅机器学习深度学习学习笔记第十周--损失函数loss可能影响训练失败_第6张图片
红色代表loss大,蓝色代表loss小,y1大,y2小的时候,loss的结果小,我们期待训练的时候参数可以走到右下角。假设开始的地方都是左上角,Cross-entropy的左上角是有斜率的,所以可以透过gradient一路向下,但MSE,开始非常的平坦,gradient趋于0,没法向右下更新。

你可能感兴趣的:(机器学习,深度学习,学习)