吴恩达的机器学习编程作业17:computeCentroids KMeans算法第二步 计算质心

Machine Learning - Coursera 吴恩达机器学习教程 Week8 学习笔记(Unsupervised Learning) 无监督学习 本周课程开始进入无监督学习。 一个重要应用是聚类问题: K-Means算法 随机找K个中心点(红×和蓝×),将样本标记为最近的中心点: 计算每个类别里样本的平均值(mean),作为新的中心点: 循环执行上面两个步骤,直到中心点不再变化,得到聚类结果: 算法伪代码如下: 注意:有可能出现某个类别中没有点的情况,这时通常就删掉这个中心点,就变成了k-1个类别。(如果还是需要k个类别,可以再重新随机出一个中心点) K-means优化目标 这里的J也被称为Distortion函数。 目标就是找 阅读详情
function centroids = computeCentroids(X, idx, K)
%COMPUTECENTROIDS returns the new centroids by computing the means of the 
%data points assigned to each centroid.
%   centroids = COMPUTECENTROIDS(X, idx, K) returns the new centroids by 
%   computing the means of the data points assigned to each centroid. It is
%   given a dataset X where each row is a single data point, a vector
%   idx of centroid assignments (i.e. each entry in range [1..K]) for each
%   example, and K, the number of centroids. You should return a matrix
%   centroids, where each row of centroids is the mean of the data points
%   assigned to it.
%

% Useful variables
[m n] = size(X);

% You need to return the following variables correctly.
centroids = zeros(K, n);


% ====================== YOUR CODE HERE ======================
% Instructions: Go over every centroid and compute mean of all points that
%               belong to it. Concretely, the row vector centroids(i, :)
%               should contain the mean of the data points assigned to
%               centroid i.
%
% Note: You can use a for-loop over the centroids to compute this.
%

for i=1:K
	sum = zeros(1,n);
	size = 0;
	for j = 1:m
		if(idx(j,1) == i)
			sum(1,:) = sum(1,:) + X(j,:);
			size = size + 1;
		end
	end
	if(size != 0)
		centroids(i,:) = sum/size;
	end
end







% =============================================================


end

 

K-Means聚类算法 — 算法原理、质心计算、距离度量、聚类效果评价及优缺点 分类知识   分类是根据样本某些属性或某类特征(可以融合多类特征),把样本类型归为已确定的某一类别中。机器学习中常见的分类算法有:SVM(支持向量机)、KNN(最邻近法)、Decision Tree(决策树分类法)、Naive Bayes(朴素贝叶斯分类)、Neural Networks(神经网络法)等。   但当对海量数据进行分类时,为了降低数据满足分类算法要求所需要的预处理代价,往往需要选... 阅读详情

相关推荐

Programming Exercise 7:K-means Clustering and Principal Component Analysis 第一部分

大家好,我是Mac Jiang,今天和大家分享Coursera-Stanford University-Machine Learning-Programming Exercise 7:K-means Clustering and Principal Principal Component Analysis的第一部分的编码。第一部分讲的是K-means Clustering,即K均值算法的实现过程,

Mac Jiang的博客 5925

吴恩达机器学习作业7 - K-means和PCA主成分分析(Python实现)

吴恩达机器学习作业7 - K-means和PCA主成分分析(Python实现) Introduction 在本实验中,将实现K-means聚类算法,并将其应用于图像压缩。在第二部分实验中,将使用主成分分析来寻找人脸图像的低维表示。 1 K-means Clustering 在本节实验中,将实现K-means算法,并将其用于图像压缩。首先从一个2D数据集开始,直观地了解K-means算法是如何工作。然后使用K-means算法进行图像压缩,通过减少图像中出现的颜色的数量,最后只剩下那些在图像中最常见的颜色。 1

Phoenix_ZengHao的博客 1467

机器学习之K-means聚类

实验3:K均值聚类 介绍 在本实验中,将实现K均值聚类算法(K-means)并了解其在数据聚类上的工作原理及图像压缩上的应用。 本次实验需要用到的数据集包括: ex3data1.mat -2D 数据集 hzau.jpeg -用于测试k均值聚类算法图像压缩性能的图像 评分标准如下: 要点1:寻找最近类中心点-----------------(20分) 要点2:计算均值类中心--------------------(20分) 要点3:随机初始化类中心-----------------(10分) 要点4:

weixin_43915303的博客 1253

Machine Learning Week8 computeCentroids.m

loop over centroids 对于每一个centroid计算属于这一类的均值。function centroids = computeCentroids(X, idx, K) %COMPUTECENTROIDS returs the new centroids by computing the means of the %data points assigned to each cen

Zhaohui1995_Yang的专栏 2038

Coursera Machine Learning 第八周week8ex7 K-Means Clustering and PCA编程全套满分题目+注释

Coursera Machine Learning 第八周week8ex7 K-Means Clustering and PCA编程全套满分题目+注释

