在非监督学习中,训练数据是没有加标签的。
下面是一些最重要的非监督学习算法:
- 聚类
- 均值
- 层次聚类分析(Hierarchical Cluster Analysis,HCA)
- 期望最大值
- 可视化和降维
- 主成分分析(Principal Component Analysis,PCA)
- 核主成分分析
- 局部线性嵌入(Locally-Linear Embedding,LLE)
- t-分布邻域嵌入算法(t-distributed Stochastic Neighbor Embedding,t-SNE)
- 关联性规则学习
- Apriori 算法
- Eclat 算法
例如,假设有一份关于博客访客的大量数据。想运行一个聚类算法,检测相似访客的分组。算法无需知道访客属于哪一类:它会自己找出关系,无需帮助。例如,算法可能注意到 40% 的访客是喜欢漫画书的男性,通常是晚上访问,20% 是科幻爱好者,他们是在周末访问等等。如果使用层次聚类分析,它可能还会细分每个分组为更小的组。这可以帮助为每个分组定位博文。
与此有关联的任务是降维,降维的目的是简化数据、但是不能失去大部分信息。做法之一是合并若干相关的特征。例如,汽车的里程数与车龄高度相关,降维算法就会将它们合并成一个,表示汽车的磨损。这叫做特征提取。
另一个重要的非监督任务是异常检测(anomaly detection) —— 例如,检测异常的信用卡转账以防欺诈,检测制造缺陷,或者在训练之前自动从训练数据集去除异常值。异常检测的系统使用正常值训练的,当它碰到一个新实例,它可以判断这个新实例是像正常值还是异常值。