由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 如何解决这样一个realtime similarity detection问题
相关主题
如何动态定义类和方法python下怎么解决GIL?
[合集] 请教一个关于用C++画图的问题。HELP:这个死锁是怎么发生的?
inline functions in C++关于在c++ member function里用signal( )
is there any cpp container similar to this one?问个比较棘手的题目
请教matlab转C++这类和数学有关的面试题怎么解决? (转载)
面试问题C++ memory leakage同时train segm和obj detect
GCJ2009怎么做machine learning system cold start
这个function pointer最后的那个int是什么意思?[bssd]科技对社会在国内正面作用还是非常大
相关话题的讨论汇总
话题: signal话题: similarity话题: anomaly话题: detection话题: realtime
进入Programming版参与讨论
1 (共1页)
M********0
发帖数: 1230
1
遇到这么一个问题 简单归纳之下大概是这样的:
每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做
similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为
anomaly
维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离
计算 怎么实现优化
这个系统怎么设计?有现成的吗?
n******g
发帖数: 2201
2
Kalman filter 外行建议?
[在 Marcus2010 (马库斯) 的大作中提到:]
:遇到这么一个问题 简单归纳之下大概是这样的:
:每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做
:similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为
:anomaly
:维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离
:计算 怎么实现优化
:这个系统怎么设计?有现成的吗?
b***i
发帖数: 3043
3
每一个信号是多少数据?要算点积吗?

【在 M********0 的大作中提到】
: 遇到这么一个问题 简单归纳之下大概是这样的:
: 每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做
: similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为
: anomaly
: 维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离
: 计算 怎么实现优化
: 这个系统怎么设计?有现成的吗?

w***g
发帖数: 5958
4
应该没现成的. 如果你的signal维度不是那么大, C++暴力算应该没啥压力.
因为你是要求farthest neighbor, 也没啥索引适合你用的.
可以用circular buffer来实现queue.
不够快再回帖, 我还有一些办法, 都要牺牲代码可读性.
你这个计算量不大, 估计没必要.
我倒觉得问题在与一个signal和2w个怎么定义差异. 既然你是detect anomaly,
显然之前的2w个里也会有anomaly. 你要是单取最大的distance, 很可能就是和
之前的anomaly比, 而不是和typical case比.

【在 M********0 的大作中提到】
: 遇到这么一个问题 简单归纳之下大概是这样的:
: 每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做
: similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为
: anomaly
: 维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离
: 计算 怎么实现优化
: 这个系统怎么设计?有现成的吗?

M********0
发帖数: 1230
5
raw大概不到100个 但有不少noise 最后大概40-50 optimal feature 不需要算点积

【在 b***i 的大作中提到】
: 每一个信号是多少数据?要算点积吗?
M********0
发帖数: 1230
6
谢大牛回复!
数据维度不大 最终可能在40-50左右 其中1/3可能是discrete value (a few binary)
我们的anomaly平均大概每天1%-2% 每小时可能spike时也就5% 所以多数signal是
normal的 在这种假设下 其实多数就是计算对比距离 continuous value可以考虑用高
斯分布
问题背景貌似比较简单 但是不确定具体实现要怎么做 不清楚目前的ML package里有
没有可用的算法 这算是一个density based local outlier detection问题

【在 w***g 的大作中提到】
: 应该没现成的. 如果你的signal维度不是那么大, C++暴力算应该没啥压力.
: 因为你是要求farthest neighbor, 也没啥索引适合你用的.
: 可以用circular buffer来实现queue.
: 不够快再回帖, 我还有一些办法, 都要牺牲代码可读性.
: 你这个计算量不大, 估计没必要.
: 我倒觉得问题在与一个signal和2w个怎么定义差异. 既然你是detect anomaly,
: 显然之前的2w个里也会有anomaly. 你要是单取最大的distance, 很可能就是和
: 之前的anomaly比, 而不是和typical case比.

g****t
发帖数: 31659
7
算coorelation coefficient是第一个要试的东西。
x(k),y(k-7200),python写一段recursive算C(k)
C是until now的关联系数。
you can use [email protected] to improve performance

【在 M********0 的大作中提到】
: 遇到这么一个问题 简单归纳之下大概是这样的:
: 每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做
: similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为
: anomaly
: 维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离
: 计算 怎么实现优化
: 这个系统怎么设计?有现成的吗?

g****t
发帖数: 31659
8
如果是电压电流的信号V(t),I(t)。
最实用的一个指标是功率角x。
cos(x)= A/(B1×B2)
A是V×I的积分
B1是V平方积分的平方根
B2是I平方积分的平方根
x表示V,I的相关程度。显然V,I成比例的时候,
做功最多。

【在 w***g 的大作中提到】
: 应该没现成的. 如果你的signal维度不是那么大, C++暴力算应该没啥压力.
: 因为你是要求farthest neighbor, 也没啥索引适合你用的.
: 可以用circular buffer来实现queue.
: 不够快再回帖, 我还有一些办法, 都要牺牲代码可读性.
: 你这个计算量不大, 估计没必要.
: 我倒觉得问题在与一个signal和2w个怎么定义差异. 既然你是detect anomaly,
: 显然之前的2w个里也会有anomaly. 你要是单取最大的distance, 很可能就是和
: 之前的anomaly比, 而不是和typical case比.

M********0
发帖数: 1230
9
没明白 这里k应该是时间t吧 x,y分别是什么? 求什么的correlation coefficient?

【在 g****t 的大作中提到】
: 算coorelation coefficient是第一个要试的东西。
: x(k),y(k-7200),python写一段recursive算C(k)
: C是until now的关联系数。
: you can use [email protected] to improve performance

g****t
发帖数: 31659
10
X,Y就是你的信号啊
相关系数应该线性代数都学过吧


: 没明白 这里k应该是时间t吧 x,y分别是什么? 求什么的correlation
coefficient?



【在 M********0 的大作中提到】
: 没明白 这里k应该是时间t吧 x,y分别是什么? 求什么的correlation coefficient?
b***i
发帖数: 3043
11
根据前几万个输入求出平均值和一个范围,然后直接和平均值距离比较?
然后更新平均值和范围。

【在 M********0 的大作中提到】
: 遇到这么一个问题 简单归纳之下大概是这样的:
: 每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做
: similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为
: anomaly
: 维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离
: 计算 怎么实现优化
: 这个系统怎么设计?有现成的吗?

m****o
发帖数: 182
12
你这个用deepbit做应该是最佳方案。
Learning compact binary descriptors with unsupervised deep neural network ,
cvpr16
神经网络训练好后,每一个信号都可以被转化成一个0-1 array,比较相似度直接做一
个xor就搞定了。
1 (共1页)
进入Programming版参与讨论
相关主题
[bssd]科技对社会在国内正面作用还是非常大请教matlab转C++
[bssd]wdong,lightroom....来猜个东西面试问题C++ memory leakage
请ML大神给点启发GCJ2009
embeded and realtime system这个function pointer最后的那个int是什么意思?
如何动态定义类和方法python下怎么解决GIL?
[合集] 请教一个关于用C++画图的问题。HELP:这个死锁是怎么发生的?
inline functions in C++关于在c++ member function里用signal( )
is there any cpp container similar to this one?问个比较棘手的题目
相关话题的讨论汇总
话题: signal话题: similarity话题: anomaly话题: detection话题: realtime