风过蔷薇

导航

 

findClosestCentroids.m

m = size(X, 1); % m  
for i = 1:m  
dist = [];  
for j = 1:K  
dist(j) =  sum((X(i, :)-centroids(j, :)) .^ 2);  
end  
[min_dist, min_idx] = min(dist);  
idx(i) = min_idx;  
end

 

computeCentroids.m

for i = 1:K  
idx_set = find(i == idx);  
ck = numel(idx_set);  
if(0 ~= ck)  
cen_sum = sum(X(idx_set, :));  
centroids(i, :) = cen_sum / ck;  
end   
end 

 

 

pca.m

Omega = X' * X / m;  
[U S V] = svd(Omega);

 

 

projectData.m

Ureduce = U(:, 1:K);  
x = X';  
Z = x' * Ureduce; % i.e. X * Ureduce

 

 

recoverData.m

Ureduce = U(:, 1:K);  
X_rec = Z * Ureduce'; 

 

 

posted on 2018-02-17 16:14  风过蔷薇  阅读(113)  评论(0编辑  收藏  举报