本文仅对常见的无监督学习算法进行了简单讲述,其他的如自动编码器,受限玻尔兹曼机用于无监督学习,神经网络用于无监督学习等未包括。同时虽然整体上分为了聚类和降维两大类,但实际上这两类并非完全正交,很多地方可以相互转化,还有一些变种的算法既有聚类功能又有降维功能,一些新出现的和尚在开发创造中的无监督学习算法正在打破聚类和降维的类别划分。另外因时间原因,可能有个别小错误,如有发现还望指出。
一.聚类(clustering)
1.k-均值聚类(k-means)
这是机器学习领域除了线性回归最简单的算法了。该算法用来对n维空间内的点根据欧式距离远近程度进行分类。
INPUT:
K(number of clusters)
Training set{x1,x2,x3,….xn} (xi belongs to R^n)
OUTPUT:
K个聚类中心
算法工作原理摘要:
自己手写的python实现K—means:
#簇数为k
#数据空间维度为n
#训练集元素数为m
def K_means_demo(k,n,m):