【cs231n】knn作业笔记
完成了assignment-1中knn相关内容的作业,记录一下遇到的知识点和问题
knn.ipynb的内容大致包括:
1、数据集的建立
主要是通过切片函数,如下图选取前5000张图片和其标记作为训练数据
2、计算距离矩阵,test数据500条,train数据5000条,故距离矩阵应该是500*5000
计算的方式有三种,两次循环、一次循环(部分矢量化)和无循环(矢量化)
矢量化(vectorization)可以加速矩阵计算
两次循环:
for i in range(num_test):
for j in range(num_train):
dists[i][j] = np.sqrt(np.sum(np.square(X[i]-self.X_train[j])))
return dists
一次循环:
for i in range(num_test): dists[i, :] = np.sqrt(np.sum(np.square(X[i]-self.X_train), axis=1)) return dists
无循环:
dist_a = np.sum(X**2, axis=1, keepdims=True)
dist_b = np.sum(self.X_train**2, axis=1)
dist_c = -2*X.dot(self.X_train.T) dists = np.sqrt(dist_a + dist_b + dist_c)
三种方式的速度对比:
3、用交叉验证选择合适的超参数
用5折交叉验证计算10种不同K值的效果
用字典存储每种K值的效果,即每种K值每次交叉验证的acc(用列表存储)
这样方便最后制图
可以观察到K=10时效果最佳
【cs231n】knn作业笔记的更多相关文章
- CS231n 2016 通关 第二章-KNN 作业分析
KNN作业要求: 1.掌握KNN算法原理 2.实现具体K值的KNN算法 3.实现对K值的交叉验证 1.KNN原理见上一小节 2.实现KNN 过程分两步: 1.计算测试集与训练集的距离 2.通过比较la ...
- zabbix 应用监控作业笔记 ansible-playbook
目录 目录结构 zabbix-web.yaml zabbix-backup.yaml zabbix-nfs.yaml zabbix-mysql.yaml zabbix-server.yaml zabb ...
- kNN算法笔记
kNN算法笔记 标签(空格分隔): 机器学习 kNN是什么 kNN算法是k-NearestNeighbor算法,也就是k邻近算法.是监督学习的一种.所谓监督学习就是有训练数据,训练数据有label标好 ...
- 【cs231n作业笔记】一:KNN分类器
安装anaconda,下载assignment作业代码 作业代码数据集等2018版基于python3.6 下载提取码4put 本课程内容参考: cs231n官方笔记地址 贺完结!CS231n官方笔记授 ...
- CS231n 2017 学习笔记01——KNN(K-Nearest Neighbors)
本博客内容来自 Stanford University CS231N 2017 Lecture 2 - Image Classification 课程官网:http://cs231n.stanford ...
- CS231n 第一次作业KNN中本地CIFAR10数据集的载入
一.问题描述 网上绝大多数作业参考都是在jupyter下运行的,数据集载入过程一般如下: from cs231n.data_utils import load_CIFAR10 #导入数据集,并打印出数 ...
- 【cs231n作业笔记】二:SVM分类器
可以参考:cs231n assignment1 SVM 完整代码 231n作业 多类 SVM 的损失函数及其梯度计算(最好)https://blog.csdn.net/NODIECANFLY/ar ...
- 『cs231n』作业1选讲_通过代码理解KNN&交叉验证&SVM
通过K近邻算法探究numpy向量运算提速 茴香豆的“茴”字有... ... 使用三种计算图片距离的方式实现K近邻算法: 1.最为基础的双循环 2.利用numpy的broadca机制实现单循环 3.利用 ...
- [基础]斯坦福cs231n课程视频笔记(三) 训练神经网络
目录 training Neural Network Activation function sigmoid ReLU Preprocessing Batch Normalization 权重初始化 ...
- 第2章KNN算法笔记_函数classify0
<机器学习实战>知识点笔记目录 K-近邻算法(KNN)思想: 1,计算未知样本与所有已知样本的距离 2,按照距离递增排序,选前K个样本(K<20) 3,针对K个样本统计各个分类的出现 ...
随机推荐
- Npoi.Mapper 日期转换
问题:Excel文档里有一些列是日期类型的数据,使用Mapper默认的转换,发现生成的实体,在有的系统环境下能正常转换,但是在有的系统环境下,转换的日期出现中文. 猜想是Excel文档里,日期列的单元 ...
- 《SAP MDM主数据管理》.pdf
<SAP MDM主数据管理>.pdf 有需要的联系 wx :erpworld
- Linux 查询 磁盘空间 系统报错:No space left on device
报这个错误是磁盘空间不足导致的 使用 du -h -d 1 / | sort -nr 这个命令 一级一级排查
- Springboot实现文件上传下载功能
一.文件上传 1. controller层 @RestController @RequestMapping(value = "/excel") public class Uploa ...
- Android中操作 SDCard文件
1 import android.content.Context; 2 import android.graphics.Bitmap; 3 import android.graphics.Bitmap ...
- Oracle 计划任务批量清理临时表实例
昨天发现近一段时间,公司某oracle库数据泵方式备份比之前慢了很多,备份集大小并未增长太多.查看了下发现该用户下存在几十万张表. 一.问题分析 1.查看用户下面的表 select count(*) ...
- Pytest Fixture(三)
name: name参数表示可以对fixture的名称进行重命名: 注意:通过name重命名后,继续使用以前的名字调用会报错. import pytest @pytest.fixture(name=' ...
- git 代码已经commit ,发现提错了分支
步骤: git reset HEAD^ //把上次提交恢复为未提交状态 git status //查看当前状态 git stash //将修改add到暂存区,暂存代码 git checkout 分支 ...
- 策略模式demo
/** StrategyContext. */ public class StrategyContext { private Strategy strategy; // 传入的是Strategy的实现 ...
- SQL-建表注释
ddl 是对表结构的操作 create(创建)命令.alter(修改)命令.drop(删除)dml 是对表数据的操作 insert(插入)命令.update(更新)命令.delete(删除) alte ...