在上一篇博客中介绍了在逻辑回归中添加多项式项,使得生成相对不规则的决策边界,进而对于非线性的数据进行一个很好的分类。不过,既然引入了多项式项,我们的模型就会变得非常复杂,一不小心就会出现过拟合的情况。解决过拟合的问题,一个常规的手段就是之前学习的模型正则化的方式。
之前我们学习的模型正则化的方式,都是在损失函数 J ( θ ) J(θ) J(θ) 后面添加一个 L 1 L_1 L1 正则项或者 L 2 L2 L2 正则项,并在正则项前添加一个系数 α α α 维持 J ( θ ) J(θ) J(θ) 与正则项之间的平衡。
不过,我们在逻辑回归中使用模型正则化与之前稍有不同,我们不在正则项前添加一个系数,而是在 J ( θ ) J(θ) J(θ) 前添加一个系数 C C C。 在 s k l e a r n sklearn sklearn 中也是使用这种方式。因为这种方式使得你不得不进行正则化,因为 L 1 L_1 L1 和 L 2 L_2 L2 前面的系数不能为 0。
下面我们就来看一下 s k l e a r n sklearn sklearn 是怎么封装逻辑回归的,与此同时,尝试在逻辑回归中引入正则化。
之前有提到过说,逻辑回归只能解决二分类的问题。但是我们也可以利用一些技巧使得逻辑回归能够解决多分类的问题。
具体代码见 55 sklearn中的逻辑回归.ipynb