图1:logistic回归模型
logistic回归在二十世纪初用于生物科学。然后它被用于许多社会科学应用。当因变量(目标)是分类时,使用logistic回归。
例如,
要预测电子邮件是垃圾邮件(1)还是(0)
肿瘤是否恶性(1)或不(0)
考虑一个我们需要分类电子邮件是否为垃圾邮件的场景。如果我们对此问题使用线性回归,则需要根据可以完成的分类来设置阈值。如果实际分类是恶性的,预测的连续值为0.4,阈值为0.5,则数据点将被分类为非恶性的,这可能导致实时严重的后果。
从这个例子中,可以推断线性回归不适合分类问题。线性回归是无界的,这带来了逻辑回归。它们的值严格限制在0到1之间。
简单的logistic回归
模型
output = 0 or 1
hypothesis => z = wx + b
hθ(x) = sigmoid (z)
sigmoid函数
图2:sigmoid 激活函数
如果'z'趋于无穷大,则y(预测)将变为1,如果'z'变为负无穷大,则y(预测)将变为0
假设的分析
假设的输出是估计的概率。这用于推断给定输入x时预测值的实际值的可信度。考虑下面的示例,
x = [x0 x1] = [1 ip-address]
基于x1值,假设我们获得的估计概率为0.8。这表明有80%的可能性是电子邮件是垃圾邮件。
在数学上,这可以写成,
图3:数学表示
这证明了“逻辑回归”的名称。数据拟合到线性回归模型中,然后由预测目标分类因变量的逻辑函数来处理。
logistic回归的类型
1.二元logistic回归
分类响应只有两种可能的结果。示例:垃圾邮件与否
2.多项logistic回归
三个或更多类别没有排序。示例:预测哪些食物更受欢迎(蔬菜,非蔬菜,素食主义者)
3.序数logistic回归
三个或更多类别与订购。例如:电影评级从1到5
决定边界
为了预测数据属于哪个分类,可以设置阈值。基于该阈值,将所获得的估计概率分类为类别。
假设,如果predict_value≥0.5,那么将电子邮件归类为垃圾邮件不是垃圾邮件。
决策边界可以是线性或非线性的。多项式阶数可以增加以获得复杂的决策边界。
cost function
图4:logistic回归的cost function
线性回归使用均方差作为其成本函数。如果这用于逻辑回归,那么它将是参数(theta)的非凸函数。只有函数是凸的,梯度下降才会收敛到全局最小值。
图5:凸和非凸成本函数
cost function解释
图6:第1部分
图7:第2部分
简化的成cost function
why this cost function?
图9:最大似然解释部分-1
图10:最大似然解释部分-2
这种负面作用是因为当我们训练时,我们需要通过最小化损失函数来最大化概率。假设样本是从完全相同的独立分布中抽取的,降低成本会增加最大可能性。
推导出梯度下降算法的公式
图11:梯度下降算法第1部分
图12:梯度下降第2部分
python实现
cost vs number_of_iterations
培训和测试系统的准确性是100%
该实现用于二元逻辑回归。对于超过2类的数据,必须使用softmax回归。