《机器学习》 第八章 基于实例的学习
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个&#