逻辑回归详述
Logistic回归-详细概述
图1:Logistic回归模型
Logistic回归在20世纪初被用于许多社会科学应用中。当因变量(目标)是分类时,可以使用逻辑回归。
例如,
- 预测电子邮件是垃圾邮件(1)还是(0)
- 肿瘤是否为恶性(1)(0)
考虑一种情况,在这种情况下,我们需要对电子邮件是否为垃圾邮件进行分类。如果我们对这个问题使用线性回归,则需要根据可完成的分类设置阈值。假设实际类别为恶性,预测连续值为0.4,阈值为0.5,则该数据点将归类为非恶性,这可能导致严重的实时后果。
简单逻辑回归
完整的源代码 : //github.com/SSaishruthi/LogisticRegression_Vectorized_Implementation/blob/master/Logistic_Regression.ipynb)
模型
输出= 0或1
假设=> Z = WX + B
hΘ(x)= Sigmoid(Z)
Sigmoid Function
图2:sigmoid激活函数
如果’Z’变为无穷大,则Y(预测)将变为1,如果’Z’变为负无穷大,则Y(预测)将变为0。
Logistic回归的类型\
- 二元Logistic回归
类别响应只有两个2种可能的结果。示例:是否为垃圾邮件
- 多项逻辑回归
三个或更多类别,无需订购。示例:预测哪种食物更受欢迎(蔬菜,非蔬菜,素食主义者)
- 有序逻辑回归
带有订购的三个或更多类别。示例:电影分级从1到5
决策边界\
为了预测数据属于哪个类别,可以设置一个阈值。基于该阈值,将获得的估计概率分类。
比如,predicted_value≥0.5,则将电子邮件分类为垃圾邮件,否则分类为非垃圾邮件。
决策边界可以是线性的或非线性的。可以增加多项式阶数以获得复杂的决策边界。
为什么已经用于线性的成本函数不能用于物流?
线性回归使用均方误差作为成本函数。如果将其用于逻辑回归,则它将是参数(theta)的非凸函数。仅当函数为凸函数时,梯度下降才会收敛到全局最小值。
图5:凸和非凸成本函数
成本函数说明\
图6:成本函数第1部分
图7:成本函数第2部分
简化成本函数\
图8:简化的成本函数
为什么要使用此成本函数?\
图9:最大似然说明第1部分
图10:最大似然说明第2部分
这个负函数是因为当我们训练时,我们需要通过最小化损失函数来最大化概率。假设从相同独立的分布中抽取样本,则降低成本将增加最大可能性。
推导梯度下降算法的公式\
图11:梯度下降算法第1部分
图12:梯度下降第2部分
Python实现\
1 |
|
Cost vs Number_of_Iterations
系统的训练和测试精度为100%
此实现用于二进制逻辑回归。对于具有2个以上类别的数据,必须使用softmax回归。