我试图用Matlab GPTIPS框架来解决分类问题。到目前为止,我已经成功地建立了合理的数据表示和适应度函数,每类的平均准确率接近65%。
我现在需要的是有两个困难的帮助:
请注意,我怎样才能提高我的功能来纠正数据偏差。
更新:
对于我的第二个问题,我已经找到了伟大的文章“遗传程序设计中控制覆盖的实验”和一些文章作者关于在GP中处理过度适应的想法,它有令人印象深刻的评论,有很多引用了许多不同的方法来解决这个问题。现在我有了很多新的想法,我可以尝试解决我的问题。不幸的是,仍然找不到任何选择适当的健身功能,这将考虑到不平衡的类比例在我的数据。
发布于 2012-09-17 22:38:31
当基线(根据大多数样本分类为类)为80%时,65%的准确率是很差的。您需要至少实现基线分类,以便有一个比简单的模型更好的模型。
我不会惩罚复杂性。而是限制树的大小(如果可能的话)。您可以在运行过程中识别更简单的模型,比如存储具有质量和复杂性的pareto前面的模型作为其两个适应度值。
在HeuristicLab中,我们已经集成了基于GP的分类,可以完成这些事情。有几个选项:您可以选择使用MSE进行分类或R2。在最新的主干构建中,还有一个评估器可以直接优化精度(确切地说,它优化了分类惩罚)。优化MSE意味着它为每个类分配一个值(1,2,3,.)并试图将该值的均方误差降到最小。这在一开始看起来并不是最理想的,但很有效。直接优化精度可能会导致更快的过度拟合。还有一个公式简化器,它允许您修剪和缩小公式(并查看该公式的效果)。
另外,它需要是家庭医生吗?你也尝试过随机森林分类或支持向量机吗?射频非常快,而且通常工作得很好。
https://stackoverflow.com/questions/12457490
复制相似问题