斯坦福CS231n课程笔记纯干货1

本文是斯坦福大学CS231n课程的精华笔记,涵盖L1与L2的区别、k-NN分类器的优缺点、验证集与超参数调优、线性分类器、损失函数、梯度下降和反向传播、常用激活函数,以及神经网络结构。深入探讨了多类SVM损失函数、Softmax分类器和梯度下降法,强调了ReLU激活函数的重要性和过拟合的控制方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CS231n的全称是CS231n: Convolutional Neural Networks for Visual Recognition,即面向视觉识别的卷积神经网络。该课程是斯坦福大学计算机视觉实验室推出的课程。目前大家说CS231n,大都指的是2016年冬季学期(一月到三月)的版本。

1. 分类器中L1和L2比较。

在面对两个向量之间的差异时,L2比L1更加不能容忍这些差异,相对于1个巨大的差异,L2距离更倾向于接受多个中等程度的差异。

2. k-Nearest Neighbor分类器存在以下不足

分类器必须记住所有训练数据并将其存储起来,以便于未来测试数据用于比较。这在存储空间上是低效的,数据集的大小很容易就以GB计。对一个测试图像进行分类需要和所有训练图像作比较,算法计算资源耗费高

Nearest Neighbor分类器在某些特定情况(比如数据维度较低)下,可能是不错的选择。但是在实际的图像分类工作中,很少使用。

实际应用流程:

1) 预处理你的数据:对你数据中的特征进行归一化(normalize),让其具有零平均值(zeromean)和单位方差(unit variance)。

2) 如果数据是高维数据,考虑使用降维方法,比如PCA或随机投影

3) 将数据随机分入训练集和验证集。按照一般规律,70%-90% 数据作为训练集。如果需要预测的超参数很多,那么就应该使用更大的验证集来有效地估计它们。如果担心验证集数量不够,那么就尝试交叉验证方法。

4) 在验证集上调优,尝试足够多的k值,尝试L1和L2两种范数计算方式。

5) 如果分类器跑得太慢,尝试使用Approximate Nearest Neighbor库(比如FLANN)来加速这个过程,其代价是降低一些准确率。

6) 对最优的超参数做记录千万不要在最终的分类器中使用验证集数据,这样做会破坏对于最优参数的估计。直接使用测试集来测试用最优参数设置好的最优模型,得到测试集数据的分类准确率,并以此作为你的kNN分类器在该数据上的性能表现。

3. 验证集、交叉验证集和超参数调优

特别注意:决不能使用测试集来进行调优测试数据集只使用一次,即在训练完成后评价最终的模型时使用。调优策略从训练集中取出一部分数据用来调优,我们称之为验证集(validation set

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值