(Logistic 回归实际上是处理分类问题的方法)
-
动机
在处理标签为二值的数据,即二分类任务时,如果使用基本的线性回归模型是无法准确预测的,应当以 “0”, “1”来作为模型的输出,从而判断数据的类别。所以 h(x) 的值域应当在 [0,1] 内,但是线性回归模型 h(x)=θXT+b 不满足此种情形。
我们需要对函数进行变换。
-
Logistic 回归
为了根据 h(x) 函数输出值进行类别判断,我们可以使用阶跃函数,例如:
g(h(x))={0,h(x)<0.51,h(x)≥0.5
使用 g(h(x)) 作为模型的输出值作为预测结果。
但是阶跃函数不满足单调可导性质,而后期优化需要求导,所以我们使用近似阶跃函数的替代函数,Sigmoid 函数:
Sigmoid(z)=1+e−z1,其中z=h(x)=θXT+b
此时令 h(x)=1+e−(θXT+b)1
则此时的 h(x) 为模型的判别函数。
-
优化
在优化模型,即最小化损失函数时,因为 h(x) 值域为 [0,1] ,所以我们可以把其函数值视为分类时的概率 θ:
p(y=1∣x;θ)=θ=h(x)
p(y=0∣x;θ)=1−θ=1−h(x)
则 p(y∣x;θ)=[h(x)]y[1−h(x)]1−y ,并以此作为损失函数。
优化过程
-
写出似然函数
假设全独立,
l(θ)=∏i=1np(yi∣xi;θ)=∏i=1n[h(x)]y[1−h(x)]1−y
-
取对数似然
l(θ)=∑i=1nylog(h(x))+(1−y)log(1−h(x))
-
对 θ 求偏导
已知 h(x)=Sigmoid(x),对函数中各 θ 求偏导:
∂θj∂L(θ)=∑i=1n[yi−h(xi)]xij
-
梯度下降算法更新 θ
θj:=θj+α∂θj∂L(θ)=α∑i=1n[yi−h(xi)]xij
-
线性表示的角度(Logistic 分布、概率)来看
设 z=θXT
p(Y=1∣X)=1+ezez
p(Y=0∣X)=1+ez1
∙ 一个事件的几率:opps=1−pp,对数几率:log1−pp
∙ 对于 Logistic 回归而言,log1−p(Y=1∣X)p(Y=1∣X)=z=θXT
即输出 Y=1 的对数几率是关于输入 X 的线性函数。
z 越大,概率越接近 1;
z 越小,概率越接近 0.
-
凸优化的角度来看
若用平方损失代入 Sigmoid 函数,会发现是非凸的。所以可以使用概率角度的极大似然估计进行计算。
- 写出似然函数,取对数似然 → 凸函数;
- 加“负号”,变为代价函数,转为求最小;
- 使用梯度下降。
-
多分类
假设有 3 个类别。
-
one vs. one
两两一组进行二分类,每两类得一条分类决策边界,共得到 6 个概率,取最大。

C1 为区分 蓝色三角 与 红色矩形 的决策边界,可获得某样本所属类别的两个概率 P(蓝色三角∣C1),P(红色矩形∣C1) ;
C2 为区分 蓝色三角 与 绿色圆圈 的决策边界,可获得某样本所属类别的两个概率 P(蓝色三角∣C2),P(绿色圆圈∣C2) ;
C3 为区分 红色矩形 与 绿色圆圈 的决策边界,可获得某样本所属类别的两个概率 P(红色矩形∣C3),P(绿色圆圈∣C3) ;
从以上以上 6 个概率中选出最大值,即可判定此样本所属类别。
-
one vs. all / rest
将其中一类视为新的类别 A,其他两类视为新类别 B,每一类得到一条属于自己得决策边界,可计算出属于 类别 A 得概率,而 1-P(A) 为属于类别 B 得概率,最终相当于得到 3 个概率,取最大。

C1 为区分 蓝色三角 与 其他形状 的决策边界,可获得某样本所属类别的两个概率 P(蓝色三角∣C1)。
(P(其他形状∣C1)=1−P(蓝色三角∣C1) );
C2 为区分 绿色圆圈 与 其他形状 的决策边界,可获得某样本所属类别的两个概率 P(绿色圆圈∣C2)。
(P(其他形状∣C2)=1−P(绿色圆圈∣C2) );
C3 为区分 红色矩形 与 其他形状 的决策边界,可获得某样本所属类别的两个概率 P(红色矩形∣C3)。
(P(其他形状∣C3)=1−P(红色矩形∣C3) );
从以上 3 个概率P(蓝色三角∣C1),P(绿色圆圈∣C2),P(红色矩形∣C3)中选出最大值,即可判定此样本所属类别。
相关文章:
-
2019-01-10
-
2021-12-16
-
2021-11-07
-
2021-05-21
-
2021-09-17
-
2021-05-23
-
2021-06-25