【深度学习】逻辑回归及其损失函数的理解

文章目录

  • 一、什么是二分类与逻辑回归(Logistic Regression)?
  • 二、逻辑回归基本思路
  • 三、定义损失函数(Loss Function)

一、什么是二分类与逻辑回归(Logistic Regression)?

二分类表示分类任务中有两个类别。比如有一个分类任务是预测一张图片中是否有猫,则结果只有(1)或没有(0)两种类别。
逻辑回归就是为解决二分类问题,建立模型,输入数据,最终输出一个0到1的数,用来预测 y y y的真实值。比如可以规定当模型输出值 y ^ \hat{y} y^大于等于0.5时,我们便预测输出类别为1(对应上述例子,即图片中有猫)。

二、逻辑回归基本思路

有时我们使用线性回归预测连续的值。设 y ^ \hat{y} y^ 是预测值,则 y ^ \hat{y} y^ 可以表示为:

y ^ \hat{y} y^ = wTx + b

其中x为样本某一特征取值, wT及b为输入参数。

上式输出的值是可以小于0或者大于1的。但我们希望逻辑回归输出一个0到1的数。可以借助 S i g m o i d Sigmoid Sigmoid函数来将输出映射到0到1:

y ^ \hat{y} y^ = σ \sigma σ(wTx + b)
其中, σ ( z ) = 1 1 + e − z \sigma(z) = {1\over 1+e^{-z}} σ(z)=1+ez1

σ ( z ) \sigma(z) σ(z)表示 S i g m o i d Sigmoid Sigmoid函数,其图像如下图所示:
【深度学习】逻辑回归及其损失函数的理解_第1张图片
二分类问题的最终结果 y y y 只可能取值0或1,我们通过某一模型计算得到 y ^ \hat{y} y^, 用于对 y y y 的值进行预测。 y ^ \hat{y} y^ 通过 S i g m o i d Sigmoid Sigmoid函数可以映射到0到1中的某个具体的值,这个值可以理解为模型预测真实结果 y y y 为1的概率。比如 y ^ \hat{y} y^ = 0.8 就代表着在样本 x x x 的条件下,通过模型预测 y y y 真实值为0.8,但 y y y 只可能取值0或1,所以该模型认为 y y y 有着80%的概率取得1。

这样 y ^ \hat{y} y^ 就可以理解为在样本 x x x 条件下, y = 1 y=1 y=1 的概率,即

y ^ = P ( y = 1 ∣ x ) \hat{y} = P(y = 1 | x) y^=P(y=1x)

三、定义损失函数(Loss Function)

损失函数用来描述真实值 y y y与预测值 y ^ \hat{y} y^之间的差距,损失函数越小,代表预测值越接近真实值。
逻辑回归中损失函数定义如下:

L \mathcal{L} L( y ^ \hat{y} y^, y y y) = − - ( ( ( y l o g y ^ y log\hat{y} ylogy^ + + + ( 1 − y ) l o g ( 1 − y ^ ) (1 - y) log(1 - \hat{y}) (1y)log(1y^) ) ) )

下文将给出解释过程。
上文中已说明 y ^ = P ( y = 1 ∣ x ) \hat{y} = P(y = 1 | x) y^=P(y=1x) 。由于y只可能取值为0或1,所以这个式子可以变形为:

IF y = 1: P ( y ∣ x ) = y ^ P(y|x) = \hat{y} P(yx)=y^
IF y = 0: P ( y ∣ x ) = 1 − y ^ P(y|x) =1 - \hat{y} P(yx)=1y^

我们希望预测值 y ^ \hat{y} y^ 接近真实值 y y y
如果y = 1,让 y ^ \hat{y} y^ 接近 y y y, 即接近1,则根据上述第一个式子知 P ( y ∣ x ) P(y|x) P(yx)接近1。
如果y = 0,让 y ^ \hat{y} y^ 接近 y y y, 即接近0,则根据上述第二个式子知 P ( y ∣ x ) P(y|x) P(yx)接近1 - 0 = 1。
因此我们希望P(y|x)值越大越好,越大代表着预测值越接近真实值。
将上述两个式子合并:

P ( y ∣ x ) = y ^ y ( 1 − y ^ ) 1 − y P(y|x) = \hat{y} ^y (1 - \hat{y})^{1 - y} P(yx)=y^y(1y^)1y

通过取对数,简化式子,得:

l o g P ( y ∣ x ) = y l o g y ^ + ( 1 − y ) l o g ( 1 − y ^ ) = − L ( y ^ , y ) logP(y|x) = ylog\hat{y} + (1 - y)log(1 - \hat{y}) = -\mathcal{L}(\hat{y}, y) logP(yx)=ylogy^+(1y)log(1y^)=L(y^,y)

因为对数是单调递增函数,且 P ( y ∣ x ) P(y|x) P(yx)值越大说明预测精度越高,也就是说 l o g P ( y ∣ x ) logP(y|x) logP(yx)越大越好。但损失函数描述的是真实值与预测值的差距,损失函数越小代表着预测精度越高,因此令 l o g P ( y ∣ x ) = − L ( y ^ , y ) logP(y|x) = -\mathcal{L}(\hat{y}, y) logP(yx)=L(y^,y),损失函数最终便可以表示为:

L \mathcal{L} L( y ^ \hat{y} y^, y y y) = − - ( ( ( y l o g y ^ y log\hat{y} ylogy^ + + + ( 1 − y ) l o g ( 1 − y ^ ) (1 - y) log(1 - \hat{y}) (1y)log(1y^) ) ) )

你可能感兴趣的:(深度学习,深度学习)