Logistic Regression(逻辑回归)中的损失函数理解

问题:线性回归中,当我们有m个样本的时候,我们用的是损失函数是
J ( θ ) = 1 m ∑ i = 1 m 1 2 ( h θ ( x ( i ) ) − y ( i ) ) 2 J_{(\theta)} = \frac{1}{m}\sum_{i=1}^m\frac{1}{2}(h_{\theta}(x^{(i)}) - y^{(i)})^2 J(θ)=m1i=1m21(hθ(x(i))y(i))2
但是,到了逻辑回归中,损失函数一下子变成
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) l o g ( h θ ( x ( i ) ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] J_{(\theta)} = -\frac{1}{m}\sum_{i=1}^m[y^{(i)}log(h_{\theta}(x^{(i)})) + (1-y^{(i)})log(1-h_{\theta}(x^{(i)}))] J(θ)=m1i=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))]
那么,逻辑回归的损失函数为什么是这个呢?


1. 前置数学知识:最大似然估计

1.1 似然函数

若总体 X X X属离散型,其分布律$ P{X=x} = p(x;\theta) $, θ ∈ Θ \theta\in\Theta θΘ的形式已知, θ \theta θ为待估参数, Θ \Theta Θ θ \theta θ的可能取值范围。设 X 1 , X 2 , . . . , X n X_1, X_2, ..., X_n X1,X2,...,Xn是来自 X X X的样本,则 X 1 , X 2 , . . . , X n X_1, X_2, ..., X_n X1,X2,...,Xn的联合概率分布为
∏ i = 1 n p ( x i ; θ ) \prod_{i=1}^np(x_i;\theta) i=1np(xi;θ)
x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn是相应于样本 X 1 , X 2 , . . . , X n X_1, X_2, ..., X_n X1,X2,...,Xn的一个样本值。则样本 X 1 , X 2 , . . . , X n X_1, X_2, ..., X_n X1,X2,...,Xn取到观察值 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn的概率,也就是事件 { X 1 = x 1 , X 2 = x 2 , . . . , X n = x n } \{X_1=x_1, X_2=x_2, ..., X_n=x_n\} {X1=x1,X2=x2,...,Xn=xn}发生的概率为
L ( θ ) = L ( x 1 , x 2 , . . . , x n ; θ ) = ∏ i = 1 n p ( x i ; θ ) , θ ∈ Θ L(\theta)=L(x_1, x_2, ..., x_n;\theta)=\prod_{i=1}^np(x_i;\theta) ,\quad \theta\in\Theta L(θ)=L(x1,x2,...,xn;θ)=i=1np(xi;θ),θΘ
L ( θ ) L(\theta) L(θ)称为样本的似然函数,它是 θ \theta θ的函数。(注意:这里 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn是已知的样本值,都是常数)

1.2 最大似然估计

关于最大似然估计,我们可以有以下的直观想法:
现在已经去到样本值 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn了,这表明取到这一样本值的概率 L ( θ ) L(\theta) L(θ)比较大,而取到其他样本值概率比较小。由费希尔(R.A.Fisher)引进的最大似然估计,就是固定样本观察值 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn,在 θ \theta θ取值的可能范围 Θ \Theta Θ内挑选使似然函数 L ( x 1 , x 2 , . . . , x n ; θ ) L(x_1, x_2, ..., x_n;\theta) L(x1,x2,...,xn;θ)达到最大的参数值 θ ^ \hat{\theta} θ^使
L ( x 1 , x 2 , . . . , x n ; θ ^ ) = max ⁡ θ ∈ Θ L ( x 1 , x 2 , . . . , x n ; θ ) L(x_1, x_2, ..., x_n;\hat{\theta})= \max_{\theta\in\Theta}L(x_1, x_2, ..., x_n;\theta) L(x1,x2,...,xn;θ^)=θΘmaxL(x1,x2,...,xn;θ)
这样得到的 θ ^ \hat{\theta} θ^与样本值 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn有关,常记为 θ ^ ( x 1 , x 2 , . . . , x n ) \hat{\theta}(x_1, x_2, ..., x_n) θ^(x1,x2,...,xn),称为参数 θ \theta θ最大似然估计值,相应的统计量 θ ^ ( X 1 , X 2 , . . . , X n ) \hat{\theta}(X_1, X_2, ..., X_n) θ^(X1,X2,...,Xn)称为参数 θ \theta θ的最大似然估计量。
确定最大似然估计量的问题,就可以归结为求最大值的问题了。一般的求最大似然估计,都是转化为对数形式的似然函数来进行求解。
似然函数:
L ( θ ) = L ( x 1 , x 2 , . . . , x n ; θ ) = ∏ i = 1 n p ( x i ; θ ) , θ ∈ Θ L(\theta)=L(x_1, x_2, ..., x_n;\theta)=\prod_{i=1}^np(x_i;\theta) ,\quad \theta\in\Theta L(θ)=L(x1,x2,...,xn;θ)=i=1np(xi;θ),θΘ
对数形式的似然函数(这里是自然对数,底数为e)
l o g L ( θ ) = ∑ i = 1 n p ( x i ; θ ) , θ ∈ Θ logL(\theta)= \sum_{i=1}^np(x_i;\theta) ,\quad \theta\in\Theta logL(θ)=i=1np(xi;θ),θΘ
简单总结:
上面的数学知识说的通俗一点,就是通过样本来预测总体的分布,怎么来预测呢?
让总体分布尽量与样本的分布趋同,就是总体的分布与样本分布具有最大的相似性,然后再来求取分布中的参数 θ \theta θ