USB通讯速度翻倍秘诀:手把手教你用WinUsb替代HID协议(附Zadig驱动配置图解)

本文详细介绍了如何通过WinUsb技术替代传统HID协议,实现USB通讯速度的显著提升。从技术对比、实现原理到Zadig驱动配置图解,手把手教你完成免驱高速通讯方案,适用于数据采集、固件升级等场景,实测速度可达HID协议的2倍以上。

weixin_29168675的博客 135

matlab pca求曲率和法向量_吴恩达机器学习编程作业ex7-Matlab版

虽然本文主按照吴恩达机器学习第8周编程作业内容进行编写,但是文章同样适用于学习K均值聚类(K-means Clustering)和PCA(Principal Component Analysis)算法的学习,文章中详细的介绍了两种算法的使用步骤,并且编写了相应的代码,加入了算法在运行过程中的图像,从一定程度上来说,能更加直观的学习两种算法的内容。例如,下面是两种算法在运行的图像:K均值聚类(K-...

weixin_39945792的博客 358

STM32 FATFS文件系统按行读取SD卡数据

STM32 SD数据实现按行读取

qq_32216815的博客 7826

K-mean算法

算法步骤: 1、首先确定一个k值,即我们希望将数据集经过聚类得到k个集合。 2、从数据集中随机选择k个数据点作为质心。 3、对数据集中每一个点,计算其与每一个质心的距离(如欧式距离),离哪个质心近,就划分到那个质心所属的集合。 4、把所有数据归好集合后,一共有k个集合。然后重新计算每个集合的质心。 5、如果新计算出来的质心和原来的质心之间的距离小于某一个设置的阈值(表示重新计算的质心的位置变化不大,趋于稳定,或者说收敛),我们可以认为聚类已经达到期望的结果,算法终止。 6、如果新质心和原质心距离

qq_62945476的博客 1030

多路输出电源的交叉调整率:从理论到无源优化实践

本文深入探讨了多路输出电源中的交叉调整率问题,分析了其物理根源及无源优化方法。通过漏感与耦合的理论分析,结合加权反馈、电感耦合等五种无源优化技术,帮助工程师有效解决交叉调整率挑战。文章还以TDK-Lambda CUT75系列为例,展示了优化技术的实际应用与效果。

weixin_26886855的博客 280

西门子1500 PLC与巴鲁夫RFID实战:从硬件接线到数据读写的完整流程

本文详细介绍了西门子S7-1500 PLC与巴鲁夫RFID系统集成的完整实战流程。内容涵盖从硬件选型、接线、PROFINET网络配置,到在TIA Portal中安装GSD文件、组态设备、分配地址,再到使用标准功能块(如FB31)进行程序架构设计、实现数据读写以及错误诊断。文章重点分享了硬件连接要点、软件配置步骤、数据块管理技巧以及调试中常见问题的解决方案,为工业自动化工程师实施RFID项目提供了清晰的指导。

weixin_29161785的博客 386

K-means聚类算法

K-means聚类算法

追梦赤子心 4599

C++ (week6、7):Linux系统编程4:网络

Linux网络:计算机网络概述、TCP协议、Socket编程、IO多路复用机制(select、epoll)、HTTP协议、进程池、线程池、大文件网络传输问题

Edward2022的博客 1431

机器学习 | 吴恩达机器学习第八周编程作业(Python版)

实验指导书 下载密码:963j 本篇博客主要讲解,吴恩达机器学习第八周的编程作业,主要包含KMeans实验和PCA实验两部分。原始实验使用Matlab实现,本篇博客提供Python版本。 目录 1.实验包含的文件 2.KMeans实验 3.K-means实验完整代码 4.PCA实验 5.PCA实验完整代码 1.实验包含的文件 文件名称 含义 ex7.py ...

sdu_hao的博客 3039

第38节:cesium 风场效果(含源码+视频)

cesium 风场效果

qq_29384639的博客 2330

课题申报新手入门必备指南!利用AI辅助搞定 6大关键部分,高效提升申报成功率(附AI提示词)

以下是我(或团队)与本课题相关的已有基础:【如:承担过的公开课、校本教研活动、教学改革实践、课程建设、区级/校级课题、教学反思积累等】请你完成以下任务:1)判断哪些内容与本课题的研究目标和内容具有直接或间接关联;以下是我当前的研究设想(可能比较笼统):【填写你的研究想法 / 教学困惑 / 初步设想】,请你帮我完成以下任务:1)先判断该设想中隐含的核心研究问题是什么;以下是我目前拟定的研究目标,请你从课题评审视角进行校正:【逐条粘贴你已有的研究目标】,请你帮我:1)判断每个目标是否具体、清晰、可评估;

智能AI让学术科研更容易 918

机器学习吴恩达编程作业题7-K-均值聚类和主成分分析

