1700535219
百面机器学习:算法工程师带你去面试 01 K均值聚类
1700535220
1700535221
1700535222
1700535223
场景描述
1700535224
1700535225
支持向量机、逻辑回归、决策树等经典的机器学习算法主要用于分类问题,即根据一些已给定类别的样本,训练某种分类器,使得它能够对类别未知的样本进行分类。与分类问题不同,聚类是在事先并不知道任何样本类别标签的情况下,通过数据之间的内在关系把样本划分为若干类别,使得同类别样本之间的相似度高,不同类别之间的样本相似度低。图5.1是一个二维空间中样本聚类的示意图,图5.1(a)展示了所有样本在空间中的分布,图5.1(b)展示了聚类的结果(不同颜色代表不同类别)。
1700535226
1700535227
1700535228
1700535229
1700535230
图5.1 二维空间中的聚类
1700535231
1700535232
分类问题属于监督学习的范畴,而聚类则是非监督学习。K均值聚类(K-Means Clustering)是最基础和最常用的聚类算法。它的基本思想是,通过迭代方式寻找K个簇(Cluster)的一种划分方案,使得聚类结果对应的代价函数最小。特别地,代价函数可以定义为各个样本距离所属簇中心点的误差平方和
1700535233
1700535234
1700535235
,
1700535236
1700535237
(5.1)
1700535238
1700535239
其中xi代表第i个样本,ci是xi所属于的簇,μci代表簇对应的中心点,M是样本总数。
1700535240
1700535241
知识点
1700535242
1700535243
K均值聚类算法,ISODATA算法,EM算法(Expectation-Maximization Algorithm,最大期望算法)
1700535244
1700535245
问题1 简述K均值算法的具体步骤。
1700535246
1700535247
难度:★★☆☆☆
1700535248
1700535249
分析与解答
1700535250
1700535251
K均值聚类的核心目标是将给定的数据集划分成K个簇,并给出每个数据对应的簇中心点。算法的具体步骤描述如下:
1700535252
1700535253
(1)数据预处理,如归一化、离群点处理等。
1700535254
1700535255
1700535256
(2)随机选取K个簇中心,记为。
1700535257
1700535258
1700535259
(3)定义代价函数:。
1700535260
1700535261
(4)令t=0,1,2,… 为迭代步数,重复下面过程直到 J 收敛:
1700535262
1700535263
1700535264
1700535265
1700535266
对于每一个样本xi,将其分配到距离最近的簇 ;
1700535267
[
上一页 ]
[ :1.700535218e+09 ]
[
下一页 ]