关于模型选择

无论是分析还是预测,都有很多种方法,可以使用多种模型,在可以使用多种模型时,如何去选择,这是一个算法工程师常遇到的问题。下面是在工作

  1. 用事实说话,直接评估各个模型结果的好坏。哪个结果好,就选哪个模型。这里评估模型好坏的指标要根据实际情况而定。一般情况下,有precision,recall,roc area / auc 等,评价时一般会使用交叉验证。
  2. 从理论入手。有些模型会更适合做某类工作。例:如果特征之间有较强的关联,那么就不要用NB(ps:使用NB时不要做特征关联,如果真感觉有特征之间有联系,那还是换模型吧)。如果训练数据的量很大,那建议使用复杂度低、求解简单的模型,否则的话,再好的模型你求不出解也是扯蛋。如果问题本身比较简单(较少的特征就能刻画出问题,且没有太多的潜在因素)则不必要用过于复杂的模型。举个例子,垃圾邮件过滤(开发票等垃圾广告)使用NB这种比较简单的模型就能解决。当然你要使用svm这种模型也没问题。提到复杂模型与简单模型,不得不再说一下偏差与方差。复杂的模型具有较高的方差,而简单的模型具有较高的偏差。to do ..
  3. 如果两个模型性能差不多,那么按照奥卡姆剃刀原则,选择模型复杂度低的模型。

posted on 2016-04-07 21:50  BruceLv  阅读(161)  评论(0编辑  收藏  举报

导航