本文主要是介绍如何通俗理解逻辑回归(Logistic Regression),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先, 什么是逻辑回归呢? 我们先来看一下逻辑回归的公式:
t = w T X + b y = s i g m o i d ( t ) s i g m o i d ( t ) = 1 1 + e − t t = w^TX+b\\ y = sigmoid(t)\\ sigmoid(t) = \frac1{1+e^{-t}} t=wTX+by=sigmoid(t)sigmoid(t)=1+e−t1
对于上面的公式, 感觉很眼熟有木有!!! 没错, 就是线性回归的公式, 线性回归请参考https://blog.csdn.net/c2861024198/article/details/108543051
相信小伙伴们都发现了, 其实逻辑回归就是在线性回归的基础上增加了Sigmoid函数, 将线性回归的输出映射到了0和1之间, 从而得到二分类的概率, 这就是逻辑回归
不过, 需要小伙伴们注意的是: 逻辑回归虽然叫回归, 但是他是用来解决分类问题的!!!
那么很多小伙伴可能有疑问了, 线性回归可以使用最小二乘法来解决, 那么逻辑回归呢? 他们的损失函数一样么?
问题我们一个一个解决. 首先我们先说损失函数.
小伙伴们仔细看上面的公式, 不难发现, 逻辑回归根本不能用线性回归的损失函数, 因为逻辑回归的标签(label)应该是0和1, 并不是和线性回归一样的连续性的, 并且逻辑回归的最终输出也应该是0和1, 那么逻辑回归的损失函数应该是什么样的呢?
那么接下来, 我们就需要引入交叉熵损失函数, 在二分类中, 交叉熵损失函数是这样的:
L O S S = − ∑ y l o g y ^ + ( 1 − y ) l o g ( 1 − y ^ ) LOSS = -\sum ylog\hat y + (1-y)log(1-\hat y) LOSS=−∑ylogy^+(1−y)log(1−y^)
那么, 逻辑回归也是用最小二乘法的思路来做么? 当然不是. 不知道小伙伴们有没有听说过梯度下降法呢? 不知道的小伙伴请参考前面的博客
也就是说, 我们可以使用梯度下降法来使得我们的损失函数尽可能的小, 从而得到我们尽可能优的w和b, 从而得到逻辑回归的函数 w T X + b w^TX+b wTX+b, 进而得到我们的模型.
这篇关于如何通俗理解逻辑回归(Logistic Regression)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!