Coursera机器学习week8 编程作业
pca.m
sigma = (X'*X)./m; [U,S,V] = svd(sigma);
projectData.m
Ureduce = U(:, 1:K);
for i = 1:size(X,1)
x = X(i,:);
Z(i,:) = x*Ureduce;
end
recoverData.m
for i = 1:size(Z,1)
X_rec(i,:) = Z(i,:) * U(:,1:K)';
end
computeCentroids.m
for i = 1:K
centroids(i,:) = (X' * (idx == i)) / sum(idx == i);
end
findClosestCentroids.m
k_tmp = zeros(K, 1);
for i = 1:size(idx, 1)
for j = 1:K
k_tmp(j) = sum((X(i,:) - centroids(j,:)).^2);
end
[value,idx(i)] = min(k_tmp,[],1);
end
kMeansInitCentroids.m
randidx = randperm(size(X, 1)); centroids = X(randidx(1:K), :);

浙公网安备 33010602011771号