CS231n笔记(3)线性分类器:最优化

这篇博客介绍了最优化在深度学习中的重要性,特别是针对线性分类器的损失函数可视化和优化方法。通过损失函数的切片可视化,展示了损失函数的分段线性和局部最优点。接着,文章讨论了随机搜索、迭代优化策略,如随机本地搜索和梯度下降,以及如何使用有限差值和微分分析来计算梯度。最后,博主提到了梯度下降法在小批量数据上的应用,包括随机梯度下降及其变种。
摘要由CSDN通过智能技术生成

先说下最优化是什么:最优化是寻找能使损失函数值最小化的参数 W W 的过程。

铺垫:之后会把映射部分拓展成比线性函数更加复杂的函数(例如神经网络),但是损失函数和最优化过程这两个部分不会有很大改动,所以这两个部分的基础一定要打好。

损失函数可视化

因为我们现在的损失函数通常定义在高维空间里面,比较难可视化,所以要在1或者2个维度上对高维空间进行切片来可视化。例如随机生成一个权重矩阵 W ,这个矩阵对应高维空间里面的一个点,然后随机生成一个方向矩阵 W1 W 1 (记住,矩阵在某种程度上就是向量),再沿着这个生成的方向来计算出这个方向上的损失值(就是计算 L(W+a@1) L ( W + a @ 1 ) 的值)来生成图表。图标x轴是 a a ,y轴是损失函数值。如果是两个唯独的话就是计算 L ( W + a W 1 + b W 2 ) ,然后在给出的二维图像里面用红到蓝的颜色来表示损失值大小(和热度图差不多)。例子:

这里写图片描述

一个无正则化的多类SVM的损失函数的图示。左边和中间只有一个样本数据,右边是CIFAR-10中的100个数据。左:a值变化在某个维度方向上对应的的损失值变化。中和右:两个维度方向上的损失值切片图,蓝色部分是低损失值区域,红色部分是高损失值区域。注意损失函数的分段线性结构。多个样本的损失值是总体的平均值(不记得的话看回公式就知道了),所以右边的碗状结构是很多的分段线性结构的平均(比如中间这个就是其中之一)。

上面图左边的分段结构可以用损失函数的计算公式来解释,因为对于单个数据来说,损失函数的计算方法是:

Li=jyi[max(0,ωTjxiωTyixi+1)] L i = ∑ j ≠ y i [ max ( 0 , ω j T x i − ω y i T x i + 1 ) ]

说白了就是计算在错误的类别上模型的评分和正确分类上的应有的评分进行相减(并加上边界值1,这是为了保证在错误类别上的评分比正确类别上的评分小边界值1),如果大于0那么就是不理想的,也就是说要把相减之后的结果加到最终损失值里面去。下面就是例子:

假设一个简单的数据集,其中包含3个只有1个维度的点,数据集数据点有3个类别,那么SVM的损失至计算如下:

L0=max(0,ωT1x0ωT0x0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值