您的位置:首页 > 其它

【Stanford机器学习笔记】11-Unsupervised Learning

2016-05-14 21:05 330 查看
前几节主要讲了4种应用比较广泛的监督机器学习算法:线性回归,逻辑回归,神经网络,SVM。并对如何评价机器学习算法做了简要概述,其中主要包括欠拟合,过度拟合,学习曲线,正则化,precision and recall等等,接下来主要讲几种比较常用的非监督机器学习算法,例如K-means等。以及数据处理方法:PCA。

1. Clustering

1.1 Unsupervised Learning: Introduction

非监督分类即为训练数据中没有标记数据,我们要做的就是通过合适的算法(聚类)找到数据中存在的一种结构。然后对数据进行成功分类。





非监督分类也有很多应用。



1.2 K-Means Algorithm

K-Means算法的主要流程是:

(1)假设我们要从数据中分出两类,首先随机选择两个(K=2)聚类中心Centroids



(2)计算每一个样本点与各聚类中心的距离,根据距离的大小将样本点分配给距离最小的聚类中心类别c(i)。



(3)对分配给某一聚类中心的所有样点求取平均值,移动聚类中心到新的聚类中心,然互再进行第二步,将所有样本点重新计算



(4)依次循环第二步和第三步,直至算法收敛(迭代结束)



K-Means算法的要点:

输入K个聚类中心

输入所有样本点

样本点为n维,即没有了偏差项X0

需要注意的是,如果一个聚类中心在迭代过程中没有分配任何样点,则一般是删除这个聚类中心,或者是重新随机选择一个聚类中心。





对于明显不存在簇类的数据集,K-Means也能找到合适的聚类中心进行分类,如T-shirt的型号的选择实例。



1.3 Optimization Objective

K-Means算法的代价函数又叫做失真函数(Distortion Function),目标是找到每一个样本点与对应聚类中心的最小值。





1.4 Random Initialization

(1)K-Means算法中最重要的一步就是随机选择初始聚类中心,一般的方法是从样本中随机选择样本点作为聚类中心。



(2)由于初始化聚类中心的不同,这就可能导致K-Means算法会产生局部最优解。



(3)为了避免因为初始化导致的局部最优问题,我们可以选择

随机选择样本点

多次初始化聚类中心,然后计算K-Means的代价函数,根据失真代价函数的大小选择最优解。



1.5 Choosing the Number of Clusters

除了初始化聚类中心,另外一个重要的参数时如何选择K的大小:

(1)肘部原则

通过失真代价函数关于K大小的函数曲线,代价函数会醉着K的增大逐渐减小,直至趋于稳定,由此我们可以判断,当拐角的时候是最适合的K大小,但是实际情况中,往往我们无法得到一个明显的拐点用于判断。



(2)根据应用目的进行选择

根据K-Means算法的应用目的,选择合适的K的大小,即类别的个数。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习 非监督