kmeans算法的个人理解

1 kmeans算法是一种什么样的算法?

答:kmeans算法是一种聚类算法,在使用kmeans算法时并不需要事先构建模型(如决策树判断需事先构建决策树,knn判断需事先构建kd树等),而是直接进行聚类。

       它的基本过程是:

1. 对于N个n维空间的待分类点,选出K个点作为初始质心(初始中心点)

2. 对于空间中的N-K个剩余点,若它离初始质心X的(欧几里得距离/余弦相似度)最近,他就属于以X为质心的簇。

3. 完成K个簇的建立后,在重新计算K个质心(通常取簇的中位数)

4 重复 2步骤和3步骤,直到质心不发生改变。 


        简单的说,这个算法的输入是全体N个点和K个特殊点。输出为K个类,K个类的总和为N。

2 关于余弦相似度的理解:

     余弦相似度其实是两个向量的cos值,既cos(x,y) = x*y /||x|| ||y||     x*y 为响亮的点积,||x|| 为向量的长度 具体公式见此文章

     若:x=(3,2,0,5) y=(1,0,0,0)   x*y = 3*1 + 2*0 + 0*0 + 5*0  ||x||的平方=3*3 + 2*2 + 0*0 + 5*5  ||y||的平方=1*1 + 0*0 + 0*0 + 0*0    cos(x,y)= 0.41



 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值