@lunar
2016-04-01T15:04:47.000000Z
字数 1777
阅读 1596
Coursera Machine Learning Lunar's note
MachineLearning
Coursera
假设:
-第i个样本的簇标号
-第k个簇的聚类中心
第i个样本所在簇的聚类中心
那么:
有点像Supervisor Learining中的cost function
优化目标就是最小化J(又称失真代价函数Distortion cost function)。。
如何初始化聚类中心:较为推荐的方法是在训练集中随机挑选K个样本作为聚类中心。多次初始化并执行K-means算法来避免陷入局部最优。
簇聚类个数的选择往往模棱两可,这里我们可以使用下面的方法。
肘部法则((Elbow method)
选择不同的簇聚类数,计算出J,画出折线图,选择J畸变较为明显的点(Elbow)作为簇聚类数。
但是这个方法常常不管用,因为肘点往往也不清晰。(╬゚д゚)
因为我们眼睛只能看到3维的图像,所以将数据降维才能实现数据可视化。
寻找一个超平面(低原特征空间一个维度的平面),将数据投影上去,并调整超平面到数据投影和原数据点的距离最小。
会有数据损失。
K既是主成成分(PC)的数量。
我们要计算成分的差异性,即降维前后的差异,一般用表示。这个值低于某个阈值比如1%时。
从k=1开始,应用PCA算法并计算差异性,满足要求即取该值,否则增加k。
差异性除了上面的计算方法还可以用求U时的调用svd函数得到的S矩阵求解。
(svd的具体实现和原理忘了,因为线性代数已经忘得差不多了,等过一阵子复习一下线代再补。)
PCA算法实质上只是一个降维算法,将数据从高维进行低维,并尽量保持原数据的特点。数据压缩后可以提高学习算法的处理速度。
但是在ISLR中还利用PCA来实现clustering,一般是降维到超平面,并利用超平面将数据分成若干类。