加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 确定直方图中的局部最小值

发布时间:2020-12-16 06:04:31 所属栏目:百科 来源:网络整理
导读:我有兴趣在大致相似的直方图中找到局部最小值 我想在109.258找到当地的最低点,最简单的方法是确定109.258的计数是否低于一些时间周期内的平均计数(包括109.258).确定这个间隔是我最困难的部分. 至于这个数据的来源,它是一个直径为100个不均匀的宽度.每个仓都
我有兴趣在大致相似的直方图中找到局部最小值

我想在109.258找到当地的最低点,最简单的方法是确定109.258的计数是否低于一些时间周期内的平均计数(包括109.258).确定这个间隔是我最困难的部分.

至于这个数据的来源,它是一个直径为100个不均匀的宽度.每个仓都有一个值(在x轴上显示),以及落入该仓的样本数(在y轴上显示).我想要做的是找到分割直方图的“最佳”位置.作为分类算法的一部分,分割的每一边都以二叉树向下传播.

我认为我最好的做法是尝试用曲线拟合这个直方图,使用像Levenberg-Marquardt algorithm这样的东西,然后比较当地的最小值来找到“最好的”. “最佳”的适当措施将包括该分割的重要性的一些指示,其被测量为左侧间隔中的平均计数与在右侧间隔中的计数的平均值之间的差异,然后可能将每个差异与包含的计数数量进行权重,以获得“最佳”的综合测量,如果这是有道理的.

无论哪种方式,算法的计算复杂度不是一个巨大的问题,100个bin是关于我期望遇到的最大数量.然而,这个计算将对每个样本执行一次,因此保持线性相对于数目的数量当然是理想的.

顺便说一下,我正在C中做所有的事情,并利用boost库和STL,所以在这方面没有任何限制.

关于最佳做法的任何想法或见解将不胜感激!

解决方法

如果我理解正确,kmore希望根据最大间隔(直方图计数和仓距)的产生分割两个“峰值”.如果是这样的话:

>查找所有最大值.>对于每个最大构建矩形,如图1所示.>查找具有最大白色区域的矩形,这样可以让x范围找到所需的bin 109.258

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读