2. 逻辑回归损失函数理解

2.1 逻辑回归前置知识

回归:输出的是连续数据,目的是找到最优的拟合。(例如:预测气温)
分类:输出的是离散数据,目的是找到决策边界。(例如:预测硬币正反)
逻辑回归是用来解决分类问题的,这里有一个前提假设,就是样本服从0-1分布,也就是伯努利分布n=1的情况。
0-1分布的分布律为:

X(随机变量)01
P(概率)1-pp

下面介绍一下sigmoid函数如下:
y = 1 1 + e ( − x ) y=\frac{1}{1+e^{(-x)}} y=1+e(x)1
sigmoid函数.png
这个函数的输出结果是一种概率,介于0到1之间。

2.2 理解方式1(ML课程的讲解方式)

逻辑回归中sigmoid函数为 h θ ( x ) = 1 1 + e ( − θ T x ) h_{\theta}(x)=\frac{1}{1+e^{(-\theta^T x)}} hθ(x)=1+e(θTx)1 (其中 θ T x = ∑ i = 0 n θ i x i \theta^T x=\sum_{i=0}^{n}\theta_ix_i θTx=i=0nθixi)
可以用sigmoid函数表示0-1中取1的概率。所以我们的损失函数可以定义为
当 y = 0 时 , C o s t ( h θ ( x ) , y ) = − l o g ( 1 − h θ ( x ) ) 当y=0时,Cost(h_\theta(x),y)=-log(1-h_\theta(x)) y=0Cost(hθ(x),y)=log(1hθ(x))
当 y = 1 时 , C o s t ( h θ ( x ) , y ) = − l o g ( h θ ( x ) ) 当y=1时,Cost(h_\theta(x),y)=-log(h_\theta(x)) y=1Cost(hθ(x),y)=log(hθ(x))
当我们把损失函数与0-1分布的分布律对应起来的时候, p = h θ ( x ) p=h_{\theta}(x) p=hθ(x),损失函数就是在0-1分布的基础上取对数然后再取负数。这也好理解,损失函数的要求就是预测结果与真实结果越相近,函数值越小,所以会在前面加上负号。当y=0时,1-p的概率会比较大,在前面加上负号,Cost值就会很小;当y=1时,p的概率会比较大,在前面加上负号,Cost值就会很小。至于取对数,就是跟最大似然函数有关系,取对数不影响原本函数的单调性,而且会放大概率之间的差异,更好的区分各个样本的类别。
把上面损失函数写成统一的形式:
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) l o g h θ ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y^{(i)}logh_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)}))] J(θ)=m1i=1m[y(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]
好了,至此,我们得到了逻辑回归的损失函数。虽然大家都是这么讲的,但是,总是感觉没有太懂为什么最后得到了这个损失函数。如果想从数学的角度推导,可以继续往下看。

2.3 理解方式2

对于0-1分布的似然函数

0-1分布的分布律为
P { X = k } = p k ( 1 − p ) 1 − k , k = 0 , 1 ( 0 < p < 1 ) P\{X=k\}=p^{k}(1-p)^{1-k}, k=0,1 (0<p<1) P{X=k}=pk(1p)1k,k=0,1(0<p<1)
x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn是来自于样本 X 1 , X 2 , . . . , X n X_1, X_2, ..., X_n X1,X2,...,Xn的一个样本值,X的分布律为
P { X = x } = p x ( 1 − p ) 1 − x , x = 0 , 1 ( 0 < p < 1 ) P\{X=x\}=p^{x}(1-p)^{1-x}, x=0,1 (0<p<1) P{X=x}=px(1p)1x,x=0,1(0<p<1)
它的似然函数为
L ( p ) = ∏ i = 1 n p x i ( 1 − p ) 1 − x i L(p) = \prod_{i=1}^{n}p^{x_i}(1-p)^{1-x_i} L(p)=i=1npxi(1p)1xi
似然函数的对数形式为
l o g L ( p ) = ( ∑ i = 1 n x i ) l o g   p + ( ∑ i = 1 n ( 1 − x i ) ) l o g ( 1 − p ) logL(p) = (\sum_{i=1}^{n}{x_i})log\ p+ (\sum_{i=1}^{n}{(1-x_i)})log(1-p) logL(p)=(i=1nxi)log p+(i=1n(1xi))log(1p)

对于逻辑回归的似然函数

逻辑回归中sigmoid函数为 h θ ( x ) = 1 1 + e ( − θ T x ) h_{\theta}(x)=\frac{1}{1+e^{(-\theta^T x)}} hθ(x)=1+e(θTx)1,可以用sigmoid函数表示0-1中取1的概率,在这里用于表示逻辑回归中的概率。逻辑回归中的样本值为 ( ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . , ( x m , y m ) ) ((x^1, y^1), (x^2, y^2) ..., (x^m, y^m)) ((x1,y1),(x2,y2)...,(xm,ym)),样本中的 x i x^i xi是用来求概率 h θ ( x ) h_{\theta}(x) hθ(x)的, y i y^i yi是样本的真实值,也就是真实类别。在机器学习中,习惯称 x i x^i xi为特征值, y i y^i yi为标签。
h θ ( x ) h_{\theta}(x) hθ(x)对应于0-1分布中的概率 p p p y i y^i yi对应于0-1分布中的 x i x_i xi,也就是样本值。这样我们就把逻辑回归和0-1分布对应起来了。我们用逻辑回归来作为分类模型,需要用最大似然估计的方法来评判模型的好坏。让总体分布尽量与样本的分布趋同,就是总体的分布与样本分布具有最大的相似性,然后再来求取模型中的参数 θ \theta θ,这样就可以得到比较符合最大似然估计的模型。这个模型其实就是 h θ ( x ) h_{\theta}(x) hθ(x)
根据0-1分布的似然函数,我们可以写出逻辑回归的似然函数
L ( p ) = ∏ i = 1 m h θ ( x ( i ) ) y ( i ) ( 1 − h θ ( x ( i ) ) ) 1 − y ( i ) L(p) = \prod_{i=1}^{m}h_{\theta}(x^{(i)})^{y^{(i)}}(1-h_{\theta}(x^{(i)}))^{1-y^{(i)}} L(p)=i=1mhθ(x(i))y(i)(1hθ(x(i)))1y(i)
对数形式为
l o g L ( p ) = ∑ i = 1 m y ( i ) l o g   h θ ( x ( i ) ) + ∑ i = 1 m ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) logL(p) = \sum_{i=1}^{m}{y^{(i)}}log\ h_{\theta}(x^{(i)})+\sum_{i=1}^{m}(1-y^{(i)})log(1-h_{\theta}(x^{(i)})) logL(p)=i=1my(i)log hθ(x(i))+i=1m(1y(i))log(1hθ(x(i)))
逻辑回归的损失函数为
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) l o g h θ ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y^{(i)}logh_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)}))] J(θ)=m1i=1m[y(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]
J ( θ ) = − 1 m l o g L ( p ) J(\theta) = -\frac{1}{m}logL(p) J(θ)=m1logL(p)
损失函数跟对数形式的似然函数很像,只是在前面乘以 − 1 m -\frac{1}{m} m1。最大似然估计的方法要求 l o g L ( p ) logL(p) logL(p)的最大值,损失函数在其前面加上负号,就是求最小值,这个跟损失函数的特性刚好吻合。1/m是用来对m个样本值的损失函数值取平均,不会影响函数功能。
因此,逻辑回归的损失函数求最小值,就是根据最大似然估计的方法来的。


参考资料:

  1. 盛骤, 谢式千等.《概率论与数理统计》(第四版). 高等教育出版社.
  2. 吴恩达机器学习视频
    .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值