我有一个单词列表,属于不同的自定义类别。每个类别都有其自己的模式(例如,一个具有固定长度的特殊字符,另一种仅存在于“单词”的类别中的字符,...)。
例如:
"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
因此,请使用自然使用的特征(u-大写字母,l-小写字母,n-数字,s-空间)来变换向量,因此向量将是“ ABC”-“ uuu”,“ a8 219”-“ lnsnnn”等上。然后,您需要引入一些距离度量,例如,使用以下算法:en.wikipedia.org/wiki/Smith –Waterman_algorithm。此后,您将能够对数据进行分类/聚类/可视化。
—
德国人Demidov