最初的问题是逻辑回归相对于决策树有哪些优势,什么场景下逻辑回归比决策树效果更好。大多数情况下,“Should I ever use learning algorithm (a) over learning algorithm (b)”的答案都是yes,因为不同的学习算法对于数据有着不同的假设以及不同的收敛速度。因此,当一种算法对于数据的假设与数据本身的情况一致,并且算法收敛性很好,就会有不错的效果。
针对逻辑回归和决策树的对比问题,首先看两种算法对于数据的假设前提是什么。
决策树模型中假设每次的决策边界都是和坐标(特征)平行的。以两个特征(x1,x2)的二维情况为例进行说明,这种情况下选取的规则只能是与坐标平行的情况,比如x1>=4.5,x2>=6.5等等,如下图所示。
所以决策树模型中,会将特征空间划分为矩形(在高维空间中则是超矩形hyper-rectangles)。由于会产生很多分区,决策树通常会产生复杂的方程式,由此造成过拟合问题。
逻辑回归模型中假设有一条平滑的线性决策边界,能够将数据进行划分。这条决策边界不需要是与坐标平行的,可以是任意方向的。所以如果数据中的决策变价与坐标不平行,那么逻辑回归的效果会更好。
综上所述,可以得到如下结论:
1 两种算法的速度都很快,在运行时间上并没有明显的好坏之分。
2 如果数据中只有单一的一条决策边界,并且不需要与坐标平行,那么逻辑回归的效果会更好。
3 如果数据中包含多个决策边界,那么决策树的效果会更好。如果边界大致呈现超矩形的分布,效果会更好。
4 逻辑回归模型较为简单,不容易产生过拟合。决策树容易产生过拟合,通常通过剪枝避免产生过拟合。
另外,如果有多条决策边界,并且不平行与坐标,那么就是支持向量机了。
通过这个对比可以得知,在针对不同问题、不同数据选择模型时,除了考虑具体问题中的因素,还需要考虑数据本身的特点,以及不同模型针对数据做出的假设。