斯坦福深度学习课程笔记(二)

损失函数和优化

官网
ppt

1 损失函数

损失函数是用来定量地分析我们的模型预测效果有多糟糕的函数。损失函数输出值越大,代表我们的模型效果越糟糕。

损失函数的通用表示
假设我们的数据集有N个样本, { ( x i , y i ) } i = 1 N \{(x_i,y_i)\}^{N}_{i=1} 其中 x i x_i 是样本图片, y i y_i 是对应的整数标签;整个数据集的损失就是每个样本的损失之和。
L = 1 N i L i ( f ( x i , W ) , y i ) L = \frac{1}{N}\sum_iL_i(f(x_i,W),y_i)

这里介绍两种损失函数

1.1 多分类SVM损失

SVM损失的形式是这样的:
L i = j y i { 0 i f s y i s j + 1 s j + 1 s y i e l s e = j y i m a x ( 0 , s j + 1 s y i ) L_i = \sum_{j \ne y_i} \left\{ \begin{aligned} 0 &&if && s_{y_i} \le s_j + 1 \\ s_j + 1 - s_{y_i} && else \\ \end{aligned} \right. = \sum_{j \ne y_i} max(0,s_j + 1 - s_{y_i} )
这里的 + 1 +1 代表一个边界(margin),即正分类比误分类大的程度,其实这个是可以自由设置的,但是也要依据问题去考虑。

svm loss

也可以把SVM Loss叫做Hinge Loss,横轴是 s y i s_{y_i} ,随着 s y i s_{y_i} 的增大,HInge Loss是逐渐下降的,最终降为0。

在这里插入图片描述

在这个问题中,我们的 s s 就是模型跑到最后,给每个样本image的分类的一个分数值。

关于SVM Loss,有几个问题:

  • 损失的最大/最小值分别是什么?
    最小值是0,对应全部分类正确的情况;
    最大值是无穷大

  • 在初始化阶段, W W 很小,所以所有的 s 0 s \simeq 0 ,这个时候的损失是多少?
    答案是 c 1 c-1 c c 代表分类的数量。
    j y i m a x ( 0 , s j + 1 s y i ) = j y i m a x ( 0 , 1 ) = j y i 1 = c ( c 1 ) \sum_{j \ne y_i} max(0,s_j + 1 - s_{y_i} ) = \sum_{j \ne y_i} max(0,1) = \\ \sum_{j \ne y_i} 1 = c(c-1) ,再求平均值,就是 c 1 c-1

  • 如果包含 j = y i j = y_i 的情况,所有损失的和应该是多少呢?
    损失的和应该会加上 c c

  • 如果我们使用平均值而非求和,损失会有怎样的变化呢?
    没什么变化,只是缩放而已

  • 如果我们使用 m a x ( 0 , s j + 1 s y i ) 2 max(0,s_j + 1 - s_{y_i} )^2 ,会有什么变化呢?
    这就形成了一个新的损失函数。

  • 如果我们找到了一个 W W ,使得损失为0,那么损失是惟一的吗?
    不是, 2 W 2W 也能令损失为0。

既然 W W 2 W 2W 都能使损失降为0,那么我们应该选哪个 W W 呢?

这里我们引入正则
正则化
正则项存在的意义,一般是防止过拟合。因为即使我们把损失调到最低,也只是使得模型尽可能地去拟合训练集,但是我们的目标是让模型尽可能拟合测试集。所以过拟合是不好的,我们可以通过增加一个 R ( W ) R(W) 正则惩罚项,使得模型尽可能地简单。
简单的正则化的例子有L1正则、L2正则;更复杂的有Dropout,批正则,随机深度、fractional pooling。

1.2 softmax损失(多项Logistic回归)

softmax的主要思想是将分类分数的值转化为概率值。
s14

首先是对分数取 e e 的指数,然后归一化;得到概率值。然后对概率值取对数再取负值。

关于softmax也有几个问题:

  • softmax的损失的最小值/最大值分别是?
    最小值为0,最大值是无穷大
  • 最开始的时候, s s 值是大致相等的,损失是多少呢?
    结果是 l o g ( C ) log(C)
    可以做一个简单的推导,如上图,cat,frog,car有三个类,某一个图像三个类的得分都是 s s

2 优化

猜你喜欢

转载自blog.csdn.net/sjz_hahalala479/article/details/82784800
今日推荐