Python 深度学习
上QQ阅读APP看书,第一时间看更新

5.2 Logistic回归

在5.1节中,我们假设随机变量x1,…,xny之间的关系是线性的。但在实际中,我们通常会遇到非线性关系。这时我们可使用一个非线性变换g(·),使得线性回归模型f(·)实际上对g(y)拟合,而非对y进行拟合,即

y=g-1(f(x))

其中f(·)仍为

f(x)=wTx+b

因此,这样的回归模型被称为广义线性回归模型。

广义线性回归模型使用非常广泛,如在二元分类任务中,我们的目标是拟合这样一个分离超平面f(x)=wTx+b,使得目标分类y可表示为以下阶跃函数。

但在分类问题中,由于y取离散值,这个阶跃判别函数是不可导的。不可导的性质使得许多数学方法不适用。因此我们考虑使用函数σ(·)来近似这个离散的阶跃函数,通常可以使用Logistic函数或tanh函数。

以Logistic函数(见图5.2)的情况进行讨论。令

使用Logistic函数替代阶跃函数:

定义条件概率:

p(y=1|x)(f(x))

p(y=0|x)=1(f(x))

图5.2 Logistic函数

这样就可以把离散取值的分类问题近似地表示为连续取值的回归问题(这样的回归模型称为Logistic回归模型)。

在Logistic函数中g-1(x)(x),若将g(·)还原为的形式并移到等式一侧,我们得到

为了求得Logistic回归模型中的参数wb,下面我们对条件概率p(y|x;w,b)做极大似然估计。

p(y|x;w,b)的对数似然函数为

这就是常用的交叉熵误差函数的二元形式。

似然函数L(w,b)的最大化问题直接求解比较困难,我们可以采用数值方法。常用的方法有牛顿迭代法、梯度下降法等。