《机器学习》 KNN算法

本文介绍了机器学习中的K近邻(KNN)算法,主要用于分类。KNN算法的核心思想是对新实例找寻最近的k个训练点,根据这些点的类别决定新实例的分类。随着k值的变化,分类结果可能不同。文章还提到了距离加权的改进方法,以及KNN算法的健壮性、维度灾难问题和解决策略,以及如何通过kd-tree等方法提高搜索效率。
摘要由CSDN通过智能技术生成

《机器学习》 第八章 基于实例的学习 

k-近邻算法 学习笔记


1.用途:

KNN算法主要用来分类。


2.概述和核心思想:


概述为一句话即为:

对于每个新实例,找出训练集(x(x为n维向量,x^n代表n维空间),y)空间中最靠近它的k个点,找出这k个点中出现次数最多的y值,将这个y值赋值给新实例的输出,从而以y取值的不同来分类。


思路与梯度下降的区别:

基于实例,顾名思义,这里的实例即训练集是已经知道输入参数x(多维向量),y=f(x),y也已知道,但是f(x)未知。

而既然是基于实例,前提则是训练集足够大。

因此可以使得KNN不用形成关于目标函数 f(x) 的明确函数公式,这点和之前的梯度下降算法有本质的区别:

梯度下降算法本质是在寻找公式,先自己假定一个函数,比如线性公式 y=f(x)=c0*x0+c1*c1 梯度下降的训练集虽然也是已经输入x和输出y。

但是梯度下降算法的思想是在寻找合适的c0,c1来明确化 目标函数。

而KNN不需要明确的目标函数公式,这点上KNN显得比较高帅富。

3.

如下图,A类点为圆圈(假设y=0),B类点为方形(假设y=1),新实例点C为中间红色星号。

当k=4时,如下蓝色圆圈内的4个点,其中有A点3个,B点1个&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值