gpt4 book ai didi

algorithm - 如何计算每个簇的协方差矩阵,例如 k-means?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:39 27 4
gpt4 key购买 nike

我到处搜索,只找到了如何创建从一个向量到另一个向量的协方差矩阵,例如 cov(xi, xj)。我感到困惑的一件事是,如何从集群中获取协方差矩阵。每个簇都有许多向量。如何将它们放入一个协方差矩阵。有什么建议吗??

信息:

输入:簇中的向量,Xi = (x0,x1,...,xt), x0 = { 5 1 2 3 4} --> 列向量

(实际上它是一个 MFCC 特征向量,每个向量有 12 个系数,在用 k-means 聚类后,8 个簇,现在我想得到每个簇的协方差矩阵以将其用作高斯混合模型中的协方差矩阵)

  output : covariance matrix n x n

最佳答案

您要问的问题是:给定一组 N 个维度为 D 的点(例如,您最初聚类为“speaker1”的点),为这些点拟合 D 维高斯点(我们称之为“代表speaker1的高斯”)。为此,只需计算样本均值和样本协方差:http://en.wikipedia.org/wiki/Multivariate_normal_distribution#Estimation_of_parametershttp://en.wikipedia.org/wiki/Sample_mean_and_covariance

对其他 k=8 个扬声器重复上述操作。我相信您可以使用“非参数”随机过程,或修改算法(例如,在许多扬声器上运行几次),以消除您对 k=8 扬声器的假设。请注意,标准的 k-means 聚类算法(以及其他常见算法,如 EM)非常善变,因为它们会根据您的初始化方式为您提供不同的答案,因此您可能希望执行适当的正则化以惩罚“坏”解决方案发现它们。


(以下是我在你澄清问题之前的回答)

协方差 是两个随机变量 的属性,它粗略衡量一个变量对另一个变量的影响程度

协方差矩阵只是 NxM 个独立协方差的表示,cov(x_i,y_j),集合 X=(x1,x2,. ..,xN) 和 Y=(y1,y2,...,yN)

所以问题归结为,您实际上要用您正在搜索的“协方差矩阵”做什么? Mel-Frequency Cepstral Coefficients...每个系数是否对应于 Octave 音阶的每个音符?您选择了 k=12 作为您想要的集群数?您基本上是在尝试挑选音乐中的音符吗?

我不确定协方差如何推广到向量,但我猜想两个向量 x 和 y 之间的协方差只是 E[x dot y] - (E[x] dot E[y]) (基本上用点积代替乘法)这会给你一个标量,协方差矩阵的每个元素一个标量。然后你只需将这个过程放在两个 for 循环中。

或者您可以分别找到每个维度的协方差矩阵。虽然不知道你在做什么,但不能提供比这更进一步的建议。

关于algorithm - 如何计算每个簇的协方差矩阵,例如 k-means?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6171799/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com