1. cs231n k近邻和线性分类器 Image Classification
第一节课大部分都是废话。第二节课的前面也都是废话。
First classifier: Nearest Neighbor Classifier
在一定时间,我记住了输入的所有的图片。在再次输入一个图片之后,我和之前的图片进行比较,然后输出分类。
近邻分类器用50000张32*32 10labels的训练集来训练。我们定义距离为曼哈顿距离d1(I1,I2)=sigma(abs(I1-I2)),我们相互之间算出每个像素的差值,然后加起来就是距离。
然后我们得到距离最小的一个图片,然后看这图片的label是什么。
tip1:这个傻逼算法会随着训练集合增加,速度变得很慢。。
tip2:这个傻逼算法在训练的时候,我们不计算,只会在最后测试的时候才计算。
加速方法:加速近邻距离的计算,加速匹配。
改变方法:我们亦可以使用不同的距离计算方法,比如欧氏距离。
升级版:KNN,我们找k个最近的list,然后让里面的实例进行vote,票数最多的就是这个分类。k越大分界线越平滑。k的选择是一个超参数。
tip1:假设训练集就是测试集,那么nn的准确率就是100%(因为总能找到自己)
tip2:假设是knn,acc就不一定是100%
tip3:我们怎么去设置超参数?这是一个独立问题,我们不知道,你只能不断的去尝试这个超参数的取值(这不是等于没说吗。。。
拟合程度的选择会影响你的泛化能力,你可以使用k-fold来提高你的泛化能力。cross-validation也可以
实际生活中,没人使用这个傻逼算法,因为这个傻逼算法很慢。如果如果图片稍微变了一下(比如往左边平移,比如亮度不一样),距离就会差很多,但实际上这个图片只是小小的改变了一下,knn就会很难识别。(实际上我觉得这应该是你选择的距离计算方法不对)
Linear Classification
神经网络现在非常屌,哪儿都有神经网络。neural networks practitioner,我们就像搭积木一样搭建神经网络。
考虑32323的一个数据集,一个图一共3072个数,我们想知道这个图属于哪一类。
f(x,W)来表示,x是image,W是parameters。输入图片,输出分类。
最简单的线性分类器\(fx,W,b) = Wx+b\),W是10*3072的矩阵,x是3072*1的矩阵,b是10*1的bias。我们通过不断的调整W和b来到最佳的结果。
tips1:线性分类器做了什么?W就像一个模版匹配,它实际上是用一些分数的加权和,与自己想要的颜色匹配。我们可以把图片想成高伟空间的点,然后线性分类器就是每一条线,描绘这个取样空间中负点指向正点方向的梯度。沿着这条直线,你会得到0分,如果在正方向,距离越远分数越高。
tip2:什么东西线性分类系很难去分类?你的图片如果在3072高维空间是一个圆,那么一条直线很难去很好的分割(自行脑补画面)。灰度图片很难用线性分类器去做,因为特征不够。
定义损失函数,能够quantifying what it means to have a good W.
1. cs231n k近邻和线性分类器 Image Classification的更多相关文章
- 最近邻分类器,K近邻分类器,线性分类器
转自:https://blog.csdn.net/oldmao_2001/article/details/90665515 最近邻分类器: 通俗来讲,计算测试样本与所有样本的距离,将测试样本归为距离最 ...
- cs231n笔记:线性分类器
cs231n线性分类器学习笔记,非完全翻译,根据自己的学习情况总结出的内容: 线性分类 本节介绍线性分类器,该方法可以自然延伸到神经网络和卷积神经网络中,这类方法主要有两部分组成,一个是评分函数(sc ...
- cs231n笔记 (一) 线性分类器
Liner classifier 线性分类器用作图像分类主要有两部分组成:一个是假设函数, 它是原始图像数据到类别的映射.另一个是损失函数,该方法可转化为一个最优化问题,在最优化过程中,将通过更新假设 ...
- 【Python 代码】CS231n中Softmax线性分类器、非线性分类器对比举例(含python绘图显示结果)
1 #CS231n中线性.非线性分类器举例(Softmax) #注意其中反向传播的计算 # -*- coding: utf-8 -*- import numpy as np import matplo ...
- 机器学习 —— 基础整理(三)生成式模型的非参数方法: Parzen窗估计、k近邻估计;k近邻分类器
本文简述了以下内容: (一)生成式模型的非参数方法 (二)Parzen窗估计 (三)k近邻估计 (四)k近邻分类器(k-nearest neighbor,kNN) (一)非参数方法(Non-param ...
- chapter02 K近邻分类器对Iris数据进行分类预测
寻找与待分类的样本在特征空间中距离最近的K个已知样本作为参考,来帮助进行分类决策. 与其他模型最大的不同在于:该模型没有参数训练过程.无参模型,高计算复杂度和内存消耗. #coding=utf8 # ...
- 机器学习之路: python k近邻分类器 KNeighborsClassifier 鸢尾花分类预测
使用python语言 学习k近邻分类器的api 欢迎来到我的git查看源代码: https://github.com/linyi0604/MachineLearning from sklearn.da ...
- cs231n线性分类器作业 svm代码 softmax
CS231n之线性分类器 斯坦福CS231n项目实战(二):线性支持向量机SVM CS231n 2016 通关 第三章-SVM与Softmax cs231n:assignment1——Q3: Impl ...
- [基础]斯坦福cs231n课程视频笔记(一) 图片分类之使用线性分类器
线性分类器的基本模型: f = Wx Loss Function and Optimization 1. LossFunction 衡量在当前的模型(参数矩阵W)的效果好坏 Multiclass SV ...
随机推荐
- iptables命令
iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分.可以直接配置,也可以通过许多前端和图形界面配置. 语法 iptables(选项)(参数) 选项 -t<表&g ...
- Haproxy重刷一次
centos上,yum安装,完全无难度. 只是设置时,要注意一下跳转,和nginx规则差不多. https://blog.csdn.net/qq_28710983/article/details/82 ...
- 一脸懵逼学习oracle(图形化界面操作---》PLSQL图形化界面)
1:经过几天的折腾,终于将oracle安装成功,创建用户,授权等等操作,接下来就安安心心学习oracle: 安装好PLSQL图形化界面和汉化以后(过程自己百度吧,百度more and more),登录 ...
- WebClient 支持 gzip, deflate
低调偷偷的下别人数据 发现下出来乱码- 用F12看看请求,原来人家是用了gzip压缩的- 试着自己加个Heading wc.Headers.Add("Accept-Encoding" ...
- Oier们的镜子(mirror)
题解: 这题真是把我坑的很惨.. 题目看了很久才看懂.. 然后刚开始又没看见每个只能匹配一个这种条件 #include <bits/stdc++.h> using namespace st ...
- redcontrol for SL 中文化及样式选择
app.xaml.cs public partial class App: Application { public App() { //指定t ...
- Kudu Native RDD
Spark与Kudu的集成同事提供了kudu RDD import org.apache.kudu.spark.kudu.KuduContext import org.apache.spark.{Sp ...
- SSH免密远程登陆及详解
SSH(安全外壳协议):为建立在应用层和传输层基础上的安全协议,ssh是目前较为可靠,专门为远程登陆,会话和其他网络服务提供安全 协议.利用ssh协议可以有效的防止远程管理过程中的信息泄露问题,传统的 ...
- Berlekamp-Massey算法简单介绍
请阅读本文的同学们注意:之前这篇博客和所附代码有点问题,求的不一定是最短递推式,非常抱歉 看毛爷爷的论文大概断断续续看了一个月了,看得不是很懂,google了一波好像很快就看懂了,就先口胡一下这个算法 ...
- sqlldr的使用
1,在公司进行预处理的时候,发现文件不能入库,而公司前辈使用的是sqlldr的技术将解析后的文件入库,前辈在测试的时候使用的是本机上的数据库(见图一),没有使用完整的远程连接oracle的正确方式,所 ...