DAMO-DI-ML / KDD2023-DCdetector

153 stars 16 forks source link

关于series_loss ,prior_loss和thresh,逻辑上有些疑问 #31

Open fffii opened 6 months ago

fffii commented 6 months ago

在test的部分,包括(1) stastic on the train set,和(2) find the threshold,我不知道自己理解的对不对,就是在train_loader和thre_loader所对应的数据集上统计loss经过softmax变换之后的大小,经过计算百分位数确定thresh的数值。 然后论文中也提到了 normal点之间在不同view下距离是小的,而anomali之间的距离是大的

截屏2024-01-05 17 05 45

算距离是用了kl散度的公式,那我想问的是,对于 metric = torch.softmax((-series_loss - prior_loss), dim=-1) 两个loss值都比较小的点,是不是就是这些点更加相似,然后相加取负数对应softmax它们的值就越大, 但 pred = (test_energy > thresh).astype(int) 看起来说的是比较大的值超过了thresh,是异常的,这感觉逻辑上和前面说不通啊 非常期待和感谢您的回复

yyysjz1997 commented 1 month ago

在test的部分,包括(1) stastic on the train set,和(2) find the threshold,我不知道自己理解的对不对,就是在train_loader和thre_loader所对应的数据集上统计loss经过softmax变换之后的大小,经过计算百分位数确定thresh的数值。 然后论文中也提到了 normal点之间在不同view下距离是小的,而anomali之间的距离是大的 截屏2024-01-05 17 05 45 算距离是用了kl散度的公式,那我想问的是,对于 metric = torch.softmax((-series_loss - prior_loss), dim=-1) 两个loss值都比较小的点,是不是就是这些点更加相似,然后相加取负数对应softmax它们的值就越大, 但 pred = (test_energy > thresh).astype(int) 看起来说的是比较大的值超过了thresh,是异常的,这感觉逻辑上和前面说不通啊 非常期待和感谢您的回复

感谢您的issue!您可能存在误解,这个得分(test_energy)为度量是否异常的指标,这个值越大表示越可能异常,其与两点表征相似与否不同。