【问题标题】:LBG function in Matlab - need code explanationMatlab中的LBG函数-需要代码解释
【发布时间】:2015-01-22 20:27:55
【问题描述】:

这是函数的链接:http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/doc/voicebox/kmeanlbg.html

我对 Matlab 完全不熟悉,这行代码让我很困惑:

[x,esq,j]=v_kmeans(d,m,[x(1:n,:)+e(ones(n,1),:); x(1:n,:)-e(ones(n,1),:); x(n+1:m-n,:)]);

我猜它正在调用 kmeans 函数,传递 d 数据和 m 中心数,但代码的下一部分是什么意思?是计算新分裂中心的坐标吗?有人可以向我解释语法吗?谢谢。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    据我了解,下一部分是 v_kmeans 函数的初始质心。 它实际上是一个列数与 m 相同的矩阵。

    请查看此功能的原始文档。 http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/doc/voicebox/v_kmeans.html

    【讨论】:

      【解决方案2】:

      通俗地说,在这行代码之前,他们会执行一次 kmeans,然后运行一个循环一遍又一遍地执行 kmeans 以获得最佳集群中心。

      他们使用 kmeans 进行矢量量化,因为他们想通过使用 lbg (kmeans) 算法来训练(生成)码本。

      然后他们对其应用了自己的逻辑,所以这取决于你:-

      a) 弄清楚

      b) 编写自己的代码 希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-03
        • 1970-01-01
        • 2020-02-20
        • 1970-01-01
        相关资源
        最近更新 更多