什么是非监督学习(unsupervised learning)?
在监督学习中,我们的数据特征有一部分作为输入,一个特征作为输出。 输出特征是标签好的数据,我们已经提前知道会输出的分类结果。 比如有一个笼子,里面有很多水果,香蕉,苹果等等。监督学习中我们知道里面都有啥水果,我们会根据他的尺寸颜色等属性去判断它属于哪个种类。
▪ In supervised learning, the dataset consists of attribute (input) and target (output)
▪ Labelled data
在非监督学习中,我们的数据特征全部是作为输入的。 我们不知道笼子里到底有啥水果,只能通过这些水果的相似性去判断哪些水果是一类。
▪ In unsupervised learning, the dataset consists of attributes (input) only
▪ Unlabelled data
聚类: 一种揭示数据中潜在结构的方法
▪ Clustering - a method for uncovering latent structure in data
▪ Group the data points into separate clusters 将数据点分组到单独的集群中
聚类应用
- 将目标市场划分成更小或更多的市场
- 检查购买历史,活动等。
- 相似特征组(需求、位置、利益或人口统计)
- 发现假新闻
- 检查文章中的单词、耸人听闻的/常用的词
K-Means Clustering
K-Means是非监督学习中的一种聚类的方法。
▪ Each cluster is represented by the center of the cluster (centroid) 每个簇由簇的中心表示(质心)
如下图, 我们这里设K=2,那么这就是一个二分类的问题。 随机找二个 centroid,如图下黄点和紫色点。 剩余的其他点通过距离计算与黄的近的就属于 黄色的centroid,离紫色点近的就属于紫色的centroid。
第一步执行完后如图下,所有的点都被分成了黄点和紫点。
当然还没有完, 接下来需要重新在这二个集群中选取各自新的centroid,选取标准是计算 上面分好的集群到某一个点的SSE(the sum of the squared differences between each point and its centroid.) SSE= (xi - Cj) ^2. 分好新的centroid后再计算每个点到这些centroid的距离,距离哪个centroid最近,这些点就属于那个聚集。 再选择新的centroid,直到这些点不再变化。
K-means++
因为K mean的 初始K的选取对结果影响很大,所以 Kmean++ 在K的选取上做了改进。
首先随机选取一个centroid K1,然后计算所有点到K1的距离。 接着其实就是选择了距离最远的点做为K2,一直重复到选好我们需要的Centroid总数。
Choosing the value of K 选择最合适的K值
计算成本函数:
计算这些K值的成本函数,然后寻找拐点,一般观点就是最佳的K值选取。
如下图,6-8也许是最好的K值。
Hierarchical Clustering 分层聚类
▪K-means是一种基于目标的方法,需要我们预先指定集群数量𝐾
▪最终结果是随机的我们从初始化开始
▪层次聚类是一种不需要的替代方法,一个预先指定的𝐾选项,它提供一个确定的结果
▪自底向上或聚集的层次集群
1. 每一个数据点一开始作为自己的聚类
选取二个最近的点结合成一个聚类。
接下来重复计算,选取最近的点作为聚类。
直到所有的点成为一个聚类。
我们使用直方图来显示分层聚类的结果。
下图中直方图分支的高度显示了这些的相似度, 分支的高度越高,它们的相似度越低。图中
point 0,5 的相似度和point 4,6的相似度是一样的,因为它们的高度相同。
8和1的相似度不如8和7与4之间的相似度。
图下所示是对直方图的切割, 比如我们要将所有的点分为2类,则k=2, 图下中间那样分为了绿色和红色。 将所有的点分为3类,则k=3,图下右边那样。
Linkage链接决定了聚类, 点之间的距离。
Single Linkage
- 在单连锁(SL)即最近邻连锁中,距离在𝐺之间,𝐻是两个数据点之间的最小距离不同的集群
群集用不同来标记颜色。单链接,𝑑𝑆𝐿𝐺,𝐻为最近的一对的距离。
Complete Linkage
- 在完全连锁(CL)中,即最近邻连锁中,距离𝐺之间,𝐻是不同的集群的两个数据点之间的最大距离
Average Linkage
- 在平均连锁(GA)中,𝐺、𝐻之间的距离为平均值相对簇中所有数据点的距离
Ward Linkage
- 在并区连锁中,距离合并为两个聚类为时方差的增加
RECAP:
这篇介绍了非监督学习,它的特征是input only, unlabel data。
Clustering 属于非监督学习的一种,主要是将具有相似特征的物体归纳在一起。 文章中归纳了二种clustering方法,一种是K-mean, Kmean受一开始选取的K值影响很大。 一种是Hierarchical clustering, 根据距离会生成一个直方图,可以根据需要分类的个数切割直方图。 Linkage是计算不同聚类之间或者聚类与点之间的距离,有smallest linkage, complete linkage, ward linkage,average linkage。
下一篇,会使用python做clustering的实验。