是否可以使用遗传算法对数据进行分类?例如,是否可以对该数据库进行排序?
Matlab中有什么例子吗?
是否可以使用遗传算法对数据进行分类?例如,是否可以对该数据库进行排序?
Matlab中有什么例子吗?
这是可能的,但这是一个非常糟糕的主意。
有几个选项。一种是不使用 GA 作为直接分类器,而是使用 GA 来学习另一个分类模型(如神经网络)的参数。GA 的基本思想是它(非常粗略地说)形成了一种黑盒方法,用于在任意空间中搜索最小化或最大化某些函数的解决方案。
在这里,您将搜索可能的神经网络拓扑和/或权重的空间,以找到最小化错误分类率的空间。
另一种方法是有时被称为学习分类器系统 (LCS) 或基于遗传学的机器学习 (GBML) 所采用的方法。这种方法是使用进化机制来进化“如果 X 条件为真,则执行/分类 Y”形式的规则集。这是解决这类问题的更直接的方法。您在数据集上定义了一些特征,算法会尝试根据这些特征学习规则。
任何这些方法的问题都在于有很多更好的方法可以解决问题。请记住,GA 基本上是一个黑匣子,应该可以很好地解决大量未知问题。但我并没有解决大量未知问题。我正在尝试在一个数据集上将火腿与垃圾邮件分开。我可以想出比 GA 真正希望做的更好、更快的方法。
您必须了解遗传算法是一种优化算法。您不能向它提供电子邮件并使其对垃圾邮件进行分类。遗传算法用于训练模型以对垃圾邮件进行分类。那东西可能是神经网络。
您需要的是一种优化神经网络神经进化的遗传算法,它可能大致工作如下
但是,有更好的方法对电子邮件进行分类(例如,一种查找某些“垃圾邮件词”的算法)。
但这绝对是可能的。如果您有兴趣,我为神经进化设置了一个javascript 库。