斯坦福cs231n——assignment1_KNN

本文介绍了K-最近邻(KNN)算法的原理、优缺点,以及在CIFAR-10数据集上的应用,包括训练过程、分类步骤和距离计算方法。

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

一、KNN原理

        全称K-最近邻算法,找到最近的k个邻居,在选取到的k个样本中选取出最近的且占比最高的类别作为预测类别,因此可以看做一种投票机制,依赖少数服从多数的原则,属于局部近似。

        优点:1、简单训练快;

                   2、据周围邻近样本的标签进行分类的,所以适合于样本类别交叉或重叠较多的情况;

                   3、对异常值不敏感;

        缺点:1、计算量大预测慢;

                   2、无法解决高维问题;

                   3、当不同类别的样本数目差异较大时,数目较大的那一类别对KNN判别结果影响较大,因此可能产生误判;

                   4、不存在概率评分,仅根据样本标签判别;

二、k-Nearest Neighbor (kNN) exercise

1、kNN分类器的两个阶段

  • 在训练期间,分类器获取训练数据并简单地记住它
  • 在测试期间,kNN通过与所有训练图像进行比较并转移k个最相似训练样本的标签来对每个测试图像进行分类
  • k值是交叉验证的

2、 数据集下载

cd /assignment1/cs231n/datasets

# 自动下载
!bash get_datasets.sh

# 手动下载
wget http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz -O cifar-10-python.tar.gz
tar -xzvf cifar-10-python.tar.gz
rm cifar-10-python.tar.gz
wget http://cs231n.stanford.edu/imagenet_val_25.npz

3、Setup code

 ipynb文件配置matplotlib参数

%matplotlib inline
plt.rcParams['figure.figsize'] = (10.0, 8.0) # set default size of plots
plt.rcParams['image.interpolation'] = 'nearest'
plt.rcParams[&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值