K-NN算法与K-Means算法的原理与区别(附带源码示例)

KNN算法

K-Means算法

目标

确定某个元素所属的分类

将已存在的一系列元素分类

算法类别

监督的分类算法

无监督的聚类算法

数据区别

训练数据中,有明确的标签。 如:一个数据集中有几万张图片,都被打上了“苹果”的标签,另外还有几万张图片,被打上了“香蕉”的标签,数据是完全正确,知道结果的数据

几十万张各种各样水果的图片放一起,杂乱无章。

训练过程

无需训练(或者没有很明显的训练过程),将数据与训练数据直接对比

需要前期训练

K的含义

K指的是相邻数据的数目。 举个例子,假设某张图片相邻的20张图片中,有18张是打着“苹果”标签的数据,有1张是“香蕉”,1张是“樱桃”,那么这张图片的标签也是“苹果”。 那么在这个例子中,K就是20,20张相邻的图片。

K指的是分类的数目,人为设定好分为K个簇。

对比结果

K值不变的情况下,每次结果都是一样的。

K值确定后每次结果可能不同。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法全栈工程师

【DLND 机器学习算法全栈工程师】干货!小白也能看懂的神经网络入门

导语: 干货来了,Udacity Machine Learning 课程导师 Walker 亲自出马,教你简单形象有趣地掌握神经网络! 神经网络是什么?神经网络...

3385
来自专栏机器学习和数学

[机智的机器在学习] TensorFlow实现Kmeans聚类

对于机器学习算法来说,主要分为有监督学习和无监督学习,前面有篇文章介绍过机器学习算法的分类,不知道的童鞋可以去看看。然后今天要讲的Kmeans算法属于无监督算法...

38612
来自专栏专知

【干货】深度学习中的线性代数—简明教程

【导读】线性代数对于理解机器学习和深度学习内部原理至关重要,线性代数是有关连续值的数学。许多计算机科学家在此方面经验不足,传统上计算机科学更偏重离散数学。这篇博...

944
来自专栏数值分析与有限元编程

矢量函数

一个由三个变量组成的函数w = f(x,y,z)表示如何根据x,y,z来确定w的值。从几何角度更有利于对这个概念的理解:在空间笛卡尔坐标系下取一点,坐标为(x,...

2797
来自专栏深度学习与计算机视觉

理解ResNet结构与TensorFlow代码分析

该博客主要以TensorFlow提供的ResNet代码为主,但是我并不想把它称之为代码解析,因为代码和方法,实践和理论总是缺一不可。 github地址,其中...

5317
来自专栏进击的程序猿

如何构建一个简单的神经网络如何构建一个简单的神经网络

最近报名了Udacity的深度学习基石,这是介绍了第二部分神经网络入门,第一篇是线性回归背后的数学. 本文notebook的地址是:https://githu...

903
来自专栏MixLab科技+设计实验室

用谷歌新开源的deeplearnJS预测互补颜色

本文翻译自deeplearnJS的示例教程,并结合了我在学习过程中的理解。 deeplearnJS简介: deeplearn.js是用于机器学习的开源WebGL...

2738
来自专栏编程

Python数据分析-数据预处理

主题 数据预处理 一、数据清洗 主要是删除原始数据集中无关的数据、重复的数据,平滑噪声数据,筛选掉与挖掘主题无关的数据,处理异常值缺失值等操作 1. 缺失...

3876
来自专栏AI科技大本营的专栏

前沿 | DeepMind 最新研究——神经算术逻辑单元,有必要看一下!

众所周知,神经网络可以学习如何表示和处理数字式信息,但是如果在训练当中遇到超出可接受的数值范围,它归纳信息的能力很难保持在一个较好的水平。为了推广更加系统化的数...

781
来自专栏人工智能头条

TensorFlow快餐教程:程序员快速入门深度学习五步法

882

扫描关注云+社区