逻辑回归算法原理简介(六)

1.逻辑回归原理

逻辑回归(Logistic Regression)是机器学习算法中用的比较多的一个算法,它并不是解决回归问题,而是解决分类问题,是将样本的特征和样本发生的概率联系起来,而概率是一个数,并将概率区间进行分类 。
前面讲到的线性回归算法中,当输入一个样本x的时候得到一个预测值y,如果是房价预测则预测值为房价,如果预测学生成绩,则预测值为成绩,预测值的函数为:
逻辑回归算法原理简介(六)
转换成逻辑回归,因为逻辑回归本质是个概率函数,并根据概率值来进行分类,假设概率值为p,假设当概率值大于等于0.5时,则将结果分类为1,否则分类为0,比如肿瘤预测,当概率值大于等于0.5则为恶性肿瘤,小于0.5则为良性肿瘤,根据样本x的输入,得到的概率函数如下所示:
逻辑回归算法原理简介(六)
逻辑回归既可以看做是回归算法,也可以看做是分类算法,通常作为分类算法用,只可以解决二分类问题。对于多分类问题,逻辑回归一般不可以解决。
对于线性函数:
逻辑回归算法原理简介(六)
通过线性回归可以得到任意值,而概率的值域为[0,1],因此可以借助函数SIGMOD函数,将预测值y的值代入σ(t),得到概率函数p:
逻辑回归算法原理简介(六)
σ(t)的曲线为:
逻辑回归算法原理简介(六)
可以看出该曲线的最小值无限趋近于0,最大值无限趋近于1,且该曲线关于t=0对称,当t>0时,p>0.5;当t<0时,p<0.5;t=0时,p=0.5。因此当t=θ^t *xb代入σ(t):

逻辑回归算法原理简介(六)
由上式可得损失函数cost:
逻辑回归算法原理简介(六)
其中y为真实值。当真实值为1时,而概率p很小时,则损失会更大;当真实值为0时,而概率很大时,则损失也会很大。
由损失函数cost会随着概率与真实值偏离越大而越大,因此可以将cost函数写为:
逻辑回归算法原理简介(六)
即可得到逻辑回归的损失函数:
逻辑回归算法原理简介(六)
其中θ为向量,该损失函数J(θ)没有公式解,只能用梯度下降法求解,由于该函数为凸函数,因此有唯一解。

2.逻辑回归算法梯度函数推导

逻辑回归算法原理简介(六)
要求出该损失函数的最小值,需要对该函数进行求导,由于该函数较复杂,可以先对σ(t)进行求导:
由:逻辑回归算法原理简介(六)
对任意θj进行求导,可得:
逻辑回归算法原理简介(六)
由:
逻辑回归算法原理简介(六)
对任意θj进行求导,可得:
逻辑回归算法原理简介(六)
由上面两个求导公式可得:
逻辑回归算法原理简介(六)
因此对损失函数中任意θj进行求导,可得:
逻辑回归算法原理简介(六)
则求损失函数的梯度就很容易了,可得:
逻辑回归算法原理简介(六)
后续再加入基于Python的代码实现。