聚类的应用场景没有分类广泛,而由于无监督其算法效果也不足以运用到生产环境中去,不过其仍然是机器学习中的一个重要组成部分。文本聚类常见的应用场景就是文档标签生成,热点新闻发现等等,另外,在处理文本特征时,也可以使用聚类形成特征的低维表示。本文主要从基于特征、潜在语义分析、深度学习两个类型的方法来描述文本聚类这个任务。
一、基于文本特征的方法
特征表示 文本在分类和聚类的任务中,其特征表示都是一样的。参考原创 自然语言处理-文本分类入门
1.K-Means算法
K-means算法是聚类算法中的最常用的一种,其计算简单,运算速度快。但是要求:
- 数据之间的相似度可以使用欧氏距离度量(欧式距离越近的两个数据其相似性越高)
- 提前指定类簇个数
其算法概括为:1. 初始化k个对象作为初始聚类中心2. 把各个对象分配给距离它最新的聚类中心点3. 重新计算聚类中心终止条件: 没有对象被重新分配 或者 没有聚类中心变化 或者误差平方和局部最小
K-means算法存在问题
- K需要人工确定
- 初始聚类中心点怎么确认。
- 离群点影响显著
对于问题1 可以对数据进行简单分析得到,也可以利用基于结构的算法(如使用平均轮廓系数,越趋近1聚类效果越好)或者基于变化的算法(即定义一个函数,随着K的改变,认为在正确的K时会产生极值)。具体方法可以参见总结 对于问题2 初始聚类中心点可以通过多次随机选择来获取,也可以选择距离尽量大的k个点,或者先采用层次聚类选择K个聚类点并利用这些中心作为初始点
2.均值漂移算法
均值漂移算法经常被应用在图像识别中的目标跟踪、数据聚类等场景