zengbin93 / blog

17 stars 10 forks source link

机器学习 - 聚类算法 - 学习笔记 #39

Open zengbin93 opened 6 years ago

zengbin93 commented 6 years ago

聚类算法和分类算法的最主要区别是:聚类算法可以使用没有标签的数据;分类算法通常都需要数据带标签。

这里,主要介绍几类实践中常用的聚类算法及其使用方法。

几个基本概念

参考资料

zengbin93 commented 6 years ago

K-Means

找到最小平方误差需要考察所有可能的簇划分,这是一个NP难问题;因此K-Means算法采用了贪心策略来近似求解。

算法过程基本描述:1)输入样本集和类簇数量K;2)随机选择k个样本初始化均值向量;3)计算每个样本与所有均值向量的距离,将样本归属到距离最近的类簇;4)重复2/3步骤,直到均值向量不更新、或者达到最大迭代次数

K-Means算法的目标函数是非凸函数,容易陷入局部最优;为了得到更好的结果,可以使用不同的初始均值向量多次运行。

参考资料

zengbin93 commented 6 years ago

DBSCAN

英文全称: Density-Based Spatial Clustering of Application with Noise

DBSCAN是典型的密度聚类算法。它基于“领域(neighborhood)”来刻画样本分布的紧密程度。

参考资料