机器学习中逻辑回归的成本函数
简介
逻辑回归是机器学习中所有分类算法中最简单的。逻辑回归使用对数损失或交叉熵损失而不是均方误差作为损失函数。既然我们已经有了线性回归,为什么我们需要逻辑回归进行分类,为什么不能使用线性回归进行分类?
让我们通过这篇文章了解这一事实,并详细探讨逻辑回归中使用的成本函数。
为什么我们需要逻辑回归而不能使用线性回归?
在线性回归中,我们预测一个连续值。如果我们将线性回归拟合到分类任务中,最佳拟合线将类似于下图。
根据上图,我们将有大于 1 和小于 0 的值,但这对分类没有意义,因为我们只对二进制输出 0 或 1 感兴趣。
因此,我们需要 Y=0 和 Y=1 线之间存在值。上面的行需要进行变换,使值介于 0 和 1 之间。一种这样的变换是应用 S 形函数,如下所示。
$$\mathrm{K=MX+c}$$
$$\mathrm{Y=F(K)}$$
$$\mathrm{F(K)=\frac{1}{1+e^{−Z}}}$$
$$\mathrm{Y=\frac{1}{1+e^{−Z}}}$$
图表现在将如下所示
S 形函数给出 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 之间的概率。