热门推荐








knn和kmeans的区别
knn属于监督学习,类别是已知的,通过对已知分类的数据进行训练和学习,找到这些不同类的特征,再对未分类的数据进行分类。kmeans属于非监督学习,事先不知道数据会分为几类,通过聚类分析将数据聚合成几个群体。
knn和kmeans的区别
1.KNN算法是分类算法,分类算法肯定是需要有学习语料,然后通过学习语料的学习之后的模板来匹配我们的测试语料集,将测试语料集合进行按照预先学习的语料模板来分类
2Kmeans算法是聚类算法,聚类算法与分类算法最大的区别是聚类算法没有学习语料集合。
K-means算法是聚类分析中使用最广泛的算法之一。它把n个对象根据他们的属性分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。
Kmeans算法的缺陷
聚类中心的个数K 需要事先给定,但在实际中这个 K 值的选定是非常难以估计的,很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适
Kmeans需要人为地确定初始聚类中心,不同的初始聚类中心可能导致完全不同的聚类结果。(可以使用Kmeans++算法来解决)
针对上述第2个缺陷,可以使用Kmeans++算法来解决
K-Means ++ 算法
k-means++算法选择初始seeds的基本思想就是:初始的聚类中心之间的相互距离要尽可能的远。
从输入的数据点集合中随机选择一个点作为第一个聚类中心
对于数据集中的每一个点x,计算它与最近聚类中心(指已选择的聚类中心)的距离D(x)
选择一个新的数据点作为新的聚类中心,选择的原则是:D(x)较大的点,被选取作为聚类中心的概率较大
重复2和3直到k个聚类中心被选出来
利用这k个初始的聚类中心来运行标准的k-means算法
从上面的算法描述上可以看到,算法的关键是第3步,如何将D(x)反映到点被选择的概率上,一种算法如下:
先从我们的数据库随机挑个随机点当“种子点”
对于每个点,我们都计算其和最近的一个“种子点”的距离D(x)并保存在一个数组里,然后把这些距离加起来得到Sum(D(x))。
然后,再取一个随机值,用权重的方式来取计算下一个“种子点”。这个算法的实现是,先取一个能落在Sum(D(x))中的随机值Random,然后用Random -= D(x),直到其<=0,此时的点就是下一个“种子点”。
重复2和3直到k个聚类中心被选出来
利用这k个初始的聚类中心来运行标准的k-means算法
猜你喜欢内容
-
上大学要体检哪些方面?
大学入学体检项目:1.常规项目:血压、心率、身高、体重,胸围差、腹围臀围等,评估营养、形态发育等一...
-
艺术类大专比较好的学校有哪些?
①上海工艺美术职业学院上海工艺美术职业学院是上海市唯一一所独立设置的艺术设计类高职院校,是上海市...
-
艺术类专科有必要上吗?
其中艺术类专科还是有必要读的,其实不管是本科还是专科到了大学这个学习阶段,与高中的学习大大不同,...
-
设施农业与装备专业就业前景如何?
设施农业是最具活力的现代新农业,是实现集约高效可持续发展的现代农业生产方式,也是提高我国农村生产...
-
什么是工程物流管理专业?
工程物流管理是中国普通高等学校专科专业。本专业面向大型工程建设企业的工程物流一线技术管理岗位,培...
-
海洋机器人专业主要学什么?
海洋机器人是一门将水动力分析、控制技术、传感器技术、人工智能、计算机仿真等高科技手段综合运用于海...
-
电气工程师好不好找工作?
电气工程师工作很好找的,而且列了几点理由:①电气工程专业的需求量多年一直排在前十。②拿到证之后,...
-
大学生做兼职有哪些利弊?
一、利锻炼自己。能很好的锻炼自己各方面的能力,方便自己以后更好的融入到社会。增加阅历和经验,可以...
-
舞蹈编导专业就业前景怎么样?
编导系的主要就业行业是各舞蹈艺术团、电视台等,需求非常大。在文化高度发展的社会,政府高度重视精神...
-
什么是基础医学专业?
基础医学是中国普通高等学校本科专业。基础医学专业培养具备自然科学、生命科学和医学科学基础理论知识...