版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_20177327/article/details/83539548
逻辑回归(LR)是一个分类算法,它可以处理二元分类问题和多元分类问题。在介绍LR之前,先回顾一下线性回归(Liner Regression)。
一、线性回归
线性回归是一个回归模型,给定数据集
D={(x1,y1),(x2,y2),...,(xm,ym)},包含 m 个样本,线性回归的假设函数为:
hθ(x)=θ0x0+θ1x1+...+θnxn
损失函数为:
J(θ)=2m1i=1∑m[hθ(x(i))−y(i)]2
带有 L2 正则化的损失函数为:
J(θ)=2m1{i=1∑m[hθ(x(i))−y(i)]2+λj=1∑nθj2}
线性回归的求解可以使用梯度下降法,也可以使用最小二乘法,以下是使用梯度下降法求解的步骤:
(1)初始化参数
λ,
ε
(2)确定当前位置损失函数的梯度,对于
θi,其梯度为:
∂θi∂J(θ0,θ1,...,θn)
(3)用步长
λ 乘以梯度,得到下降的距离,即:
λ∂θi∂J(θ0,θ1,...,θn)
(4)确定是否对于所有的
θi,梯度下降的距离都小于
ε,如果小于,算法终止;否则执行下一步;
(5)更新所有
θi:
θi:=θi−λ∂θi∂J(θ0,θ1,...,θn)
(6)循环(1)-(5);
二、逻辑回归
由于线性回归模型的输出是连续的实值,而逻辑回归是二分类模型,因此需要把线性回归的实值转换成 0/1 值,在逻辑回归中采用 sigmoid 函数,即:
g(z)=1+e−z1
这个函数有非常好的特性,即当 z 趋于正无穷时,函数值接近于1;当 z 趋于负无穷时,函数值接近于0,这个特性使它非常适用于 LR 模型,另外它的导数:
g′(z)=g(z)(1−g(z))
于是得到 LR 的假设函数:
hθ(x)=1+e−θTx1
可以把
hθ(x) 理解为样本 x 为正样本的概率,那么有:
P(y=1∣x;θ)=hθ(x)P(y=0∣x;θ)=1−hθ(x)