findClosestCentroids.m
m = size(X,1); for i=1:m [value index] = min(sum((repmat(X(i,:),K,1)-centroids).^2,2)); idx(i) = index; end
computeCentroids.m
temp = [X idx]; // pdf说能向量化实现更高效,本人对matlab实在不熟,勉强实现了下,若有大神,敬请赐教。 for i=1:K [index_row index_column]= find(temp(:,end) == i); centroids(i,:) = mean(X(index_row,:)); end
pca.m
sigma = X‘*X.*(size(X,1)); [U S V] = svd(sigma);
projectData.m
Z = X*U(:,1:K);
recoverData.m
temp = zeros(size(Z,1),size(U,1)-K); X_rec = [Z temp]*U‘;
这里关于PCA的练习相对比较简单,UFLDL上面的内容比较多,有兴趣的同学可以在做完UFLDL练习后,到UFLDL学习笔记 ---- 主成分分析与白化比较下,如有理解错误,万望指教,谢谢。
时间: 2024-10-01 07:20:17