knn和线性分类器
一、knn算法概述
knn首选是最简单的分类算法,其是有监督学习的分类算法之一。
二、knn算法过程
knn(k nearest neighbors k个最近的邻居):knn是当预测一个新的值x的时候,根据它距离k个点是什么类别来判断所属的类别。(具体理解见下图)


注意到k的选取和点的距离的计算方式有关,会影响最终的结果。
三、距离的计算方式
L1距离(曼哈顿距离)

L2距离(欧式距离)

四、K值选择
K值的选取是根据交叉验证,从选取一个较小的K值开始,不断增加k的值,最终找到一个合适的K值。另外,交叉验证的图大致如下:

错误率是先降低,再升高。原因是首先周围有更多的样本可以借鉴了,分类准确率会更高一点。其次就是当K的增大的过程中,Knn就没有什么意义了。
五、Knn特点
非参的:
这个模型不会对数据做出任何的假设,另外这个模型的建立是根据数据来决定的。对比的是,线性回归则是首先假设线性回归是一条直线。
惰性:
没有明确的训练过程或者是因为训练过程很快。
Knn算法优点
1.相对于其他算法更简单易用。
2.模型训练更快。
3.预测效果好。
4.对异常值不敏感。
Knn算法缺点
1.预测阶段缓慢
2.对内存要求较高
3.对不相关的功能和数据规模敏感
六、knn与k-means的区别
knn算法:
knn算法基于k个周围的邻居来对未标记的观察进行分类,不用对未看见的数据集进行泛化。
k-means算法:
牧师-村民模型
有四个牧师去郊区布道,一开始牧师们随意选了几个布道点,并且把这几个布道点的情况公告给了郊区所有的村民,于是每个村民到离自己家最近的布道点去听课。
听课之后,大家觉得距离太远了,于是每个牧师统计了一下自己的课上所有的村民的地址,搬到了所有地址的中心地带,并且在海报上更新了自己的布道点的位置。
牧师每一次移动不可能离所有人都更近,有的人发现A牧师移动以后自己还不如去B牧师处听课更近,于是每个村民又去了离自己最近的布道点……
就这样,牧师每个礼拜更新自己的位置,村民根据自己的情况选择布道点,最终稳定了下来。
算法步骤
1.选择初始化的 k 个样本作为初始聚类中心 a=a1,a2,…ak ;
2.针对数据集中每个样本点计算它到 k 个聚类中心的距离,并将其分到距离最小的聚类中心所对应的类中;
3.针对每个类别点 ,重新计算它们的聚类中心;
4.重复上述2、3两步,直到达到某个终止条件
七、线性分类器
模型介绍
线性分类器是一种线性映射,将输入的图像特征映射为类别分数。

决策规则:若某个分类的得分比其他都要大,则该图片属于这个分类。
分类过程
1.图像表示成向量

2.计算当前图片每个类别的分数

