V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ipwx  ›  全部回复第 7 页 / 共 203 页
回复总数  4051
1 ... 3  4  5  6  7  8  9  10  11  12 ... 203  
@AlwaysBee 你现在总结的信息才是解决你问题的重要信息。

按照你的说法,我感觉似乎用一个高斯核、一个均匀核进行卷积。如果两者相差太大,就可以认为出现了你要的检测信号。
然后你这个周期性信号的异常检测我觉得和

https://dl.acm.org/doi/abs/10.1145/3178876.3185996

https://arxiv.org/abs/1802.03903

这个挺配的。第二个链接不用大学网络就能下。(声明,我是作者)

论文里面的例子

https://pic.imge.cc/2024/07/24/66a09d6856838.jpg
画了 200 个的片段,以及用卷积时延过的信号。

楼主你真要把检出时间点放在窗口中间,检测卷积后的信号出现异常的时间(是右边界),然后框到左边就行了。

但正确检测“异常”反而可能要上模型。
看了一下你的数据,三个信号都不是白噪声,而是周期性信号。

那可能确实得上小波分析之类的。

----

楼主说的什么信号时延根本不是问题的关键。要让尖峰延迟若干个点用卷积求平均就行了
你要不给个 csv 数据,我给你 python 随便写一段。你就能体会为啥我上面要问你那么依托东西了。
@AlwaysBee

1 、中间大两边小,我上面说了啊,加卷积啊。
2 、但是加什么卷积、卷积核多宽、然后三个曲线是加起来还是求平均还是求最大值,你得把问题描述清楚才能具体啊。
不要和傻逼对线。
----

混了两年互联网我得到了一个真理:有些人上网不是为了正常社交的,而是为了发泄情绪、找优越感的。他根本不在意谁对谁错,他只是为了骂而骂,只是为了贬低别人而贬低别人。你认真你就输了。

你为什么需要垃圾认同你?
@AlwaysBee 不理解。

“前面说的波动大,就是如图红框中间的波形图波动陡峭起伏大的意思”

你这描述,每个人都有每个人不同的看法啊。你还是得形式化啊

----
我用 t 表示时间,y1 y2 y3 表示序列。

如果认为 y1 在 t 时刻起伏大,是绝对值大?

abs(y1[t]) 很大?

什么叫大?比 80% 的其他点大?

----

如果时刻 t 只有一条线的绝对值大,那算不算你 t 时刻这三条线大?

还是需要三条线都起伏大?
----


如果 t 时刻,三条线的绝对值都不算很大,但是加起来比其他时刻绝对值加起来大,那算不算?
----

我感觉你这个根本不是机器学习的范畴,只是你自己没有把问题描述清楚。你写清楚了就写出来了。
另外你还是没有描述清楚。

你这边有好几条序列,设为 S1[t] ... Sk[t] 这 k 条序列。

所以你每一时刻 t 的波动大,这个波动到底指的是以下哪种定义:

1. max(Si[t] - Sj[t]) 两两之差的最大值
2. max(abs(Si[t] - Sj[t])) 两两之差的绝对值的最大值
3. max(abs(Si[t])) 每条序列的绝对值的最大值

到底是哪个啊?
----

所以你真的还没描述清楚啊(心累
@AlwaysBee 哦好像看懂你在说什么了。

你加个卷积核吧,两边低中间高的卷积核。
@AlwaysBee 哦,你是一个实时序列从左往右跑,然后检测是吧。。。这句话也是我看你上面这句话猜出来的,猜测你 “跑到末尾” 是这个意思。

你的描述太不清晰了,我其实还是知之甚少,比如你的数据是什么、有什么性质。。。
另外吐槽一句,上古时代 onDraw 要写的东西太多了以至于是大神才能玩的。

后来各大 UI 框架都有了它们自己的绘图的框架,降低了这套东西的难度。我学得少,只知道一个 Qt 的 GraphicsView 干这事,还有 JS 可能有一些 Canvas 的库干这些活。其他就不知道了。
在桌面 UI 时代,有一个东西叫做 onDraw (clipRect):UI 框架告诉你,现在你这个控件需要显示 (x0,y0) -> (x1,y1) 区域的东西,你自己画吧。

所以你根本不需要构造一堆 DOM 元素。列表在你的内存里面仅仅是数据,比如 List[{name: Steven, age: 13, ...}],然后你自己先把每个列表项渲染出来的坐标范围给计算出来存着,然后根据 UI 的需求把显示出来的对象画出来就可以了。

而且如果你遍历一遍你的列表找 (x0,y0) -> (x1,y1) 范围内的元素慢(这是 O(n) 的操作),你可以上数据结构,比如线段树,然后你就 O(log n) 了。

用上这套优化,百万个元素也不在话下。毕竟内存里面放一百万个对象才多少,也就几百兆么(注意 1 兆 = 一百万字节)。
----

题外话,所以很多前端不理解 “干嘛老考数据结构和算法”,那是因为没遇上需求。。。
不懂,红框和黑框有啥区别。

你先想办法把你的场景讲清楚
我觉得你想在页面上给一块区域,让服务器传来的 HTML 和 JS 能跑起来还是挺容易的。

拿到 DOM Element ,然后一边 xxx.innerHTML = 'HTML 部分'; 另一边 createElement('script') 然后把 JS 放进去跑。

但是感觉楼主你不会。

另一方面如果你要让 Vue 组件也跑起来,那大概得把整套 JS Module 都丢到页面上…… 算了这条路你还是自己趟吧。
你不如在这个组件里面

onMounted(() => window.pluginContext = {'$html': $html, ... 任何你想要传递的属性});

然后在你的插件里面通过 window.pluginContext 拿到上下文。
319 天前
回复了 gosky 创建的主题 Python Python asyncio 中怎么执行 cpu 密集型任务?
“因为需要加载模型,内存复制必须要考虑。”

你是啥模型。有些模型开多线程是可以并行的。
@MaxChow Obsidian 挺好用的,除了不输 Typora 的所见即所得、纯 Markdown 文件之外,自己有文档库(和图片资源管理)、还有很可扩展的插件体系。我觉得你可以把插件移植到 Obsidian 玩玩。
1 ... 3  4  5  6  7  8  9  10  11  12 ... 203  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2488 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 10:59 · PVG 18:59 · LAX 03:59 · JFK 06:59
Developed with CodeLauncher
♥ Do have faith in what you're doing.