逻辑回归损失函数推导及其模型的推导

注:本篇文章求解思路、过程均为原创,本文出现的文字、公式等均为对照原计算手稿逐字手敲,绝无复制粘贴学术不端之举,转载请注明URL以及出处。

1.什么是逻辑回归?

LogisticRegressionLogistic-Regression是一种广义线性回归,与多重线性回归分析有很多相同之处。如它们的模型形式基本上相同,都具有 wx+bw*x+b。而多重线性回归直接将 wx+bw*x+b 作为因变量,因此他们的因变量不同。

  • 下文中所出现的 wxw*x 均为内积形式。

2.逻辑回归损失函数推导及其模型的推导

  • 下面我们就进行逻辑回归模型以及其损失函数的推导,全程简单粗暴,逐层递进,详略得当,干货满满!

逻辑回归损失函数的推导

Part 1:问题分析

LRLR 为什么用SigmoidSigmoid 函数?

假设有一个二分类问题,输出 yy{ 0,1 },而线性模型的预测值 yy 为实数值,即找到一个阶跃函数将实数 zz 映射为 { 0,1 },这样就能很好地处理分类问题。
由于SigmoidSigmoid 函数具有如下很好的性质:
1)可将值域上的结果映射到01(0,1)之间;
2)可将0.5作为决策边界;
3)数学特性好,容易求导.

所以利用了SigmoidSigmoid 函数:

g(z)g(z) = 11+ez\frac{1}{1+e^{-z}}

逻辑回归损失函数推导及其模型的推导
因为g(z)g(z)最后输出的是样本类别的概率值,所以将阈值设为0.5,g(z)>0.5g(z)>0.5时,概率值为 1,g(z)<0.5g(z)<0.5时,概率值为 0.

Part 2:构造预测函数

为了使模型分类更准确,需要找到一个最优线性函数模型,并对每个 xx 找到最优参数,进而使这个最优线性函数模型的参数达到最优。即:

wTx=w0x+w1x1+...+wnxn=i=1Nwixiw^T*x=w_0x+w_1x_1+...+w_nx_n=\sum_{i=1}^Nw_ix_i
wRnw∈R^n,称为权值向量,
NN为特征个数.

将其与SigmoidSigmoid 函数结合构造LogisticLogistic 回归预测函数:

π(x)=g(wTz)=11+ewTxπ(x)=g(w^Tz)=\frac{1}{1+e^{-w^T*x}}

  • 注意:若最优线性函数模型为 wx+bw*x+bbRb∈R 为偏置,可将权值向量与输入向量加以扩充为w=(w(1),w(2),...,w(n),b)Tw=(w^{(1)},w^{(2)},...,w^{(n)},b)^T, x=(x(1),x(2),...,x(n),b)Tx=(x^{(1)},x^{(2)},...,x^{(n)},b)^T, 即仍记作 wTxw^T*x.

Part 3:构造损失函数

若模仿线性回归中的平方误差损失函数,会得到一个非凸函数,使损失函数有许多局部最优解,得不到全局最优解。
逻辑回归损失函数推导及其模型的推导

对于二分类问题函数 π(x)π(x) ,最大化样本概率就可以得到更优分类模型,所以有:

P(Y=1x)=π(x)P (Y=1|x) = π(x),

1P(Y=0x)=π(x)1 - P (Y=0|x) = π(x).

整合为似然函数为:

L(w)=Ni=1P(Yx;w)=Ni=1[π(xi)]yi[1π(xi)]1yiL(w)=\prod\frac{N}{i=1}P(Y|x;w)=\prod\frac{N}{i=1}[π(x_i)]^{y_i}[1-π(x_i)]^{1-y_i}

逻辑回归模型的推导

Part 1:模型参数的估计

为什么要取对数?

应用极大似然法估计模型参数,即求解 argmaxL(w)argmax L(w),样本集中众多样本,要求其连乘概率为(0,1)间的数,连乘越来越小,所以利用对数变换将其变为连加,不会超出计算精度,不会溢出。即:

L(w)=Ni=1[π(xi)]yi[1π(xi)]1yiL(w)=\prod\frac{N}{i=1}[π(x_i)]^{y_i}[1-π(x_i)]^{1-y_i}

的对数似然函数为:

