距离度量(特性相同导致差距很小):
闵可夫斯基距离(用来处理分类):
假设有两个样本点x1,x2,两者间的闵可夫斯基距离Lp中有
当p=1时,称为曼哈顿距离(把所有向量中每个维度的差的绝对值求和)
当p=2时,称为欧氏距离
当p=∞时,称为切比雪夫距离
切比雪夫距离比欧式距离小,欧式距离比曼哈顿距离要小
带权平均数(用来处理回归):假设有a1,a2 ,a3三个数,对应的权重分别是p1, p2 , p3,则a的平均值为(p1a1 + p2a2 + p3a3) 除于p1+p2+p3
KNN算法:
概念:
KNN算法 (k-NearestNeighbor 又称K近邻算法)
有监督学习算法(也是通过x和y来得到对应的结果)
处理类型(kNN算法既能处理分类又能处理回归)
算法类型(通过距离的较小来判断数据)
距离度量(闵可夫斯基距离或带权平均数)
K最近邻:就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表(如果有些数据是属于两个区域中间的,那么就要判断外标签中特征交叉最多的是哪个区域,这样的联系越多那就可以证明是哪个区域的)
K近邻法是一种很基本的机器学习方法,能做分类和回归任务
分类问题:通过所选的K个最近样本,某类样本最多就判断为某类(少数服从多数,不看距离圆心最近的样本是哪个,看距离圆心的K个样本属于哪类的最多)
回归问题:可以把分类中的样本换成数值当成特征代入带权平均值的公式中求得圆心样本点预测出来的结果
根据训练集训练一个KNN模型,然后预测一部影片的电影类型:
第一步:将训练集中的所有样例画入坐标系,也将待测样例画入
第二步:计算待测分类的电影与所有已知分类的电影的欧式距离
第三步:将这些电影按照距离升序排序,取前k个电影,假设k=3,而这三部电影全是爱情片,因此我们判定未知电影是爱情片(求得欧式距离后,选择距离较大的K个数据,图像上映射得到一个对应的特征空间然后进行判断,距离越近,相似度越高),这里的K选择的圆心就是待测分类的电影,看未知待求的数据作圆心离哪类数据最近
kNN的三个基本要素(先训练出区域然后再把待测数据放入模型进行预测):
(1)距离度量
在引例中所画的坐标系,可以叫做特征空间。特征空间中两个实例点的距离是两个实例点相似程度的反应(距离越近,相似度越高)。kNN模型使用的距离一般是欧氏距离,但也可以是其他距离如:曼哈顿距离
(2)k值的选择(取最近的K个样本点之后就得到相应的区域)
k值的选择会对kNN模型的结果产生重大影响。选择较大的k值,相当于用较大邻域中的训练实