1. 概述
逻辑回归(Logistic Regression)是一个经典的二分类算法,虽然名称中有“回归”,但并非回归算法,常常用于二分类。 因其简单、可并行化、可解释强深受工业界喜爱。
在机器学习实际解决分类问题时,可优先考虑逻辑回归算法。逻辑回归的决策边界可以是非线性的。同时也可用其变形softmax完成多分类任务。
逻辑回归与线性回归的区别:逻辑回归将线性回归模型加权求和的结果经过Logistic函数(通常为Sigmoid函数)。在逻辑回归中通常将加权求和的结果即称为logit,这样命名源于logit函数的定义:,是Sigmoid函数的逆函数。
2. 算法推导
2.1 Sigmoid函数
Sigmoid函数公式为:
其中定义域,值域为。可以看出Sigmoid函数将任意大小的实数输入映射到了之间的值,而之间的数刚好可当作分类概率值看待。
2.2 预测函数
与线性回归类似,假设样本数据集X为m*n的矩阵,Y为m*1的向量,W为n*1的向量。
因此,预测函数为:
2.3 似然函数
在逻辑回归问题中,一般假设样本属于伯努力分布(n重二项分布),即:
则根据式(3),得:
则对于所有样本,每个样本概率相乘得到似然函数:
2.4 对数似然函数
为了方便计算,通过式(5)将累乘通过对数变换成累加:
2.5 梯度
最大似然估计求的是最大值,即为梯度上升的问题,而此时需要求梯度下降最小值的问题,因此需引入负号,除以m是为了平均累加的和,令:
将式(7)用矩阵的形式表示:
其中f为式(1)所表示的函数,根据式(8)对W求偏导:
2.6 更新参数
根据式(9)中所求得的梯度,即可更新W参数的值:
上式可认为是批量梯度下降算法参数更新,其中α为学习率。对于小批量梯度下降算法的参数更新,可参考下式:
上式中针对W中第j个参数的更新,其中t为批大小。