逻辑回归原理推导

逻辑回归(Logistic Regression,又称LR)是一种线性分类器,通过logistic函数,将特征映射成一个函数值,来判断输入数据的类别。如下图,纵坐标就是概率。当概率大于等于0.5,判定为类别1,否则判定为类别0。

logistic函数的表达式如下,其中w是需要训练的权值:
\[\theta(w^Tx)=\frac{1}{1+e^{-w^Tx}}\]
逻辑回归的损失函数叫做交叉熵损失函数(cross-entropy loss),下面给出推导过程。
假设数据集符合泊松分布,即
\[P(y|x)=\begin{cases}p, \quad y=1 \\ 1-p, \quad y=0 \end{cases}=p^y(1-p)^{1-y}\]
其中p为logistic函数:
\[p=\frac{1}{1+e^{-w^Tx}}\]
假设有N个数据点\(x_1, x_2, ..., x_N\),他们为类别标签分别为\(y_1, y_2, ..., y_N\)。假设各个数据点之间相互独立,则根据最大似然估计有:
\[\begin{split} P(Y|X) &=P(y_1,y_2,...,y_N|x_1,x_2,...,x_N) \\&=\Pi_{i=1}^NP(y_i|x_i) \\ &=\Pi_{i=1}^Np_i^{y_i}(1-p_i)^{1-y_i} \end{split}\]
对等式两边取负对数,得到负对数函数为:
\[L(Y|X)=-\Sigma_{i=1}^Ny_iln(p_i)+(1-y_i)ln(1-p_i)\]
其中\(y_i\)代表数据真实的标签,取值为0或1,\(p_i\)为数据为类别1的概率,取值范围是0到1。将上式稍作修改,便得到交叉熵损失函数如下:
\[loss(w)=-\frac{1}{N}\Sigma_{i=1}^Ny_iln(p_i)+(1-y_i)ln(1-p_i)\]
可以看到,当\(y_i=1\)时,\(p_i\)越接近1,损失函数越小;当\(y_i=0\)时,\(p_i\)越接近0,损失函数越小。因此,通过训练,可以迫使\(p_i\)趋近于\(y_i\),从而正确分类。

猜你喜欢

转载自www.cnblogs.com/jiaxblog/p/9691107.html