L(w)=i=1N[yiπ(xi)+(1yi)log(1π(xi))]L(w)=\sum_{i=1}^N[y_iπ(x_i)+(1-y_i)log(1-π(x_i))]

=i=1N[yilogπ(xi)+log(1π(xi))yilog(1π(xi))]=\sum_{i=1}^N[y_ilogπ(x_i)+log(1-π(x_i))-y_ilog(1-π(x_i))]

=i=1N[yilogπ(xi)1π(xi)+log(1π(xi))=\sum_{i=1}^N[y_ilog\frac{π(x_i)}{1-π(x_i)}+log(1-π(x_i))

此时引入事件概率 PP,那么该事件的几率是 P1P\frac{P}{1-P},该事件的对数几率即logistlogist函数为:

logist(P)=logP1Plogist(P)=log\frac{P}{1-P}

此时引入预测函数 π(x)=11+ewTx=P(Y=1x)π(x)=\frac{1}{1+e^{-w^T*x}}=P(Y=1|x)

z=wTxz=w^T*x

得到:

P(Y=1x)=11+ez=1ez(1+ez)ez=ezez+1P(Y=1|x)=\frac{1}{1+e^{-z}}=\frac{1 * e^{z}}{(1+e^{-z}) * e^{z}}=\frac{e^{z}}{e^{z}+1}

1P(Y=1x)=ez+1ez+1ezez+1=1ez+11-P(Y=1|x)=\frac{e^{z}+1}{e^{z}+1}-\frac{e^{z}}{e^{z}+1}=\frac{1}{e^{z}+1}

所以求得其 logistlogist函数为:

logP(Y=1x)1P(Y=1x)=logez=zlog\frac{P(Y=1|x)}{1-P(Y=1|x)}=log e^z=z

代入对数似然函数:

L(w)=i=1N[yiz+log(1π(xi))]L(w)=\sum_{i=1}^N[y_iz+log(1-π(x_i))]

=i=1N[yiz+log(1+ez)1]=\sum_{i=1}^N[y_iz+log(1+e^z)^{-1}]

=i=1N[yi(wTx)log(1+exp(wTx))]=\sum_{i=1}^N[y_i(w^T*x)-log(1+exp(w^T*x))]

L(w)L(w) 求极大值,得到 ww 的估计值,这样,问题就变成了以对数似然函数为目标函数的最优化问题。

Part 2:Logistic回归学习的算法

LogisticLogistic回归学习的算法通常为梯度下降法和拟牛顿法,此处采用梯度下降法求解模型参数:

ww 求导:

Lw(w,xi,yi)=i=1N[xiyixiexp(wTxi)1+exp(wTxi)]L'_w(w,x_i,y_i)=\sum_{i=1}^N[x_iy_i-\frac{x_i exp(w^{T*x_i})}{1+exp(w^{T*x_i})}]

根据梯度下降算法:

1)取初始值 w0Rnw_0∈R_n,置 k=0k=0.

2)计算 L(wk)L(w_k).

3)计算梯度 pk=L(wk)p_k=∇L(w_k),当pk<ε∣∣pk∣∣<\varepsilon 时,停止迭代,令 w=wkw^∗=w_kww^*为所求参数 ww的解。

否则 ,求 λkλk 使L(wk+λkpk)=maxλ0L(wk+λpk)L(w_k+λ_kp_k)=max_{λ≥0}L(w_k+λp_k).

4)置wk+1=w(k)+λkpkw_{k+1}=w_{(k)}+λ_kp_k,计算L(wk+1)L(w_{k+1})

L(wk+1)L(wk)<ε∣∣L(w_{k+1})−L(w_{k})∣∣<\varepsilonwk+1wk<ε∣∣w_{k+1}−w_{k}∣∣<\varepsilon时,停止迭代,令 w=wk+wk+1w^∗=w_k+w_{k+1}ww^*为所求参数 ww的解。

5)否则,置 k=k+1,转第三步。

Part 3:最终模型

最终,学到的 logisticlogistic 回归模型为:

P(Y=1x)=exp(wx)1+exp(wx)P(Y=1|x)=\frac{exp(w^**x)}{1+exp(w^**x)}

P(Y=0x)=11+exp(wx)P(Y=0|x)=\frac{1}{1+exp(w^**x)}

参考资料:《统计学习方法第二版》李航