又名 Logit Regression. 通常用来估计样本属于某一类的概率。
1. 概率估计
【式-1】Logistic Regression模型估计概率(向量形式)
p̂ =hθ(x)=σ(θTx)
其中,
σ(t)=11+exp(−t)
当得到Logistic模型的概率估计结果之后,便可得到当前样本的类别预测结果:
【式-2】Logistic 回归模型预测
ŷ ={01if p̂ <0.5if p̂ ≥0.5
【注意】
由于当
σ(t)<0.5
的时候
t<0
,反之类似,因此Logistic回归在具体判别的时候并不计算
σ(⋅)
的值,而是直接在
θTx>0
的时候预测值为
1
,反之为
0
2. 模型训练与代价函数
1)从直观上来讲:
【式-3】单训练样本下的代价函数
c(θ)={−log(p̂ )−log(1−p̂ )if y=1if y=0
而cost function就是多个单样本的误差求和后平均:
【式-4】Logistic回归的代价函数 (log loss)
J(θ)=−1m∑i=1m[y(i)log(p̂ (i))+(1−y(i))log(1−p̂ (i))]
2)从概率和最大似然的角度来讲:
y
的取值(0或1)可以用【式-5】来建模:
【式-5】Logistic Regression 中类别
y
的概率估计
Pr(y|x;θ)=hθ(x)y(1−hθ(x))(1−y)
假设所有的观测样本件都是独立的,有 Likelihood function:
L(θ|x)=Pr(Y|X;θ)=∏iPr(yi|xi;θ)=∏ihθ(xi)yi(1−hθ(xi))(1−yi)
两遍取对数有 log likelihood (再用
1m
进行归一化):
1mlogL(θ|x)=1mlogPr(Y|X;θ)
极大似然估计问题可以建模为:
max 1mlogL(θ|x)=1mlogPr(Y|X;θ)
即为
min−1m∑i=1m[y(i)log(hθ(xi))+(1−y(i))log(1−hθ(xi))]
即为
min J(θ)
,与 式-4 形式一致。
在线性回归部分我们提过,线性回归问题一般有两种解决方式:1)利用闭式解求解 2)利用迭代算法求解。不幸的是,Logistic回归问题目前没有闭式解,但由于代价函数是 凸 的,所以能够利用GD或者其他优化算法求解全局最优值:
【式-6】Logistic代价函数对第
j
个参数的偏导数
∂∂θjJ(θ)=1m∑i=1m(σ(θTx(i))−y(i))x(i)j
在得到 式-6 中所有参数的偏导项后记得求得梯度向量,进而由 batch GD 求解。
对 Stochastic GD 来说,每次只能利用一个样本进行计算;同样,对 mini-batch GD来说,每次需要用一个 mini-batch 进行计算。