原理
在上一篇博客里面我们介绍了线性回归,这一片里面我们介绍的是逻辑回归(Logistic Regression)。虽然我们称之为回归,但是实际上逻辑回归是一个分类模型,常用于二分类。
具体什么是回归与分类呢。我们可以简要的把他看做连续和离散。例如求身高体重多少这种连续型的量就叫做回归问题,而像性别,电影类型,是否得病这种离散的量就叫做分类问题。
那么回到原来的问题,为什么它是一种分类模型我们却叫他逻辑回归呢,因为本质上逻辑回归就是线性回归,它利用线性回归得出结果后再利用一层函数将连续的结果映射到离散的结果中,类似于神经网络中激活函数的作用。一般在这里我们使用的是sigmod函数:
一般默认大于0.5的结果就是1,小于0.5的结果就是0。这样我们就可以将线性回归中的结果映射到离散函数0,1中了。
梯度下降
可能在这里有些疑惑,我们看这个激活函数的图形,很直观的发现大于0的映射出来都是大于0.5结果都是1,而小于0的映射出来都是小于于0.5结果都是0。那我们为什么不直接大于0的都是1,小于0的都是0呢。
一是因为该函数具有很强的鲁棒性,并且将函数的输入范围(∞,-∞)映射到了输出的(0,1)之间且具有概率意义.具有概率意义是怎么理解呢:将一个样本输入到我们学习到的函数中,输出0.7,意思就是这个样本有70%的概率是正例,1-70%就是30%的概率为负例.
二是为了方便使用梯度进行梯度下降法。
逻辑回归与线性回归原理相同,但由于是分类问题, 损失函数不一样,不能使用正规方程,只能通过梯度下降求解。
一般逻辑回归我们使用对数似然损失函数:
完整的损失函数即为:
这里的即为经过sigmod映射过后的函数值。cost损失的值越小,那么预测的类别准确度更高。
梯度的推导过程如下:
交叉熵损失函数的梯度和最小二乘的梯度形式上完全相同,区别在于,此时的,而最小二乘的.