统计学习方法(第3章)k近邻法学习笔记

author author     2022-08-21     365

关键词:

第3章 K近邻法

  k近邻算法简单、直观:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。当K=1时,又称为最近邻算法,这时候就是将训练数据集中与x最邻近点作为x的类。

3.1 k近邻模型

  模型由三个基本要素——距离度量、k值得选择、和分类决策规则决定。

  3.1.1 距离度量

    技术分享

    p=2时,称为欧式距离,p=1时,称为曼哈顿距离。

  3.1.2 k值的选择

    k 值的选择会对k 近邻法的结果产生重大影响。如果选择较小的k 值,就相当于用较小的邻域中的训练实例进行预测"学习"的近似误差会减小,只有与输入实例较近的(相似的)训练实例才会对预测结果起作用但缺点是"学习"的估计误差会增大,预测结果会对近邻的实例点非常敏感山如果邻近的实例点恰巧是噪声,预测就会出错。也就是说,k值月小,相当于模型越复杂,容易发生过拟合,当k=N的时候,那么无论输入什么,都是简单的预测特为含实例最多的类,模型太简单。一般用交叉验证法来选取最优k值。

  3.1.3 分类决策规则

    多数表决规则,即由输入实例的k个近邻的训练实例中的多数类决定输入实例的类。

3.2 K近邻法的实现:kd树

  kd树是二叉树,表示对k维空间的一个划分,构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列的k维超矩形区域。kd树的每个节点对应于以k维超矩形区域。

  3.2.1 构造kd树

  技术分享

技术分享

    给出例子便于理解:

    技术分享

  3.2.2 搜索kd树

    技术分享

技术分享

    同样,给出例子便于理解:

    技术分享

    所以,利用kd树可以省去对大部分数据点的搜索,从而减少搜索的计算量。

 

机器学习笔记——k近邻法

...出为样本的类别,可以进行多类别分类。k近邻法是通过统计与未知样本最近点的训练样本的类别来投票决定未知样本的类别,不具有显式的学习过程。kk近邻法主要包含有kk值选择,距离度量以及分类决策规则三部分。1.kk近邻模... 查看详情

李航统计学习方法——算法2——k近邻法

一、K近邻算法  k近邻法(k-nearest neighbor,k-NN)是一种基本分类与回归方法,输入实例的特征向量,输出实例的类别,其中类别可取多类二、k近邻模型  2.1 距离度量         ... 查看详情

《统计学习方法》笔记--k近邻

《统计学习方法》第三章–K近邻K近邻概述K近邻算法是一种基本分类与回归模型,该算法假定给定一个实例已经标定的训练数据集,在分类或回归时对新的实例,根据其K个最近邻的训练实例的类别,通过多数表决... 查看详情

统计学习方法笔记-k近邻

统计学习方法-k近邻k近邻方法是一种惰性学习算法,可以用于回归和分类,它的主要思想是投票机制,对于一个测试实例xjx_jxj​,我们在有标签的训练数据集上找到和最相近的k个数据,用他们的label进行投票,... 查看详情

统计学习三:2.k近邻法代码实现(以最近邻法为例)(代码片段)

通过上文可知感知机模型的基本原理,以及算法的具体流程。本文实现了感知机模型算法的原始形式,通过对算法的具体实现,我们可以对算法有进一步的了解。具体代码可以在我的github上查看。代码#!/usr/bin/python3#-*-coding:utf-8-*... 查看详情

李航统计学习方法(第二版):k近邻算法简介

1简介k近邻法的输入为实例的特征向量,对应于特征空间的点;输出为实例的类别,可以取多类。k近邻法假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决... 查看详情

机器学习实战第2章k-近邻算法(k-nearestneighbor,knn)

第2章k-近邻算法<scripttype="text/javascript"src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>KNN概述k-近邻(kNN,k-NearestNeighbor)算法主要是用来进行分类的.KNN场景电影可以按照题材分类,那么如何区分&nbs 查看详情

统计学习方法(第2章)感知机学习笔记

第2章感知机感知机是二类分类的线性分类模型,其输入为实例的特征向量,感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。导入基于误分类的损失函数,利用梯度下降法对损失函数... 查看详情

第2章knn算法笔记_函数classify0

...,按照距离递增排序,选前K个样本(K<20)3,针对K个样本统计各个分类的出现次数,取最大次数的分类为未知样本的分类 函数classify0虽然只有短短的几行代码,涉及的知识点却非常多,具体的知识点整理如下: 一、程序... 查看详情

《机器学习实战》学习笔记——k近邻算法

1.numpy中一些函数的用法学习shape()用法:shape :tupleofintsTheelementsoftheshapetuplegivethelengthsofthecorrespondingarraydimensions.。  shape返回一个元组,依次为各维度的长度。shape[0]:第一维长度,shape[1]:第二维长度。  tile()用法:numpy.tile 查看详情

k近邻法机器学习

K近邻模型的3个要素1.距离度量(如欧式距离)2.k值的选择3.分类决策规则(如多数表决)线性搜索时间复杂度较高,因而引入了KD树这一数据结构,加快搜索。构造KD树搜索KD树如果实例点是随是随机分布的,kd树搜索复杂度是O(lo... 查看详情

《统计学习方法》:第三章k近邻算法

k--NNk--NN是一种基本分类和回归方法。对新实例进行分类时,通过已经训练的数据求出k个最近实例,通过多数表决进行分类。故k邻近算法具有不显式的学习过程。三个基本要素:k值选择,距离度量,分类决策规则。1.k近邻算法... 查看详情

k近邻法(代码片段)

...础。博客主页:啊四战斗霸的博客专栏:《统计学习方法》第二版——个人笔记创作不易,走过路过别忘了三连击了哟!! 查看详情

knn

...考博客:http://blog.csdn.net/c406495762/article/details/75172850#三-k-近邻算法实战之sklearn手写数字识别 K近邻法(k-nearestneighbor,K-NN)采用测量不同特征值之间的距离方法进行分类。工作原理:存在一个样本数据集合,也称作训练样本集... 查看详情

统计学习方法笔记-k近邻

统计学习方法-k近邻k近邻方法是一种惰性学习算法,可以用于回归和分类,它的主要思想是投票机制,对于一个测试实例xjx_jxj​,我们在有标签的训练数据集上找到和最相近的k个数据,用他们的label进行投票,... 查看详情

机器学习实战笔记-k近邻算法3(手写识别系统)

1准备数据:将图像转换为测试向量这次数据集还是有两种,训练数据集和测试数据集,分别有2000个,900个。我们将把一个32*32的二进制图像矩阵转换为1x1024的向量,这样前两节使用的分类器就可以处理数字图像信息了。代码:defi... 查看详情

第2章监督学习python机器学习基础教程

...拟合.222.3 监督学习算法.242.3.1 一些样本数据集252.3.2k近邻.282.3.3 线性模型352.3.4 朴素贝叶斯分类器532.3.5 决策树542.3.6 决策树集成642.3.7 核支持向量机712.3.8 神经网络(深度学习)802.4 分类器的不确定度估计.912.4.1 决... 查看详情

学习笔记k近邻归类算法

# -*- coding:utf-8 -*-__author__ = ‘Ghostviper‘"""K近邻归类算法"""from numpy import *import operatordef createDataset():    group = 查看详情