一:什么是逻辑回归
1,概念:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求出最优的模型参数,然后测试验证我们这个求解模型的好坏。
2,函数图像:
插一句,根据图像,明显可以看出,LR就是只有一个神经元(输入层除外)的感知机。
3,逻辑回归的一般步骤:
1,
建立线性模型(Y = wx+b),寻找假设函数(预测函数)h(x)(sigmoid)。
代价函数:
其中z为一般线性模型,z = θ0x0+θ1x1+θ2x2+…θnxn +b = ∑θiXi , 其中 i∈(0,1,2…n)
所以预测函数h(x)为:
结合函数图像,可知其值域为(0,1),我们可以看到如果对于一个二分类问题,如果假设取1的概率g(z) ,那么取0的概率则为1-g(z).证明过程我们可以通过对代价函数求极值(求导)可得:
所以对于函数h(x),分类结果分别为1和分类结果为0的概率分别是:
p(y = 1|x;θ) = h(x)
p(y = 0|x;θ) = 1-h(x)
他们分别表示训练数据在服从θ分布的情况下,分类为1和0的概率分别为h(x)和1-h(x)。则有:
最终,我们将两个概率公式联合起来,得到h(x)的联合概率:
2,
建立损失函数(交叉熵损失),使用优化方法使得损失函数最小。
损失函数建立步骤:
1,确定分布/模型
2,观察样本数量,并写出似然函数:
3,通过求解似然函数最大的凸优化问题,求得参数:
极大似然估计求的是概率最大化,然而我们需要的是优化损失函数,通常使用梯度下降方法使得其值最小,则我们可以取负值,则有:
求梯度w:由已知可得:
则有:
同样过程可求得参数b的梯度,然后梯度更新:
自此,我们可求得模型的最佳参数,得到了最佳模型。
二:逻辑回归的优缺点
优点:
(1)训练速度较快,分类的时候,计算量仅仅只和特征的数目相关;
(2)简单易理解,模型的可解释性非常好,从特征的权重可以看到不同的特征对最后结果的影响;
(3)适合二分类问题,不需要缩放输入特征;
(4)内存资源占用小,因为只需要存储各个维度的特征值;
缺点:
(1)表达能力不强,无法进行特征选择,特征交叉等操作了,因此,不可避免的造成了信息的损失。
(2)不能用Logistic回归去解决非线性问题,因为Logistic的决策面是线性的;
(3)对多重共线性数据较为敏感;
(4)很难处理数据不平衡的问题;
(5)准确率并不是很高,因为形式非常的简单(非常类似线性模型),很难去拟合数据的真实分布;
(6)逻辑回归本身无法筛选特征,有时会用gbdt来筛选特征,然后再上逻辑回归
三:逻辑回归常见问题
1,逻辑回归和多重线性回归的区别:
两者都属于广义线性模型,有很多的相似之处,最大的不同点在于因变量的不同,多重线性回归的因变量只有一个,而逻辑回归的因变量不定(可以是二分类,可以是多分类),广义线性模型家族中模型基本形式都是差不多的,不同的就是因变量的不同。如果因变量连续,这是多重线性回归,如果是二项分布,就是逻辑回归,如果是泊松分布,就是泊松回归。
2,其他常见问题:
可见该链接,总结的很好