机器学习 之KNN近邻法
2024-08-24 08:00:54
目录
1、KNN近邻法
KNN模型由三个基本要素决定:
距离度量:其中欧式距离一般误差最小,\(x_{i} 和 x_{j}\)为两个样本点:\[L_{2}(x_{i}, x_{j}) = (\sum\limits_{l=1}^{n} |x_{i}^{(l)} - x_{j}^{(l)}|)\]
k值的选择:k较小->近似误差会减小,估计误差会增大,模型变复杂,容易过拟合;k较大->估计误差减小,近似误差增大,模型变简单。k值一般取一个比较小的数值。
分类决策规则:分类损失函数是误分类率:
\[L = \frac{1}{k} \sum\limits_{x_{i} \in N_{k}(x)} I(y_{i} \ne c_{j}) = 1 - \frac{1}{k} \sum\limits_{x_{i} \in N_{k}(x)} I(y_{i} = c_{j}) \]
要使误分类率最小,即经验风险最小,就要使$\sum\limits_{x_{i} \in N_{k}(x)} I(y_{i} = c_{j}) $最大,所以多数表决规则等价于经验风险最小化。
KNN算法流程:
输入:训练数据集D; 输出:实例x所属的类y。
根据给定的距离度量,在训练集D中找到与x最近邻的k个点,涵盖这k个点的x邻域记作\(N_{k}(x)\);
在\(N_{k}(x)\)中根据分类决策规则决定x的类别y(如多数表决):
\[y = arg \ max_{c_{j}} \sum\limits_{x_{i} \in N_{k}(x)} I(y_{i}=c_{j})\]
其中\(I\)为指示函数,即当\(y_{i}=c_{j}\)时\(I\)为1,否则\(I\)为0;
- kd树:是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。其选择训练实例点在选定坐标轴上的中位数为切分点,从而将实例分配为两部分,依次循环构建树形结构。目标点的最近邻一定在以目标点为中心并通过当前最近点的超球体的内部。
最新文章
- C# 中的委托和事件
- 织梦系统“当前位置”{dede:field.position}的修改方法
- ubuntu下安装mysql
- JavaScript基础13——js的string对象
- SQL中char、varchar、nvarchar的区别
- asp.net下ajax.ajaxMethod使用方法
- Mybatis-Generator 自动生成Dao、Model、Mapping相关文档
- 快速设计一个简单的WPF串口上位机
- C语言--函数
- c++程序猿经典面试题
- 基于easyui的webform扩展(续)
- WPF自学入门(三)WPF路由事件之内置路由事件
- SQL 创建分区表
- python———day03
- Windows Server 2016-增强IPAM
- vue之综合Demo:打沙袋
- SunRain
- windows10 VM12 安装Mac OS X 10.11
- [HNOI2007]梦幻岛宝珠 「套路:分层 $DP$」
- 使用 requests 进行身份认证