假设我们有两个信号空间S1和S2,每个信号空间包含数百甚至数千个信号。 S1是由给定系统(飞机,汽车等)发送或接收的所有信号,S2是由系统内的子系统的软件模块发送或接收的所有信号。每个信号都有一组特定的数十个属性,如信号名称,周期时间,电压等。
现在我想检查S1中的每个信号是否在S2中至少有一个表示,这意味着S1中信号的所有属性都等于S2中信号的所有属性。这听起来很容易,因为人们可以遍历信号及其属性,并检查某处是否存在等效信号。但事实证明,在两侧(S1和S2信号)可能存在错误的规格,因此不能识别属于一起的信号对。
示例:
K1 = {姓名:= CAN_1234_UHV;电压:= 0.8 mV;周期= 100毫秒}
D1 = {姓名:= CAN_1234_UH;电压:= 0.8mV;周期= 100毫秒}
尽管存在一些拼写错误,人类很容易看出这两个信号可能很好地融合在一起。
所以我所做的是设计一种算法来计算每个属性的字符串的距离度量,将相似度映射到某个可比性,即该特定属性等于另一个信号的相同属性,计算平均值并进行分类如果这个可能性达到一定的阈值,则信号相等。
这产生了可怕的结果,因为两个信号可以归类为相等,因为某些属性具有在信号空间中非常常见的值。因此,下一步是对这些属性进行加权(信号名称比周期时间更适合识别信号)。
这整个过程对我来说似乎很随意,因为我不太了解产生好结果的概率和权重。所以我感觉这可以通过机器学习算法来解决,因为它可以从训练数据中导出概率和权重。
因此,总而言之,使用机器学习算法将信号识别为足够相似的信号是否可行?这样他们就可以归类为平等。我知道这个问题不能得到普遍的回答,我对#34;肠道感觉更感兴趣"并且"向正确的方向推进"。
提前致谢
答案 0 :(得分:2)
您可以在Apache Solr中保存( index )所有信号,其中信号的每个属性都将存储为Solr的字段。
Example:
K1 = {Name:= CAN_1234_UHV; Voltage:= 0.8 mV; Cycle=100ms}
D1 = {Name:= CAN_1234_UH; Voltage:= 0.8mV; Cycle=100 ms}
K1 and D1 is a document in Solr. Name, Voltage, Cycle will be Solr's Field.
然后,您可以使用Solr的 MoreLikeThis 功能来识别类似的信号。
这产生了可怕的结果,因为两个信号可以归类为相等,因为某些属性具有在信号空间中非常常见的值。因此,下一步是对这些属性进行加权(信号名称比周期时间更适合识别信号)。
对于此检查下面的 mlt.qf 。
Solr为 MoreLikeThis 提供了许多常用参数,可根据您的需要进行调整。
您可以使用这些算法为此问题编写自定义解决方案。