给定一个输入序列,我需要确定这个序列是否具有某种所需的属性。该属性只能为真或假,即一个序列只能属于两个可能的类。
序列和属性之间的确切关系尚不清楚,但我相信它非常一致,应该适合统计分类。我有大量的案例来训练分类器,尽管它可能有点嘈杂,因为在这个训练集中,一个序列被分配了错误的类的可能性很小。
训练数据示例:
Sequence 1: (7 5 21 3 3) -> true
Sequence 2: (21 7 5 1) -> true
Sequence 3: (12 21 7 5 11 1) -> false
Sequence 4: (21 5 7 1) -> false
...
粗略地说,该属性由序列中的一组值(例如,“11”的存在意味着该属性几乎肯定为假)以及值的顺序(例如“21 7 5 " 显着增加了属性为真的机会)。
训练后,我应该能够给分类器一个以前看不见的序列,比如(1 21 7 5 3)
,它应该输出它对属性为真的置信度。是否有一种众所周知的算法可以训练具有这种输入/输出的分类器?
我已经考虑了朴素贝叶斯分类器(它并不能真正适应顺序很重要的事实,至少在没有严重破坏输入是独立的假设的情况下是这样)。我还研究了隐藏马尔可夫模型方法,该方法似乎不适用,因为只有一个输出可用,而不是每个输入一个输出。我错过了什么?