逻辑回归与线性回归的联系和区别
- 线性回归解决的是连续变量问题,那么在分类任务中可以用线性回归吗?答案是可以,但效果不好。
- 如何用线性回归来解决分类问题,其分类的阈值选取影响非常大,且当数据不平衡时,也影响效果。
逻辑回归原理简介-sigmoid函数
当z≥0 时,y≥0.5,分类为1,当 z<0时,y<0.5,分类为0,其对应的y值我们可以视为类别1的概率预测值。Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别),所以利用了Logistic函数(或称为Sigmoid函数),函数形式为:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-5,5,0.01)
y = 1/(1+np.exp(-x))
plt.plot(x,y)
plt.xlabel('z')
plt.ylabel('y')
plt.grid()
plt.show()
通过上图我们可以发现 Logistic 函数是单调递增函数,并且在z=0
而回归的基本方程,
将回归方程写入其中为:
所以,
逻辑回归从其原理上来说,逻辑回归其实是实现了一个决策边界:对于函数,当z≥0 时,y≥0.5,分类为1,当 z<0时,y<0.5,分类为0,其对应的y值我们可以视为类别1的概率预测值。
对于模型的训练而言:实质上来说就是利用数据求解出对应的模型的特定的ω。从而得到一个针对于当前数据的特征逻辑回归模型。
而对于多分类而言,将多个二分类的逻辑回归组合,即可实现多分类。
基于鸢尾花(iris)数据集的逻辑回归分类实践
具体见天池实验室