当前位置: 首页 > article >正文

通俗易懂讲透均值漂移(Mean Shift)聚类算法

通俗易懂讲透均值漂移Mean Shift聚类算法不用指定簇数、自动找高密度区域这是Mean Shift最香的特点本文用大白话生活案例公式详解可直接运行代码本科生、研究生都能轻松看懂。一、均值漂移是什么一句话讲明白均值漂移Mean Shift是基于密度的无监督聚类算法。它的核心逻辑让每个数据点往“周围点最多、最拥挤”的地方移动直到不再动最后聚在一起的就是一类。你可以把它理解为数据点 水面上的小船每只船都往人最多的湖心漂最后所有船自动聚成几堆 → 这就是聚类结果二、超通俗生活案例给糖果自动分组桌上有6颗糖果坐标如下(1,2)、(2,2)、(3,2)、(8,8)、(9,8)、(9,9)我们用Mean Shift自动分组步骤1设置窗口半径 bandwith相当于“看多远”这里设h3。步骤2每个点找周围邻居算平均位置左边3个点邻居互相重叠平均位置是(2,2)右边3个点邻居互相重叠平均位置约(8.67,8.33)步骤3不断往平均位置漂移所有点慢慢向这两个中心靠拢。步骤4收敛停止最终自动分成2类完全不用提前告诉算法分几组三、Mean Shift 标准算法流程必背选带宽h确定每个点观察的范围大小对每个点在窗口内算加权均值密度中心漂移把点移到这个均值位置迭代重复计算→移动直到点几乎不动合并中心靠得很近的中心算同一个簇四、核心公式报告/作业直接用1. 核密度估计算密度f(x)1nhd∑i1nK(∥x−xi∥h) f(x)\frac{1}{n h^{d}} \sum_{i1}^{n} K\left(\frac{\left\| x-x_{i}\right\| }{h}\right)f(x)nhd1​i1∑n​K(h∥x−xi​∥​)h带宽搜索半径K核函数常用高斯核含义x点周围有多“拥挤”2. 加权均值漂移目标点μ(x)∑xi⋅K(∥x−xi∥h)∑K(∥x−xi∥h) \mu(x)\frac{\sum x_{i} \cdot K\left(\frac{\left\|x-x_{i}\right\|}{h}\right)}{\sum K\left(\frac{\left\|x-x_{i}\right\|}{h}\right)}μ(x)∑K(h∥x−xi​∥​)∑xi​⋅K(h∥x−xi​∥​)​3. 均值漂移向量移动方向m(x)μ(x)−x m(x) \mu(x) - xm(x)μ(x)−x4. 点更新规则xnewxoldm(x) x_{new} x_{old} m(x)xnew​xold​m(x)五、关键参数带宽 bandwidth带宽h是Mean Shift唯一重要参数h太大簇变少可能把不同类合并h太小簇变多过度分割实战技巧用estimate_bandwidth()自动估算六、完整实战代码可直接复制运行用Mean Shift做二维数据聚类密度图可视化# 安装依赖# pip install numpy matplotlib scikit-learn seabornimportnumpyasnpimportmatplotlib.pyplotaspltimportseabornassnsfromsklearn.clusterimportMeanShift,estimate_bandwidthfromsklearn.datasetsimportmake_blobs# 1. 生成测试数据centers[[2,3],[8,8],[1,10],[9,1]]cluster_std[1.0,0.8,1.5,0.5]X,_make_blobs(n_samples3000,centerscenters,cluster_stdcluster_std,random_state42)# 2. 自动计算最佳带宽bandwidthestimate_bandwidth(X,quantile0.2,n_samples500)print(f自动估算带宽{bandwidth:.2f})# 3. 均值漂移聚类msMeanShift(bandwidthbandwidth,bin_seedingTrue)ms.fit(X)labelsms.labels_ cluster_centersms.cluster_centers_ n_clusterslen(np.unique(labels))print(f自动聚类数量{n_clusters})# 4. 绘制聚类结果plt.figure(figsize(14,7))colorssns.color_palette(bright,n_colorsn_clusters)fork,colinzip(np.unique(labels),colors):masklabelsk plt.scatter(X[mask,0],X[mask,1],c[col],s30,alpha0.7)plt.scatter(cluster_centers[:,0],cluster_centers[:,1],cblack,s300,markerX,labelCluster Center)plt.title(fMean Shift 聚类结果簇数{n_clusters},fontsize16)plt.legend()plt.grid(True)plt.show()# 5. 绘制密度分布图plt.figure(figsize(14,7))sns.kdeplot(xX[:,0],yX[:,1],fillTrue,cmapviridis,alpha0.8)plt.scatter(cluster_centers[:,0],cluster_centers[:,1],cred,s300,markerX,labelCenter)plt.title(数据密度分布与聚类中心,fontsize16)plt.legend()plt.grid(True)plt.show()代码亮点自动估算带宽不用手动调参自动输出簇数双图展示聚类结果密度分布适配作业、报告、博客七、Mean Shift 优缺点面试/报告必写✅ 优点不用指定K算法自动找簇数支持任意形状环形、弯曲、不规则簇都能分基于密度对噪声有一定鲁棒性原理直观漂移→收敛容易理解❌ 缺点速度慢复杂度O(n²)大数据不友好对带宽h极度敏感高维数据效果差可能收敛到局部最优八、适用场景什么时候用它 首选Mean Shift不知道要分几类数据形状不规则、密度不均匀图像分割、目标跟踪、视频目标检测小规模数据、需要自动化分组 不推荐用百万级大数据 → 用Mini-Batch K-Means高维稀疏数据 → 用谱聚类追求极致速度 → 用K-Means九、一句话总结均值漂移Mean Shift是不用设簇数、自动找高密度区的聚类算法靠“往人多的地方漂”实现分组特别适合不规则分布与图像类任务。

