加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

机器学习 – 选择适当的相似性度量并评估k均值聚类模型的有效性

发布时间:2020-12-14 04:33:23 所属栏目:大数据 来源:网络整理
导读:我已经实现了k-means聚类来确定300个对象中的聚类.我的每个对象 有大约30个维度.使用欧几里德度量计算距离. 我需要知道 我如何确定我的算法是否正常工作?我不能有一个图表 对我算法的正确性有所了解. 欧几里德距离是计算距离的正确方法吗?如果我有100个尺
我已经实现了k-means聚类来确定300个对象中的聚类.我的每个对象
有大约30个维度.使用欧几里德度量计算距离.

我需要知道

>我如何确定我的算法是否正常工作?我不能有一个图表
对我算法的正确性有所了解.
>欧几里德距离是计算距离的正确方法吗?如果我有100个尺寸怎么办?
而不是30?

解决方法

OP中的两个问题是单独的主题(即答案中没有重叠),因此我将尝试一次一个地回答它们与列表中的第1项.

How would I determine if my [clustering] algorithms works correctly?

像其他无监督的ML技术一样,k-means缺乏一个很好的诊断测试选择来回答诸如“k-means返回的聚类分配对于k = 3或k = 5更有意义?”这样的问题.

尽管如此,还是有一项广泛接受的测试可以产生直观的结果并且可以直接应用.此诊断指标仅为此比率:

质心间分离/簇内方差

随着此比率的值增加,群集结果的质量也会提高.

这很直观.这些指标中的第一个是每个群集与其他群集相隔多远(根据群集中心测量)?

但是单独的质心间分离并不能说明整个故事,因为两个聚类算法可以返回具有相同的质心间距离的结果,尽管一个明显更好,因为聚类“更紧”(即更小的半径);换句话说,簇边缘有更多的分离.第二个指标 – 群内方差 – 说明了这一点.这只是每个群集计算的均值方差.

总之,质心间分离与簇内方差的比率是一种快速,一致且可靠的技术,用于比较来自不同聚类算法的结果,或比较来自在不同可变参数下运行的相同算法的结果 – 例如,迭代次数,距离度量的选择,质心的数量(k的值).

期望的结果是紧密(小)簇,每个簇远离其他簇.

计算很简单:

用于质心间分离:

>计算聚类中心之间的成对距离;然后
>计算这些距离的中位数.

对于群内方差:

>对于每个群集,计算给定群集中每个数据点的距离
它的集群中心;下一个
>(对于每个聚类)计算距上述步骤的距离序列的方差;然后
>平均这些方差值.

这是我对第一个问题的回答.这是第二个问题:

Is Euclidean distance the correct method for calculating distances? What if I have 100 dimensions instead of 30 ?

首先,一个简单的问题 – 随着尺寸/特征的增加,欧几里德距离是一个有效的指标吗?

欧氏距离是完全可扩展的 – 适用于二维或两千.对于任何一对数据点:

>按元素减去它们的特征向量,
>对该结果向量中的每个项目进行平方,
>总结结果,
>取该标量的平方根.

在这个计算序列中没有任何地方涉及规模.

但是,欧几里德距离是否适合您的问题的相似度量,取决于您的数据.例如,它是纯数字(连续)吗?或者它是否也有离散(分类)变量(例如,性别?M / F)如果您的某个维度是“当前位置”而200个用户中,100个具有值“旧金山”而另外100个具有“旧金山”波士顿“,你不能说,平均而言,你的用户来自堪萨斯州的某个地方,但这就是欧几里德距离的作用.

无论如何,由于我们对此一无所知,我只会给您一个简单的流程图,以便您可以将其应用于您的数据并确定适当的相似性指标.

为您的数据确定适当的相似性指标:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读