太原计算机培训数据分析中的Kmeans算法应用

2019/8/1 11:47:02 作者:互联网发布企业:太原达内科技有限公司[打印]

随着互联网的不断发展,大数据技术被众多程序员所掌握,下面我们就一起来了解一下,数据分析中常见的几种算法都是如何运用的。

Kmeans是流行的,以及简单的用于挖掘数据潜在结构的机器学习算法之一。Kmeans的目标很简单:根据数据的均值,将数据划分为若干个簇。假定每个簇的均值可以很好地代表簇内的每一个观察值。

Kmeans算法

假定我们想把数据划分为k个簇,那么我们就需要找出这k个簇的k个中心。该如何定义,以及寻找这些中心呢

我们只需要求解方程:$min\sum_i^{N}\sum_j^KO_i^j||x_i-u_j||^2$,其中当观察点i为簇j的中心时$O_i^j=1$,否则为0.

我们正在寻找k个中心,使得各个簇内的点到簇中心的距离小。这是一个优化问题,但是上面的目标函数是非凸的,而且有一些变量是二元的,无法用传统的梯度下降法求解。

解决这个问题的方法如下:

随机初始化k个中心。

更新每个中心。新的中心为相应簇中的所有观察值的平均值。

更新收敛准则。

用R语言实现K-means算法

既然,我们已经有了伪代码算法,接下来我们可以用R语言实现Kmeans算法。我们创建5类数据,它们都服从2维高斯分布。

初始化簇中心

簇中心的初始化非常重要,它能够影响算法。因此,我们从数据集中随机选取K的点。

将每个点归为指定的簇

在每一次迭代中,每个点将会归为离它近的簇。我们可以使用欧几里得距离来计算每个点到每个中心的距离,并保存各个点到各个中心的近距离以及相应的簇中心。

簇中心更新

一旦每个观察值都被归为距离近的簇,每个簇的中心坐标就会被更新。簇中心的新坐标为相应簇中所有点的平均值。收敛准则为:当各个簇的中心停止变动时,算法就应该终止。

【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!


关键字:太原达内,IT培训,计算机培训
免责声明:以上所展示的信息由网友自行发布,内容的真实性、准确性和合法性由发布者负责。行业信息网对此不承担任何保证责任。任何单位或个人如对以上内容有权利主张(包括但不限于侵犯著作权、商业信誉等),请与我们联系并出示相关证据,我们将按国家相关法规即时移除。

其他新闻

关于我们 | 服务条款 | 网站指南 | 免责声明 | 友情链接 | 给我们留言
红盾
COPYRIGHT @ 2001-2017 CNlinfo.net ALL RIGHTS RESERVED
深圳市信息行业协会商务网站 运营商:深圳市兴讯信息技术有限公司 粤ICP备:05039908
营业执照