相关文章:

通俗易懂讲透均值漂移(Mean Shift)聚类算法

通俗易懂讲透均值漂移(Mean Shift)聚类算法 不用指定簇数、自动找高密度区域,这是Mean Shift最香的特点!本文用大白话生活案例公式详解可直接运行代码,本科生、研究生都能轻松看懂。一、均值漂移是什么?一句…...

终极OpenWrt网络加速指南:3步让你的路由器性能翻倍

终极OpenWrt网络加速指南:3步让你的路由器性能翻倍 【免费下载链接】turboacc 一个适用于官方openwrt(22.03/23.05/24.10) firewall4的turboacc 项目地址: https://gitcode.com/gh_mirrors/tu/turboacc 在智能设备泛滥的时代,你是否遇到过这样的困…...

队列迷宫解

迷宫表示: 使用二维数组 mg[][] 表示迷宫 0 表示可通行的路 1 表示墙(不可通行) 边界用墙包围,防止越界 第一步:初始化 1. 创建空队列 2. 将入口点(e.i, e.j, pre-1)入队 3. 标记入口点为已访问(mg[xi][…...

【FLUENT】【VOF】多相流中液滴撞击与铺展的仿真实践

1. 液滴撞击与铺展仿真的工程价值 液滴撞击固体或液体表面的现象在工业应用中无处不在。比如喷墨打印机的墨滴控制、农药喷洒的覆盖均匀性、发动机燃油喷射的雾化效果,这些场景都需要精确预测液滴的动态行为。传统实验方法虽然直观,但成本高、周期长&…...

MicMute:一键静音麦克风的Windows系统托盘解决方案

MicMute:一键静音麦克风的Windows系统托盘解决方案 【免费下载链接】MicMute Mute default mic clicking tray icon or shortcut 项目地址: https://gitcode.com/gh_mirrors/mi/MicMute 在远程办公、在线会议、直播等场景中,快速控制麦克风状态已…...

MCUXpresso IDE工程创建避坑指南:RAM/FLASH分配与链接文件配置详解

MCUXpresso IDE工程创建避坑指南:RAM/FLASH分配与链接文件配置详解 在嵌入式开发领域,内存管理一直是工程师们绕不开的核心课题。当我们使用MCUXpresso IDE为NXP芯片创建工程时,那些看似简单的默认配置背后,往往隐藏着影响项目成败…...

别再死记硬背公式了!用Python+PlatEMO实战解析DTLZ七大基准问题

用PythonPlatEMO实战解析DTLZ七大基准问题:告别公式恐惧,从代码理解多目标优化 第一次接触多目标优化时,那些晦涩的数学公式总让人望而生畏。DTLZ系列作为经典基准问题,论文中复杂的符号系统常把初学者挡在门外。但换个角度想——…...

如何快速打造轻量级Windows 11系统:tiny11builder完整教程指南

如何快速打造轻量级Windows 11系统:tiny11builder完整教程指南 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 你是否厌倦了Windows 11系统日益臃肿&a…...

深度学习特征提取架构解析:SuperPoint端到端视觉特征检测技术深度评估

深度学习特征提取架构解析:SuperPoint端到端视觉特征检测技术深度评估 【免费下载链接】SuperPoint Efficient neural feature detector and descriptor 项目地址: https://gitcode.com/gh_mirrors/su/SuperPoint SuperPoint作为深度学习在计算机视觉特征提取…...

Python智能体建模终极指南:为什么Mesa是快速构建多智能体仿真的最佳选择?

Python智能体建模终极指南:为什么Mesa是快速构建多智能体仿真的最佳选择? 【免费下载链接】mesa Mesa is an open-source Python library for agent-based modeling, ideal for simulating complex systems and exploring emergent behaviors. 项目地址…...

如何用WindowResizer轻松解决Windows窗口尺寸限制问题?

如何用WindowResizer轻松解决Windows窗口尺寸限制问题? 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些顽固的Windows应用程序窗口而烦恼吗?有些…...

若依WMS仓库管理系统:10分钟快速上手的完整实战指南

若依WMS仓库管理系统:10分钟快速上手的完整实战指南 【免费下载链接】RuoYi-WMS-VUE 若依wms是一套基于若依的wms仓库管理系统,支持lodop和网页打印入库单、出库单。包括仓库/库区/货架管理,出入库管理,客户/供应商/承运商&#x…...

终极指南:5个关键步骤实现Python到Android的快速转换

终极指南:5个关键步骤实现Python到Android的快速转换 【免费下载链接】python-for-android Turn your Python application into an Android APK 项目地址: https://gitcode.com/gh_mirrors/py/python-for-android 你是否曾想过,只需几行Python代码…...

拯救你的VS安装:当Visual Studio Installer提示‘循环下载’时,除了检查网络还能做什么?

Visual Studio安装器循环下载问题全解析:从网络诊断到系统级排查 1. 问题现象与初步诊断 Visual Studio安装器卡在"正在提取文件"界面,进度条显示0B/秒,最终弹出"循环下载安装文件"的错误提示——这可能是开发者最头疼的…...

League Akari 终极指南:英雄联盟智能助手完整使用教程

League Akari 终极指南:英雄联盟智能助手完整使用教程 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari 是一款基于英雄…...

保姆级教程:用Python+Open3D搞定点云法向量估计(附PCA实战代码)

PythonOpen3D点云法向量估计实战指南 点云处理的技术价值与应用场景 当你第一次看到三维扫描仪生成的彩色点云时,那些漂浮在空间中的数十万个点可能看起来杂乱无章。但正是这些看似无序的数据点,承载着物体表面最真实的几何信息。在自动驾驶汽车的激光雷…...

保姆级教程:在Windows 10上从零配置KataGo围棋AI(含Sabaki前端和GPU驱动避坑)

从零搭建围棋AI:Windows 10下KataGo与Sabaki全流程实战指南 围棋作为东方智慧结晶,如今在AI技术加持下焕发新生。KataGo作为开源围棋AI的后起之秀,凭借轻量级架构和强大算力,让普通爱好者也能在个人电脑上体验职业级对弈。本文将…...

Windows与Office激活难题的智能解决方案:KMS_VL_ALL_AIO深度解析

Windows与Office激活难题的智能解决方案:KMS_VL_ALL_AIO深度解析 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活和Office办公软件授权而烦恼吗?面…...

WebRTC文件传输终极指南:浏览器直连技术的完整解析

WebRTC文件传输终极指南:浏览器直连技术的完整解析 【免费下载链接】filepizza :pizza: Peer-to-peer file transfers in your browser 项目地址: https://gitcode.com/GitHub_Trending/fi/filepizza 在当今数字化时代,文件传输已成为日常工作和生…...

2026届学术党必备的五大降重复率助手实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 要想切实有效地把AIGC率降低,那得从内容生成的源头开始着手去优化。首先&#x…...

别再手动装依赖了!一键脚本+环境快照,让BettaFish舆情系统部署快10倍

自动化部署革命:BettaFish舆情系统的工程化实践指南 在当今快节奏的技术环境中,手动配置和部署复杂系统已成为效率的最大杀手。想象一下,当你的团队需要在三台不同配置的服务器上部署同一套舆情分析系统时,传统的手动安装方式不仅…...

如何重建AWR存储库_清理损坏的AWR数据并重新初始化字典表

AWR快照无法生成时,应优先排查SYSAUX空间、快照表误删或元数据不一致等问题,仅当WRM$等核心字典表损坏且无法修复时才重建;须确保ARCHIVELOG模式、VALID组件状态,并严格使用awr_install.sql重建,避免灾难性操作。ORA-1…...

终极指南:Playnite游戏库管理器新手快速入门教程

终极指南:Playnite游戏库管理器新手快速入门教程 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址: https://…...

如何3步完成B站视频智能转录:bili2text终极完整指南

如何3步完成B站视频智能转录:bili2text终极完整指南 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 你是否曾为记录B站视频中的精彩内容而烦恼&am…...

LabVIEW程序发布避坑指南:从EXE到Installer,这些细节决定了部署成败

LabVIEW程序发布避坑指南:从EXE到Installer的关键细节 在工业自动化、测试测量等领域,LabVIEW开发的程序往往需要部署到多台目标机器上运行。许多开发者花费大量时间调试程序功能,却在最后发布环节遭遇各种"诡异"问题——明明开发机…...

告别Myo Connect依赖:直连蓝牙协议,用Python2.7/3.x实现双Myo臂环的底层数据抓取

告别Myo Connect依赖:直连蓝牙协议实现双Myo臂环的底层数据抓取 在肌电信号研究领域,Thalmic Labs的Myo臂环曾以其便携性和多模态数据采集能力风靡一时。但官方提供的Myo Connect软件就像个黑匣子——开发者无法控制数据采样率,无法调整滤波参…...

AntiMicroX终极指南:5分钟学会免费游戏手柄映射,让所有PC游戏支持手柄控制![特殊字符]

AntiMicroX终极指南:5分钟学会免费游戏手柄映射,让所有PC游戏支持手柄控制!🎮 【免费下载链接】antimicrox Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no…...

如何用ROFL播放器深度分析英雄联盟对局:3个实用技巧提升游戏水平

如何用ROFL播放器深度分析英雄联盟对局:3个实用技巧提升游戏水平 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 还在为英雄…...

AntiDupl.NET终极指南:开源图片去重工具完整教程与深度解析

AntiDupl.NET终极指南:开源图片去重工具完整教程与深度解析 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾被电脑中重复的图片文件困扰&#xff1…...

终极指南:3个步骤让你轻松掌握FanControl风扇控制软件

终极指南:3个步骤让你轻松掌握FanControl风扇控制软件 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa…...