【cs231】损失函数与优化

简介

在上一章介绍了图像分类的两种方法,分别是KNN和线性分类。在这一章中则着重介绍了损失函数与优化。
损失函数(Loss Function)用于衡量我们对结果的不满意程度。直观地讲,当评分函数输出结果与真实结果之间差异越大,损失函数输出越大,反之越小。
损失函数可以量化某个具体权重集W的质量。而最优化的目标就是找到能够最小化损失函数值的W 。我们现在就朝着这个目标前进,实现一个能够最优化损失函数的方法。
 

损失函数

SVM

SVM的损失函数定义如下:
在这里插入图片描述
当正确分类的分数比不正确分类的分数高出△的时候,损失函数为0.

在这里插入图片描述
横轴为正确分类的得分,纵轴为损失,正确的得分越高,损失函数越小。
 
在这里插入图片描述
在刚开始训练的时候,由于w比较小,所以每一个类的得分是相似的,此时损失函数应该等于“类别数-1”。
 

正则化

正则化的目的是对模型进行简化,解决过拟合问题。
在这里插入图片描述
加入正则化后的完整函数:
在这里插入图片描述
 
它由两个部分组成:数据损失(data loss),即所有样例的的平均损失,以及正则化损失(regularization loss)。
正则化参数λ,过小会导致过拟合,过大会导致欠拟合。
 
在这里插入图片描述
L1范数是指向量中各个元素绝对值之和,为稀疏规则算子。可用于进行特征选择。
L2范数是指向量各元素的平方和然后再求平方根。L2惩罚倾向于更小更分散的权重向量,这就会鼓励分类器最终将所有维度上的特征都用起来,而不是强烈依赖其中少数几个维度。可以防止过拟合。
 

Softmax

对各项的分数计算指数结果,再进行归一化处理,最后计算其正确分类对应的值负对数:
在这里插入图片描述
 
对于SVM的损失函数,正确类的得分稍有提升对最终结果没有影响,因为它只关心正确比分与错误比分的差值。
但是对于softmax,其进行了归一化处理,概率总值为1,所以随着正确类分数的上升,效果会越来越好。

优化

随机搜索

随机搜索:策略是从随机权重开始,然后迭代取优,从而获得更低的损失值。
随机本地搜索:这次我们从一个随机W开始,然后生成一个随机的扰动 δW ,只有当 W+δW 的损失值变低,我们才会更新。
 

梯度优化

跟随梯度的变化寻找最低点,每次朝着当前梯度变化最大的方向前进。
 

数值梯度法

在这里插入图片描述
 
根据上面的梯度公式,对所有维度进行迭代,在每个维度上产生一个很小的变化h,通过观察函数值变化,计算函数在该维度上的偏导数。
 
在这里插入图片描述

分析梯度法

直接使用微积分公式计算梯度。
 
 
 
使用上述方法计算出梯度后,使用梯度的负方向进行参数更新,因为我们希望找到损失函数下降的方向。
在进行更新时,还有一个需要设定的超参数——步长。用于指明在该梯度方向上前进的距离大小。
在大规模的应用中,训练数据可以达到百万级量级。如果像这样计算整个训练集,来获得仅仅一个参数的更新就太浪费了。一个常用的方法是计算训练集中的小批量(batches)数据。小批量数据的大小是一个超参数,但是一般并不需要通过交叉验证来调参。它常被设为2的指数倍,比如32,64,128等。

 
 

参考: CS231n官方笔记授权翻译总集篇发布.
   对L1正则化和L2正则化的理解.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值