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

【每天一个知识点】均值偏移(Mean-Shift)

均值偏移(Mean-Shift)” 是一种 基于密度的聚类算法,常用于图像处理、目标跟踪、模态检测等领域。其核心思想是:通过滑动窗口不断朝密度最大方向移动,直到收敛于密度极大点(模态),最终将靠近相同模态的点归为一类。


一、基本原理

均值偏移的核心过程是:

  • 对每个点设置一个固定大小的核函数(通常是高斯核);

  • 在核窗口内计算加权平均值(均值);

  • 将窗口向该均值方向移动;

  • 重复上述过程,直到移动距离小于设定阈值(收敛);

  • 所有最终收敛到相同点(或足够近的点)的样本归为一类。


二、数学表达

假设点集为 {x1,x2,…,xn},使用带核函数的加权均值计算移动向量:

其中:

  • x:当前中心点;

  • K(⋅):核函数,常用的是高斯核;

  • m(x):均值偏移向量,指示方向;

  • 不断迭代 x←x+m(x) 直到收敛。


三、算法流程(伪代码)

输入:样本点集 X,核带宽 h
输出:聚类中心,类别标签1. 对每个点 x ∈ X:a. 初始化点 y ← xb. while not converge:i.  在以 y 为中心的窗口内找所有点 zii. 计算均值 μ ← sum(K(||z - y||) * z) / sum(K(||z - y||))iii. 更新 y ← μc. 将收敛后的 y 记录为一个聚类中心2. 对所有聚类中心进行合并(若距离小于阈值)
3. 给所有样本点分配最近的聚类中心作为类别

四、特性

特性描述
不需要预设聚类个数自动根据数据密度确定聚类数量
非参数模型不假设数据分布形式,适合非高斯形状数据
对噪声鲁棒不属于任何模态的点会自然排除在外
计算代价高每个点都要迭代查找密度峰值,效率较低(可用KD-Tree优化)

五、可视化示意图

想象如下图所示的数据分布:

       **     *       **     * **     *     *    ← 密度高的地方,中心会向这边移动

均值偏移算法从每个点开始,不断向密度更高的区域移动,最终多个点会聚到几个“模态”,形成聚类中心。


六、应用场景

  • 图像分割(将像素按颜色/空间位置聚类)

  • 目标跟踪(对象在图像序列中的平滑移动)

  • 模态检测(寻找概率密度函数的局部最大点)

  • 异常检测(低密度区域的点被排除在聚类之外)


http://www.dtcms.com/a/264307.html

相关文章:

  • 智能客服革新:元智启 AI 如何重塑企业服务体验
  • ctfshow web89-web98(php特性篇)
  • 2023年全国硕士研究生招生考试英语(一)试题总结
  • 【Python基础】13 知识拓展:CPU、GPU与NPU的区别和联系
  • SAP ABAP 中 AMDP 简介及实现方法
  • 【Linux】进程创建——fork()函数深度解析
  • Linux->进程控制(精讲)
  • Ubuntu机器开启root用户远程登录
  • 口重启Spring Boot项目中,通过接口实现应用重启是运维场景中的常见需求。以下是三种主流实现方案及其详细步骤和注意事项:
  • nanoGPT复现——prepare拆解(自己构建词表 VS tiktoken)
  • android实践:Bugly专业版Android SDK集成
  • Docker制作python环境
  • 提示技术系列——方向性刺激提示
  • Jenkins生态与拓展:构建现代化DevOps工具链的终极指南
  • eNSP实验一:IPv4编址及IPv4路由基础
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的抖音渠道力拓展与多渠道利润增长研究
  • RESTful API 设计原则深度解析
  • STM32——代码开发顺序
  • WPF学习笔记(18)触发器Trigger
  • langchain从入门到精通(三十三)——RAG优化策略(九) MultiVector实现多向量检索文档
  • 原神八分屏角色展示页面(纯前端html,学习交流)
  • 《汇编语言:基于X86处理器》第6章 条件处理(1)
  • 每日八股文7.1
  • python-函数模块包
  • 网络基础知识与代理配置
  • 单元测试详解
  • AKAZE(Accelerated-KAZE)图像特征点检测算法详解和C++代码实现示例
  • 6.2 实现文档加载和切分和简易向量数据库的功能
  • 【在 FastAdmin 中取消特定字段的搜索功能】
  • Conda 虚拟环境克隆与 PyCharm 配置教程