3.通过类别得分判定当前图像属于猫类
模型特点
形式简单、易于理解
通过层级结构(神经网络)或者高维映射(支 撑向量机)可以
形成功能强大的非线性模型
knn和线性分类器的更多相关文章
- 第二节课-Data-driven approach:KNN和线性分类器分类图片
2017-08-12 1.图片分类是很多CV任务的基础: 2.图片分类要面临很多的问题,比如图片被遮挡,同一种动物有很多种颜色,形状等等,算法需要足够强壮: 3.所以很难直接写出程序来进行图片分类,常 ...
- 1. cs231n k近邻和线性分类器 Image Classification
第一节课大部分都是废话.第二节课的前面也都是废话. First classifier: Nearest Neighbor Classifier 在一定时间,我记住了输入的所有的图片.在再次输入一个图片 ...
- cs231n笔记 (一) 线性分类器
Liner classifier 线性分类器用作图像分类主要有两部分组成:一个是假设函数, 它是原始图像数据到类别的映射.另一个是损失函数,该方法可转化为一个最优化问题,在最优化过程中,将通过更新假设 ...
- 2. SVM线性分类器
在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.用一个二维空间里仅有两类样本的分类问题来举个小例子.如图所示 和是要区分的两个类别,在二维平面中它们的样本如上图所示.中间的直 ...
- cs231n笔记:线性分类器
cs231n线性分类器学习笔记,非完全翻译,根据自己的学习情况总结出的内容: 线性分类 本节介绍线性分类器,该方法可以自然延伸到神经网络和卷积神经网络中,这类方法主要有两部分组成,一个是评分函数(sc ...
- Python机器学习(基础篇---监督学习(线性分类器))
监督学习经典模型 机器学习中的监督学习模型的任务重点在于,根据已有的经验知识对未知样本的目标/标记进行预测.根据目标预测变量的类型不同,我们把监督学习任务大体分为分类学习与回归预测两类.监督学习任务的 ...
- cs331n 线性分类器损失函数与最优化
tip:老师语速超快...痛苦= = 线性分类器损失函数与最优化 \(Multiclass SVM loss: L_{i} = \sum_{j \neq y_{i}} max(0,s_{i}-s_{y ...
- 文本分类学习 (八)SVM 入门之线性分类器
SVM 和线性分类器是分不开的.因为SVM的核心:高维空间中,在线性可分(如果线性不可分那么就使用核函数转换为更高维从而变的线性可分)的数据集中寻找一个最优的超平面将数据集分隔开来. 所以要理解SVM ...
- SVM入门——线性分类器的求解,核函数
一.问题的描述 从最一般的定义上说,一个求最小值的问题就是一个优化问题(也叫寻优问题,更文绉绉的叫法是规划——Programming),它同样由两部分组成,目标函数和约束条件,可以用下面的式子表示: ...
- cs231n线性分类器作业 svm代码 softmax
CS231n之线性分类器 斯坦福CS231n项目实战(二):线性支持向量机SVM CS231n 2016 通关 第三章-SVM与Softmax cs231n:assignment1——Q3: Impl ...
随机推荐
- 亿级Web系统负载均衡几种实现方式
负载均衡(Load Balance)是集群技术(Cluster)的一种应用技术.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用是Web负载均衡.根据实现的原理 ...
- 用PHPstudy nginx 配置tp6 隐藏访问链接中的index.php
在server 里面加上如下这个判断就好了 if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; 配置在对应网 ...
- GPT-NER:通过大型语言模型的命名实体识别
讲在前面,chatgpt出来的时候就想过将其利用在信息抽取方面,后续也发现了不少基于这种大语言模型的信息抽取的论文,比如之前收集过的: https://github.com/cocacola-lab/ ...
- 【Azure API 管理】APIM如何实现对部分固定IP进行访问次数限制呢?如60秒10次请求
问题描述 使用Azure API Management, 想对一些固定的IP地址进行访问次数的限制,如被限制的IP地址一分钟可以访问10次,而不被限制的IP地址则可以无限访问? ChatGPT 解答 ...
- selenium控制文件下载位置
selenium控制文件下载位置 我们在自动化下载文件的时候势必存在一种需求: 通过chrome将文件保存到指定位置 1. google窗口实现 配置'prefs'将文件下载到指定位置, 并通过判 ...
- SQL语句获取数据表结构定义,适合导出EXCEL为文档
SELECT 表名 = Case When A.colorder=1 Then D.name Else '' End, 表说明 = Case When A.colorder=1 Then isnull ...
- Windows的Mysql5.7社区版的安装详细操作,从无到有,安装配置一条龙服务。(压缩包自行安装,非installer安装)
换了一个电脑,所有软件.环境都得重新来安装一次,安装到Mysql的时候,发现网上有两种安装方式,一种是Mysql的压缩包安装方式,这种方式直接到官网下载Mysql的压缩包,解压之后做些配置就可以了,另 ...
- ubuntu18.04.4修改静态ip
ubuntu18.04.4修改静态ip 修改interfaces文件 sudo vim /etc/network/interfaces
- 2022-08-16:绳子总长度为M, 100 -> M, (6, 100) (7,23) (10,34) -> arr, 每一个长度的绳子对应一个价格,比如(6, 10)表示剪成长度为6的绳子,对应
2022-08-16:绳子总长度为M, 100 -> M, (6, 100) (7,23) (10,34) -> arr, 每一个长度的绳子对应一个价格,比如(6, 10)表示剪成长度为6 ...
- pywin32和wmi的安装和测试
E:\pyAPP\Madking\MadKingClient>python bin\NedStark.py collect_dataE:\pyAPP\Madking\MadKingClientT ...