机器学习技术,用于学习字符串模式


11

我有一个单词列表,属于不同的自定义类别。每个类别都有其自己的模式(例如,一个具有固定长度的特殊字符,另一种仅存在于“单词”的类别中的字符,...)。

例如:

"ABC" -> type1
"ACC" -> type1
"a8 219" -> type2
"c 827" -> type2
"ASDF 123" -> type2
"123123" -> type3
...

我正在寻找一种机器学习技术,根据训练数据自行学习这些模式。我已经尝试自己定义一些预测变量(例如,字长,特殊字符的数量...),然后使用神经网络来学习和预测类别。但这根本不是我想要的。我希望有一种技术可以自己学习每个类别的模式,甚至可以学习我从未想过的模式。

因此,我提供了算法学习数据(由单词类别示例组成),并希望它学习每种类别的模式,以便以后根据相似或相等的单词来预测类别。

有最先进的方法吗?

谢谢你的帮助


从我的角度来看,您可以执行类似cistrome.org/cr/images/Figure4.png的操作,但是可以使用“数字,大写,小写,空格”等模式来代替ACGT,例如
German Demidov

@GermanDemidov谢谢您的评论。我已经考虑过这样的事情。但是我实际上希望学习算法自己完成并检测模式。(我不知道ML是否可行)。
chresse

实际上,这种模式是机器学习。当然您可以通过机器学习来做到这一点,但是一个人需要先进行特征提取,然后再将其作为ML算法的输入。您将从本示例中提取哪些功能?我可以考虑一下散列函数,但对于长度不等的字符串,它会非常不好。因此,由于您将找到一种提取特征的方法,因此您将能够使用ML方法。您还可以像其他类别的符号之间的Levenshtein距离一样进行处理,对它们进行聚类,并使用与质心的最小距离进行分类。
德国人Demidov

@chresse,您可能想在问题中添加无人监督的学习标签。对于使用神经网络执行此操作, LeCun论文可能会令人感兴趣。由于我在文本挖掘或神经网络方面没有太多经验,因此我无法说出这种方法的优势。
GeoMatt22年

1
因此,请使用自然使用的特征(u-大写字母,l-小写字母,n-数字,s-空间)来变换向量,因此向量将是“ ABC”-“ uuu”,“ a8 219”-“ lnsnnn”等上。然后,您需要引入一些距离度量,例如,使用以下算法:en.wikipedia.org/wiki/Smith –Waterman_algorithm。此后,您将能够对数据进行分类/聚类/可视化。
德国人Demidov

Answers:



5

您可以尝试递归神经网络,其中输入是单词中字母的序列,输出是类别。这符合您的要求,因此您无需手动编写任何功能。

但是,要使此方法真正起作用,您将需要一个相当大的训练数据集。

有关更多详细信息,请参阅Alex Graves的第2章“ 使用递归神经网络进行监督序列标记”

这是预印本的链接


1
如果将来“ preprint.pdf”链接中断,您能否添加完整的引用供您最终参考?(我相信是相关的一章吗?)
GeoMatt22 '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.