Python 之 sklearn——logistic回归
尽管从名字上看逻辑回归模型属于回归模型,但是实际上它是一个线性分类模型。logistic回归又称logit回归,是最大熵分类或者对数线性分类器。该模型使用逻辑函数对描述单个试验可能结果的概率进行建模。
sklearn 里的 LogisticRegression 类,可以处理 2 分类问题 One-vs-Rest 问题。同时可以实施 l1 l2 Elastic-Net 的正则化,使得结构风险最小化。
【注】One-vs-Rest 问题:例如我们现在要处理一个3分类问题,类别分别为A,B,C。1、把A看成一类,B,C合成一类建立logistic回归进行分类,确定A类样本。
2、把B看成一类,A,C合成一类建立logistic回归进行分类,确定B类样本。
3、剩下的归到C类
应用正则化,在机器学习中很常见,但在统计中却不常见。 正则化的一个优点是可以提高数值稳定性。 没有正则化就相当于将C设置为很高的值。
将采用l2正则化的二分类logistic回归问题转化为如下的优化问题,代价函数为
其中L2 体现在 1/2∗wTw1/2*w^Tw1/2∗wTw。
类似的l1正则化的二分类logistic回归问题转化为如下的优化问题,代价函数为
其中L1 体现在 ∣∣w∣∣1||w||_1∣∣w∣∣1。
弹性网正则化结合了 L1 和 L2 正则化,将问题转化为如下的优化问题,代价函数为