MachineLearning Exercise 7 : K-means Clustering and Principle Component Analysis
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.*(1/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学习笔记 ---- 主成分分析与白化比较下,如有理解错误,万望指教,谢谢。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步