algorithm - 在数学算法中使用多个加权属性对扫描结果进行优先排序

标签 algorithm math expression formula weighted

我想就我的工作项目向数学专家请教。我有扫描计算机文件系统以查找某些故障的软件。它类似于漏洞扫描器。软件会为每个检测到的故障分配一个严重性等级,分为 5 个等级(5 为最高优先级)。通常会检测到数以千计的故障,我需要优先考虑哪些故障。但我不能只相信扫描器的严重性等级,因为还有其他属性可以增加或减少无法编程到扫描器中的故障的整体严重性(某些属性是手动评估的或来自不同的扫描器)。假设有四个外部属性:attr1、attr2、attr3、attr4,每个都有自己的排名。 att1 和 attr2 使用 5 分制评分,分别为 1/info、2/low、3/med、4/high、5/urgent。 attr3 使用低/中/高的 3 分制,attr4 是或否。我正在尝试基于 10 分制为修复优先级创建一个指标,其中 10 分是最紧急的,基于扫描仪排名和外部属性。我的想法是,对于接收 fix-priority=10 的故障,每个 attr 都需要以其最大值进行评估,并且扫描器排名也需要为其最大值。任何低于最大值的 attr 或扫描仪排名都会导致修复优先级降低到低于 10 的数字。

我的公式是这样的:

( ( (scannerRank*0.2)+(attr1*0.2)+(attr2*0.2)+(attr3*0.33)+(attr4*0.5) )/4.99 ) * 10

这似乎有效。但这是我的问题:attr4 使用简单的是或否度量标准,因此它的每个值(1 或 2)在我的计算中都值 0.5。同样,attr3 有 3 个可能的值,每个值 0.33。那么,与 attr1、attr2 和 scannerRank 相比,attr3 和 attr4 在计算中是否获得了更多的权重和重要性?如果是这样,我应该如何处理这个问题,因为在确定修复优先级时我认为每个属性都同等重要。此外,在未来,如果我改变了对某个属性的看法,认为它比另一个属性更重要或更不重要,我将如何实现这一点?

最佳答案

我的建议是将这个问题的信念或不确定性部分与评估或成本或损失或偏好部分分开。也就是说,将您认为正在发生的事情与您应该为此担心的程度分开。然后通过评估的期望值将信念与评估结合起来,做出最小化期望评估的决策(假设评估为负值)。

这是一种贝叶斯决策理论方法。它在概念上很简单并且非常通用。 Robert Clemen 的“Making Hard Decisions”是一个很好的介绍。

关于algorithm - 在数学算法中使用多个加权属性对扫描结果进行优先排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48953702/

相关文章:

math - float 学有问题吗?

c - 晶体管的C/数学模型

SSIS 表达式设置两个变量

objective-c - 自上而下的游戏——用障碍物检查、绘制敌人的视线区域

c# - 如何从访问掩码中读取访问权限?

r - 多元 t 混合模型的 EM 算法

algorithm - 两个矩形重叠多少?

arrays - 修改数组以最小化差异

javascript - 正则表达式不起作用

javascript - 这个 Javascript 函数返回什么?