⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lgb.m

📁 Mathematical Methods by Moor n Stiling.
💻 M
字号:
function [Y,d] = lgb(X,m)
% 
% Find m clusters on the data X
%
% function [Y,d] = lgb(X,m)
%
%
% X = input data: each column is a training data vector
% m = number of clusters to find
%
% Y = set of clusters: each column is a cluster centroid
% d = minimum total distortion

% Copyright 1999 by Todd K. Moon

[n,N] = size(X);          % n = dimension, N = number of training data
Y = initcluster(X,m);     % choose an initial set at random
index = zeros(1,N);       % index list for all Voronoi regions
vorindex = zeros(1,N);    % index list for one Voronoi region
cumdist = 0;  lastdist = Inf; 
stoppingeps = 1.e-5;
while(abs(cumdist - lastdist) > 1.e-5)
  lastdist = cumdist;     cumdist = 0;
  % form Voronoi regions: for each vector x, determine which 
  % centroid it is closest to
  for i=1:N
    mindist = Inf;
    for j=1:m
      nm = norm(X(:,i) - Y(:,j));
      if(nm < mindist)
        saveindex = j;
        mindist = nm;
      end
    end
    index(i) = saveindex;
    cumdist = cumdist + mindist;
  end
  % Compute centroids of each Voronoi region
  for j=1:m
    vorindex = (index==j);
    Y(:,j) = (sum((X(:,vorindex)).')/sum(vorindex)).';
  end
end
d = mindist;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -