在逻辑回归中使用多项式特征
之前学习的逻辑回归,其实本质上相当于是在特征平面中找到一条直线,用这条直线来分割所有的样本所对应的两个分类。通过之前的例子,也应该明白了为什么逻辑回归只能解决二分类问题。因为这样的一条直线只能将特征平面分成两部分。
不过,还存在一个问题,直线这种方式太简单了,显然有很多情况,比如下面这个例子,依然是在特征平面上分布了一些样本点,对于这些样本点来说,我们是不可能使用一条直线来将它们非常好的分成两类。
但是,我们可以用一个圆形这样的决策边界将它们分成两部分。
显然,我们之前实现的逻辑回归算法是无法得到圆形的决策边界的。对于一个圆形,它的方程应该是这样的:
那么我们能不能让我们的逻辑回归学习到这样的决策边界呢?其实我们只需要引入多项式项就好了。假设我们将
x
1
2
x_1^2
x12 整体看做一个特征,
x
2
2
x_2^2
x22 整体看做一个特征,所以对于
x
1
2
x_1^2
x12 和
x
2
2
x_2^2
x22 来说,还是一个线性的决策边界.但是如果是对于
x
1
x_1
x1 和
x
2
x_2
x2 来说,它就变成圆形这样的非线性决策边界了。
下面我们通过具体编程观察。
具体代码见 54 逻辑回归中添加多项式特征.ipynb