一个比较推荐的解决机器学习问题的步骤是:首先以一个简易的算法开始,快速的进行实现,并在交叉验证集上进行验证;然后画出它的学习曲线,通过学习曲线确定是否更多的数据或者更多的特征会对模型的优化有帮助。接着人为地检测交叉验证集中被错误的进行分类的或者预测的样本的共同特征,从实际入手对模型进行调整,即Error Analysis,不断调整并验证在交叉验证集上的误差,寻找最优的结果,优化模型。
在机器学习中,当完成了一个模型的训练后,如何对当前模型的优劣程度做一个评估呢?下面就需要一些业界公认的指标来对模型进行评估。
首先从一个例子开始:对于一个分布非常不均匀的数据集(skewed class),比如正样本(y=1)占比为1%,负样本(y=0)占比为99%,如果此时采用正确率来进行模型优劣的估计,那么如果采用比如逻辑回归等常见分类算法,可能达到98%的正确率。但是如果设计一个“模型”,始终预测结果为负样本,那么这个模型的正确率能够达到99%,从这个指标来看它甚至比经过机器学习算法学习得到的模型表现还好。但是一个显而易见的事实是这个简单的“模型”在测试集上具有非常不佳的表现,因为它本质上并没有进行预测。因此需要别的一些参数来进行模型评估。
下图是常见指标组成的混淆矩阵,其中Actual class代表样本实际应该所处的分类,Predicted class代表模型预测的结果。
</