1、原型聚类
1.1 K-means聚类算法
核心思想:在所有的训练样本当中,随机的选择K个样本作为初始化的聚类中心,之后计算其他样本到这K个聚类中心的距离,根据距离的远近分成K个簇,离哪一个聚类中心近就属于哪一类,由此就得到了K个簇。之后计算K个簇的中心点,如果K个簇的中心点都不发生更新,那么聚类结束。如果有聚类中心发生了更新,那么就由新的聚类中心替代旧的聚类中心,然后重新计算距离,不断迭代,直到聚类中心不再发生改变为止
1.2 LVQ学习向量量化
核心思想:首先训练集的样本是含有标签的,从训练集中随机初始化p个原型向量,然后从训练集中抽出一个样本,计算该样本与原型向量之间的距离,找到与该样本距离最小的原型向量,如果该原型向量的标签与该样本的标签一致,那么原型向量就向该样本移动,如果标签不一致,那么原型向量就远离该样本。通过不断的迭代,最终得到p个原型向量,之后计算未知标签的样本与p个原型向量之间的距离,离哪个原型向量最近,就属于哪一类
注意:该算法用到的样本是含有标签的,用来在已知标签的基础上进一步进行聚类,如本来是2类,需要把它划分为5类
1.3 高斯混合聚类
核心思想:把概率模型当做原型向量,计算每个样本由每个概率模型产生的概率,再更新概率模型当中的参数,由此不断的循环,最终得到概率模型,将未知的样本带入到概率模型当中,哪个概率模型产生这个样本的概率最大,就属于哪一个类别
假设设定k个概率模型,从训练集中随机抽出一个样本放入到k个概率模型当中,得到k个概率(这里的概率表示的是这个概率模型生成这个样本的概率),通过将训练集中的样本都带入到k个概率模型当中,就可以更新概率模型的参数,完成参数更新。最终得到k个概率模型,代表k个簇。当遇到未知样本时,通过计算它由哪个概率模型产生出来的概率最大,就属于哪一个类别
2、密度聚类:DBSCAN算法
核心思想:通过设定邻域大小以及邻域内最少包含的样本数量,可以从训练集中得到核心对象集合,然后随机的从核心对象集合当中抽出一个,找到该核心对象所有密度可达的样本,由此形成了第一个簇。将这个簇里的核心对象从核心对象集合当中去除,然后再从核心对象中随机的抽出一个,找到该核心对象所有密度可达的样本,形成另一个簇。不断重复,知道核心对象集合变成空集,结束
3、层次聚类:AGNES算法
核心思想:计算训练集中各个样本之间的距离,将距离最近的样本归为一类,不断的向上计算距离,得到不同的层次