导读
可预见的未来数据分析和机器学习将成为工作中必备技能,也许已经在某个项目中讨论怎么调参优化,就像过去讨论如何优雅的写python、如何避免C++内存泄露一样常见。
一、简单介绍聚类算法
1、聚类的定义
聚类就是对大量未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小。
2、聚类的基本思想
给定一个有N个对象的数据集,构造数据的k个簇,k≤n。满足下列条件:
每一个簇至少包含一个对象;
每一个对象属于且仅属于一个簇;
将满足上述条件的k个簇称作一个合理划分。
对于给定的类别数目k,首先给出初始划分,通过迭代改变样本和簇的隶属关系,使得每一次改进之后的划分方案都较前一次好。
3、相似度/距离计算方法总结
4、K-means算法
K-means算法也被称为k均值,k值的选择、距离度量及分类决策是三个基本要素。
假定输入样本为S=x1,x2,…,xm,则算法步骤为:
选择初始的k个类别中心μ1μ2…μk;
对于每个样本xi,将其标记为距离类别中心最近的类别;
将每个类别中心更新为隶属该类别的所有样本的均值;
重复最后两步,直到类别中心的变化小于某阈值。
中止条件:
迭