k-means: K均值聚类。
目的是把n个点(样本的观察或实例)划分成k个聚类,使得每个点都属于离他最近的均值(聚类中心)对应的聚类,以之作为聚类的标准。
算法:已知观测集(x1, x2, ... , xn),每个观测都是d维实向量,现用k均值聚类将这些向量分配到k个集合中(k小于等于n),使得组内平方和(wcss)最小,即找到满足下式的聚类si:
ui为si中所有点的均值
步骤:
- 初始化。随机选取k个观测作为初始均值点。
- 分配:对每个观测,分配到聚类中,是的组内平方和(wcss,可采用欧氏距离)最小。
- 更新:对每一类聚类,更新均值点。(算术平均是最小二乘估计,同样可以减小wcss值)
- 直到收敛,即均值点不再变化。
k近邻:又称Knn算法。
“多数表决”。训练样本是多维特征空间向量,其中每个训练样本带有一个类别标签。
算法的训练阶段只包含存储的特征向量和训练样本的标签。
在分类阶段,k是一个用户定义的常数。
一个没有类别标签的向量(查询或者测试点)将被归类为最接近(一般用欧式距离)该点的k个样本点钟最频繁使用的一类。
k-means用于划分k个聚类,k近邻用于给未知类别的点归类、分类,两者没有关系。