打字猴:1.700535301e+09
1700535301
1700535302 K值的选择是K均值聚类最大的问题之一,这也是K均值聚类算法的主要缺点。实际上,我们希望能够找到一些可行的办法来弥补这一缺点,或者说找到K值的合理估计方法。但是,K值的选择一般基于经验和多次实验结果。例如采用手肘法,我们可以尝试不同的K值,并将不同K值所对应的损失函数画成折线,横轴为K的取值,纵轴为误差平方和所定义的损失函数,如图5.3所示。
1700535303
1700535304
1700535305
1700535306
1700535307 图5.3 K均值算法中K值的选取:手肘法
1700535308
1700535309
1700535310 由图可见,K值越大,距离和越小;并且,当K=3时,存在一个拐点,就像人的肘部一样;当K(1,3)时,曲线急速下降;当K>3时,曲线趋于平稳。手肘法认为拐点就是K的最佳值。
1700535311
1700535312 手肘法是一个经验方法,缺点就是不够自动化,因此研究员们又提出了一些更先进的方法,其中包括比较有名的Gap Statistic方法[5]。Gap Statistic方法的优点是,不再需要肉眼判断,而只需要找到最大的Gap statistic所对应的K即可,因此该方法也适用于批量化作业。在这里我们继续使用上面的损失函数,当分为K簇时,对应的损失函数记为Dk。Gap Statistic定义为
1700535313
1700535314 Gap(K)=E(logDk)−logDk ,
1700535315
1700535316 (5.4)
1700535317
1700535318 其中E(logDk)是logDk的期望,一般通过蒙特卡洛模拟产生。我们在样本所在的区域内按照均匀分布随机地产生和原始样本数一样多的随机样本,并对这个随机样本做K均值,得到一个Dk;重复多次就可以计算出E(logDk)的近似值。那么Gap(K)有什么物理含义呢?它可以视为随机样本的损失与实际样本的损失之差。试想实际样本对应的最佳簇数为K,那么实际样本的损失应该相对较小,随机样本损失与实际样本损失之差也相应地达到最小值,从而Gap(K)取得最大值所对应的K值就是最佳的簇数。根据式(5.4)计算K =1,2,…,9所对应的Gap Statistic,如图5.4所示。由图可见,当K=3时,Gap(K)取值最大,所以最佳的簇数是K=3。
1700535319
1700535320
1700535321
1700535322
1700535323 图5.4 K均值算法中K值的选取:Gap Statistic方法
1700535324
1700535325 (3)采用核函数。
1700535326
1700535327 采用核函数是另一种可以尝试的改进方向。传统的欧式距离度量方式,使得K均值算法本质上假设了各个数据簇的数据具有一样的先验概率,并呈现球形或者高维球形分布,这种分布在实际生活中并不常见。面对非凸的数据分布形状时,可能需要引入核函数来优化,这时算法又称为核K均值算法,是核聚类方法的一种[6]。核聚类方法的主要思想是通过一个非线性映射,将输入空间中的数据点映射到高位的特征空间中,并在新的特征空间中进行聚类。非线性映射增加了数据点线性可分的概率,从而在经典的聚类算法失效的情况下,通过引入核函数可以达到更为准确的聚类结果。
1700535328
1700535329 问题3 针对K均值算法的缺点,有哪些改进的模型?
1700535330
1700535331 难度:★★★☆☆
1700535332
1700535333 分析与解答
1700535334
1700535335 K均值算法的主要缺点如下。
1700535336
1700535337 (1)需要人工预先确定初始K值,且该值和真实的数据分布未必吻合。
1700535338
1700535339 (2)K均值只能收敛到局部最优,效果受到初始值很大。
1700535340
1700535341 (3)易受到噪点的影响。
1700535342
1700535343 (4)样本点只能被划分到单一的类中。
1700535344
1700535345 ■ K-means++算法
1700535346
1700535347 K均值的改进算法中,对初始值选择的改进是很重要的一部分。而这类算法中,最具影响力的当属K-means++算法。原始K均值算法最开始随机选取数据集中K个点作为聚类中心,而K-means++按照如下的思想选取K个聚类中心。假设已经选取了n个初始聚类中心(0
1700535348
1700535349 ■ ISODATA算法
1700535350
[ 上一页 ]  [ :1.700535301e+09 ]  [ 下一页 ]