1、K-均值聚类 1.1实施方法 K-means算法是一种将相似数据自动聚类到一起的方法。算法的内环重复执行两个步骤:(i)将每个训练样本x(i)分配到其最近的质心,(ii)使用分配给它的点重新计算每个质心的平均值。 K-means算法总是收敛到质心的某个最终均值集。注意,收敛解可能并不总是理想的,并且取决于质心的初始设置。因此,在实际应用中,K-means算法通常会以不同的随机初始化运行几次。在不同随机初始化的不同解决方案之间进行选择的一种方法是选择成本函数值(失真)最低的一个。 1.1.1找到最近的质心

qq_42148307的博客 2026

Android SELinux——neverallow问题处理(十六)

遇到 neverallow 规则问题,千万别急着去注释/剔除里面原有的规则(原生的尽量别动)。增加 allow 规则是常见的解决办法,但是随着 android 版本的升级,系统对 SELinux 的管控越来越严,增加了大量的 neverallow。一般情况下,向默认标签授予权限的做法是错误的,其中许多权限都是 neverallow 规则所不允许的。按照上面方法去添加 SELinux 可能会违反了 neverallow 规则,编译时候会报 neverallow 相关的错误。

小旭的专栏 2681

吴恩达机器学习笔记(7)K-means聚类算法和PCA数据降维

这一部分是对吴恩达机器学习聚类算法和PCA数据降维部分内容的总结,主要分为以下几个部分 1.K-means聚类算法 2.PCA降维算法 1.聚类算法 K-means聚类算法的原理十分简单,具体的实现原理见笔记本,需要指出的是使用算法实现样本点与聚类中心点计算的时候,要用两层循环,总之具体的实现方法见代码 首先初始化定义分类函数: function idx = findClosestCentroid...

qq_35798782的博客 1747

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

吴恩达|机器学习作业7.1.主成分分析(PCA)

7.1.主成分分析对人脸图像降维 1)题目: 在这个练习中,你将运用主成分分析(PCA)来实现降维。首先,你将用一个二维的样本集来实验,从而对PCA如何运行的有一个直观的感受,然后再在一个更大的由5000个人脸图像组成的数据集上实现PCA。 数据集链接: https://pan.baidu.com/s/1cEgQIvehUcLxZ0WVhxcPuQ 提取码: xejn 2)知识点概括: 降维(...

weixin_44750583的博客 3053

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

[机器学习与scikit-learn-23]:算法-聚类-KMeans算法的工作原理

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_优快云博客 本文网址: 目录 第1章 KMeans概述 1.1 什么是簇与质心 1.2 质心的计算过程 第2章 聚合指标 2.1 距离和度量方法 2.2 聚合的意义 2.3Kmeans有损失函数吗? 2.4 scikit-learn中KMeans的距离算法 第1章 KMeans概述 作为聚类算法的典型代表,KMeans可以说是最简单的聚类算法没有之一,那它是怎么完成聚类的呢? 1.1 什么是簇与质心..

文火冰糖(王文兵)的博客 942

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Coursera机器学习 week8 assignment

findClosestCentroids.m: K_temp = zeros(K, 1); for i = 1:size(idx, 1) %遍历所有样本 for j = 1:K %遍历所有K值 K_temp(j) = sum(( X(i,:) - centroids(j,:) ).^2); end mini = min(K_temp); %找出最小值 %id

StephenFengz的博客 2397

吴恩达机器学习课程笔记+代码实现(22)Python实现聚类(Programming Exercise 7.1)

Programming Exercise 7.1:K-means Clustering Python版本3.6 编译环境:anaconda Jupyter Notebook 链接:实验数据和实验指导书 提取码:i7co 本章课程笔记部分见:13.聚类 在本练习中,我们将实现K-means聚类,并使用它来压缩图像。我们将实施和应用K-means到一个简单的二维数据集,以获得一些直观的工作原理。 K-...

肖泽的博客 990

andrew ng machine learning week8 非监督学习

  吴恩达机器学习全套笔记博客地址 week 1 week 2 week 3 week 4 week 5 week 6 week 7 week 8 week 9 GitHub地址   聚类——无监督学习的一种算法 K-means算法 最为广泛使用的聚类算法 选择两个聚类中心 簇分配:根据每个样本更接近哪个聚类中心进行样本的分配 簇中心移动:计算...

weixin_30451709的博客 133

吴恩达的机器学习编程作业 1.computeCost 计算线性回归的代价函数

function J = computeCost(X, y, theta) %COMPUTECOST Compute cost for linear regression % J = COMPUTECOST(X, y, theta) computes the cost of using theta as the % parameter for linear regression to fi...

melon__的博客 6302
上一篇: 吴恩达的机器学习编程作业16:findClosestCentroids KMeans算法第一步,划分样本归类
下一篇: 吴恩达的机器学习编程作业18:pca pca压缩数据
蜗牛专注学习
博客等级 码龄15年 127粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值