1 Logistic回归
1.1 线性回归与Logistic回归
如图1所示,其中紫色为线性回归,绿色为Logistic回归。
图1中右图,可以看出线性回归会有很多点都是错的。
如图2所示,左边线性回归,右边为Softmax回归。可以看出线性回归的效果太差了。
1.2 Logistic/sigmoid函数
如上图3所示,方程为g(z)=11+e−z,此方式称为s曲线,也叫做sigmoid函数和Logistic函数。
1.3 Logistic回归的模型
hθ(x)=g(θTx)=11+e−θTx
此模型可以看出,值域是[0,1]。我们可以取到一个值为阈值,如0.5,一部分取正的,一部分取负的。这样我们就可以做分类了。这就是选取此模型的思路。
下面我们来求模型的梯度,也就是导数,过程如下:
g′(x)=(11+e−z)′=e−z(1+e−z)2=11+e−ze−z1+e−z=11+e−z(1−11+e−z)=g(x)(1−g(x))
1.4 参数估计
1、假定模型服从两点分布(B分布)
P(y=1|x;θ)=hθ(x)
P(y=0|x;θ)=1−hθ(x)
有上面的分段函数,可以将其变形得出函数:
p(y|x;θ)=(hθ(x))y(1−hθ(x))1−y
由此假定样本相互独立,同时服从两点分布,可以得出似然函数:
L(θ)=p(y⃗ |X;θ)=∏i=1mp(y(i)|x(i);θ)=∏i=1m(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i)
2、对数似然函数 LL
上面的似然函数出现连乘,我们利用对数来处理,得到对数似然函数:
l(θ)=logL(θ)=∑i=1m[y(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]
然后对
l(θ)求偏导,过程如下:
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;θ)=1−hθ(x)
由此求出logit。
logit(p)=logp1−p=loghθ(x)1−hθ(x)=log⎛⎝⎜⎜11+e−θTxe−θTx1+e−θTx⎞⎠⎟⎟=θTx
可知,Logistic回归是几率取对数的情况下的线性,也可以说是对数线性回归。
1.6 倒推sigmoid函数
logp1−p=θTx
=>p1−p=eθTx
=>p=eθTx−peθTx
=>p(1+eθTx)=eθTx
=>p=eθTx1+eθTx=11+e−θTx
由此上面的Logistic回归输出的0.4,0.8,就可以认为它属于1这个类别的概率。
1.7 Logistic回归的损失函数(目标函数)
样本:yi∈0,1
样本预测值:
ŷ i={pi,1−pi,yi=1yi=0
1、似然函数
L(θ)=∏i=1mpyii(1−pi)1−yi
=>l(θ)=logL(θ)=∑i=1mln[(pi)yi(1−pi)1−yi]
−→−−−−−−pi=11+e−fil(θ)=∑i=1mln[(11+e−fi)yi(11+efi)1−yi]
2、损失函数 NLL
因为似然函数是一个正向的,只能取最大值。所以损失函数取似然函数的相反数。
loss(yi,ŷ i)=−l(θ)=∑i=1m[yiln(1+e−fi)+(1−yi)ln(1+efi)]
3、进一步优化loss函数
样本:
yi∈−1,1
样本预测值:
ŷ i={pi,1−pi,yi=1yi=−1
似然函数可以变为:
L(θ)=∏i=1mpyi+12i(1−pi)−yi−12=>∑i=1mln[pyi+12i(1−pi)−yi−12]
−→−−−−−−pi=11+e−fil(θ)=∑i=1mln⎡⎣⎢⎢(11+e−fi)yi+12(11+efi)−yi−12⎤⎦⎥⎥
同样:
loss(yi,ŷ i)=−l(θ)=∑i=1m[12(yi+1)ln(1+e−fi)−12(yi−1)ln(1+efi)]
={∑mi=1[ln(1+e−fi)],∑mi=1[ln(1+efi)],yi=1yi=−1
=>loss(yi,ŷ i)=∑i=1m[ln(1+e−yifi)]
2 Softmax回归–多分类
2.1 max函数
函数max(θ1,θ2)={θ1,θ1>θ2 θ2,θ1>θ2,
进一步优化函数,f(θ1,θ2)=ln(eθ1+eθ2)
其图形为:
由此可知,softmax名字的由来,就是软化的max。
2.2 softmax回归定义
1、二分类,Logistic回归
样本x(x1,x2,....,x−n)是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,组成二维矩阵
θk∗n。
3、k个θ⃗ 都是*的吗?
我们选取二分类softmax回归应该等价于Logistic回归。
此时二分类的softmax回归的模型应该是eθ1xeθ1x+eθ2x=11+e(θ2−θ1)x
−→−−−−−−θ⃗ =−(θ2−θ1)11+e−θ⃗ x
由此可得到,二分类的softmax回归模型就是Logistic回归的模型。
注:softmax回归的参数是(n−1)∗k,当为logistic回归时, n=2,
4、概率为:
p(c=k|x;θ)=exp(θTkx)∑kl=1exp(θTlx)),k=1,2,.....,K
5、似然函数
L(θ)=∏i=1m∏k=1Kp(c=k|x(i);θ)y(i)k=∏i=1m∏k=1Kexp(θTkx(i))y(i)k∑kl=1exp(θTlx(i)))
6、对数似然
Jm(θ)=lnL(θ)=∑i=1m∑k=1K(y(i)kθTkx(i)−ln∑l=1Kexp(θTlx(i)))
J(θ)=∑k=1Kyk(θTkx−ln∑l=1Kexp(θTlx))
7、随机梯度
∂J(θ)∂θk=(yk−p(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)=−∑x∈Xp(x)lnp(x)
注:机器学习不关心log取什么为底,只关心参数。
3.3 两点分布的熵
H(X)=−∑x∈Xp(x)lnp(x)=−plnp−(1−p)ln(1−p)
熵表示信息不确定程度。熵越大,信息的不确定程度越大。
3.4 三点分布
H(X)=−∑x∈Xp(x)lnp(x)=−p1lnp1−p2lnp2−(1−p1−p2)ln(1−p1−p2)
参考
1、邹博小象机器学习课程。
2、斯坦福大学机器学习——logistic回归