机器学习中的逻辑回归损失函数

机器学习中的逻辑回归损失函数

介绍

逻辑回归是机器学习中最简单的分类算法之一。逻辑回归使用对数损失或交叉熵损失作为损失函数,而不是均方误差。既然我们已经有了线性回归,为什么我们还需要逻辑回归来进行分类,而不能使用线性回归来进行分类呢?

通过本文,让我们详细了解逻辑回归中使用的成本函数。

为什么我们需要逻辑回归而不能使用线性回归?

在线性回归中,我们预测的是连续值。如果我们将线性回归应用于分类任务,最佳拟合线将如下图所示。

机器学习中的逻辑回归损失函数

根据上述图,我们会得到大于1和小于0的值,但对于分类而言,这没有意义,因为我们只关心二进制输出0或1。

因此,我们需要将值存在于Y=0和Y=1之间。上述线需要经过转换,使得值在0和1之间。一种常见的转换方法是应用以下的sigmoid函数。

\mathrm{K=MX+c}

\mathrm{Y=F(K)}

\mathrm{F(K)=\frac{1}{1+e^{−Z}}}

\mathrm{Y=\frac{1}{1+e^{−Z}}}

现在的图形如下所示:

机器学习中的逻辑回归损失函数

sigmoid函数给出了0和1之间的连续值,这些值是概率值。

逻辑回归的对数损失和成本函数

评估使用概率进行分类的模型的一种常用指标是对数损失。

\mathrm{F=−\sum_{i=1}^M:y_{i}\log(p_{\theta}(x_{i}))+(1−y_{i})\log(1−p_{\theta}(x_{i}))}

成本函数可以写成:

\mathrm{F(\theta)=\frac{1}{n}\sum_{i=1}^n\frac{1}{2}[p_{\theta}(x^{i})−Y^{i}]^{2}}

对于逻辑回归,

\mathrm{p_{\theta}(x)=g(\theta^{T}x)}

上述方程引导到一个非凸函数,作为成本函数。逻辑回归的成本函数是对数损失,如下所示:

\mathrm{cost(p_{\theta}(x),(y))=\left(\begin{array}{c}{−\log(p_{\theta}(x)):if:y=1}\ {−\log(1−p_{\theta}(x)):if:y=0}\end{array}\right)}

机器学习中的逻辑回归损失函数

梯度下降的更新方程变为:

\mathrm{\theta_{k}:=\theta_{k}-\alpha \sum_{i=1}^n[p_{\theta}(x^{i})-y^{i}]x_j^i}

结论

逻辑回归是最基本的分类算法。它使用对数损失或交叉熵损失作为成本函数,该函数倾向于预测0到1之间的结果概率。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程