第二章 Logistic回归

1 Logistic回归

1.1 线性回归与Logistic回归

第二章 Logistic回归
如图1所示,其中紫色为线性回归,绿色为Logistic回归。
图1中右图,可以看出线性回归会有很多点都是错的。
第二章 Logistic回归
如图2所示,左边线性回归,右边为Softmax回归。可以看出线性回归的效果太差了。

1.2 Logistic/sigmoid函数

第二章 Logistic回归
如上图3所示,方程为g(z)=11+ez,此方式称为s曲线,也叫做sigmoid函数和Logistic函数。

1.3 Logistic回归的模型

hθ(x)=g(θTx)=11+eθTx

此模型可以看出,值域是[0,1]。我们可以取到一个值为阈值,如0.5,一部分取正的,一部分取负的。这样我们就可以做分类了。这就是选取此模型的思路。
下面我们来求模型的梯度,也就是导数,过程如下:
g(x)=(11+ez)=ez(1+ez)2=11+ezez1+ez=11+ez(111+ez)=g(x)(1g(x))

1.4 参数估计

1、假定模型服从两点分布(B分布)
P(y=1|x;θ)=hθ(x)
P(y=0|x;θ)=1hθ(x)
有上面的分段函数,可以将其变形得出函数:

p(y|x;θ)=(hθ(x))y(1hθ(x))1y

由此假定样本相互独立,同时服从两点分布,可以得出似然函数:
L(θ)=p(y⃗ |X;θ)=i=1mp(y(i)|x(i);θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)

2、对数似然函数 LL
上面的似然函数出现连乘,我们利用对数来处理,得到对数似然函数:
l(θ)=logL(θ)=i=1m[y(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]

然后对l(θ)求偏导,过程如下:
第二章 Logistic回归
3、参数的迭代
Logistic回归的参数学习规则:
θj:=θj+α(y(i)hθ(x(i)))x(i)j

比较上面的结果和线性回归的结论的差别,可以看出他们具有相同的形式。
4、对比线性回归
线性回归 == MLE + Gauss
Logistic回归 == MLE + Bernoulli
我们有理由认为Gauss和Bernoulli都是属于指数族分布。
因此,Logistic回归是线性回归的推广,或者说是一种广义的线性回归。

1.5 对数线性模型

1、一个事件的几率odds,是指该事件发生的概率与该事件不发生的概率的比值。
2、对数几率:logit函数
P(y=1|x;θ)=hθ(x)
P(y=0|x;θ)=1hθ(x)
由此求出logit

logit(p)=logp1p=loghθ(x)1hθ(x)=log11+eθTxeθTx1+eθTx=θTx

可知,Logistic回归是几率取对数的情况下的线性,也可以说是对数线性回归。

1.6 倒推sigmoid函数

logp1p=θTx

=>p1p=eθTx

=>p=eθTxpeθTx

=>p(1+eθTx)=eθTx

=>p=eθTx1+eθTx=11+eθTx

由此上面的Logistic回归输出的0.4,0.8,就可以认为它属于1这个类别的概率。

1.7 Logistic回归的损失函数(目标函数)

样本:yi0,1
样本预测值:
ŷ i={pi,1pi,yi=1yi=0
1、似然函数

L(θ)=i=1mpyii(1pi)1yi

=>l(θ)=logL(θ)=i=1mln[(pi)yi(1pi)1yi]

pi=11+efil(θ)=i=1mln[(11+efi)yi(11+efi)1yi]

2、损失函数 NLL
因为似然函数是一个正向的,只能取最大值。所以损失函数取似然函数的相反数。
loss(yi,ŷ i)=l(θ)=i=1m[yiln(1+efi)+(1yi)ln(1+efi)]

3、进一步优化loss函数
样本:yi1,1
样本预测值:
ŷ i={pi,1pi,yi=1yi=1
似然函数可以变为:
L(θ)=i=1mpyi+12i(1pi)yi12=>i=1mln[pyi+12i(1pi)yi12]

pi=11+efil(θ)=i=1mln(11+efi)yi+12(11+efi)yi12

同样:
loss(yi,ŷ i)=l(θ)=i=1m[12(yi+1)ln(1+efi)12(yi1)ln(1+efi)]

={mi=1[ln(1+efi)],mi=1[ln(1+efi)],yi=1yi=1

=>loss(yi,ŷ i)=i=1m[ln(1+eyifi)]

2 Softmax回归–多分类

2.1 max函数

函数max(θ1,θ2)={θ1,θ1>θ2 θ2,θ1>θ2
进一步优化函数,f(θ1,θ2)=ln(eθ1+eθ2)
其图形为:
第二章 Logistic回归
由此可知,softmax名字的由来,就是软化的max。

2.2 softmax回归定义

1、二分类,Logistic回归
样本xx1,x2,....,xn是n维向量,那么他就有(θ1,θ2,....θn)n个参数。
2、K分类,softmax回归

1,2,k,θ⃗ 1θ⃗ 2θ⃗ kθ11...θ1nθ21...θ2nθk1...θkn

这样softmax回归就会有k*n个参数,
第k类的参数为θ⃗ k,组成二维矩阵θkn

3、k个θ⃗ 都是*的吗?
我们选取二分类softmax回归应该等价于Logistic回归。
此时二分类的softmax回归的模型应该是eθ1xeθ1x+eθ2x=11+e(θ2θ1)x
θ⃗ =(θ2θ1)11+eθ⃗ x
由此可得到,二分类的softmax回归模型就是Logistic回归的模型。
注:softmax回归的参数是(n1)k,当为logistic回归时, n=2,
4、概率为:

p(c=k|x;θ)=exp(θTkx)kl=1exp(θTlx)),k=1,2,.....,K

5、似然函数
L(θ)=i=1mk=1Kp(c=k|x(i);θ)y(i)k=i=1mk=1Kexp(θTkx(i))y(i)kkl=1exp(θTlx(i)))

6、对数似然
Jm(θ)=lnL(θ)=i=1mk=1K(y(i)kθTkx(i)lnl=1Kexp(θTlx(i)))

J(θ)=k=1Kyk(θTkxlnl=1Kexp(θTlx))

7、随机梯度

J(θ)θk=(ykp(yk|x;θ))x

3 信息熵

3.1 定义

1、原则:
若事件发生的概率小,该事件信息量大。
如果两个时间X和Y相互独立,即p(xy)=p(x)p(y),假定X和Y的信息量分别为h(X)h(Y),则二者同时发生的信息量h(XY)=h(X)+h(Y)
2、定义事件X发生的信息量:h(x)=log2x

3.2 信息熵

对随机事件的信息量求期望,得到熵的定义:

H(X)=xXp(x)lnp(x)

注:机器学习不关心log取什么为底,只关心参数。

3.3 两点分布的熵

第二章 Logistic回归

H(X)=xXp(x)lnp(x)=plnp(1p)ln(1p)
熵表示信息不确定程度。熵越大,信息的不确定程度越大。

3.4 三点分布

第二章 Logistic回归

H(X)=xXp(x)lnp(x)=p1lnp1p2lnp2(1p1p2)ln(1p1p2)

参考

1、邹博小象机器学习课程。
2、斯坦福大学机器学习——logistic回归