我有一个涉及字符串的监督学习(布尔分类)问题。有什么资源可以让我了解这方面的最新技术吗?
我熟悉许多监督学习技术,我们假设每个实例都有固定数量的属性:例如,实例由特征向量表示。但现在我有了不同的东西;我有一个字符串,即一个字符序列。我不知道先验可能是什么合适的功能。在这种情况下,是否有任何通用的机器学习技术?
我对在给定现有训练集的情况下工作的技术特别感兴趣(我没有能力标记其他数据;我不想要主动学习算法),并且支持某种正则化或可以处理嘈杂的标签.
我所做的研究和不符合上述要求的方法:
我熟悉正则表达式、有限自动机、语法归纳、LearnLib、Angluin's algorithm和类似概念。然而,大部分工作都在主动学习环境中,其中算法生成一个新实例(查询)并要求人类标记该实例。在我的环境中,我必须使用被动学习:我有一个训练集其中每个是一个字符串并且是它的类别(正面或负面),但我无法获得更多示例。
我也熟悉自动机最小化,所以我知道如何找到可以在训练集中生成所有正例的最小 DFA,但这并不是一个很好的解决方案。它没有任何正则化或奥卡姆剃刀的概念,并且对标签中的少量错误/噪声不具有鲁棒性。可能有一个非常小的 DFA 可以以 99% 的准确率预测正确的标签,但自动机最小化不会找到它;它过于专注于寻找一个能生成所有正例的自动机,即使这会产生一个更大的自动机。
我也熟悉分离自动机的概念,即在训练集上具有 100% 准确率的最小 DFA(接受所有正实例并拒绝所有负实例)。但是,这与自动机最小化具有相同的问题。此外,这似乎可能会过度拟合,最终最终会记住训练集。最后,我看到的研究文献停止指出,找到最小的分离自动机是 NP 难的,并且不关心寻找尽可能小的分离自动机的实用算法。
我熟悉循环神经网络,但我的印象是它们往往需要非常大的训练集,因此在我的设置中可能不会有用。这种技术的变体是否适用于不是很大的训练集(例如,训练集中的数百个示例)?
我熟悉自然语言处理 (NLP) 文献中的一些技术,但它们似乎非常专门用于解析人类语言。是否有任何适用于其他结构化字符串的通用技术?在我的情况下,字符串不是以某种人类语言编写的人类可读文本,而是具有其他一些内容。