回顾发现,李航的《统计学习方法》有些章节还没看完,为了记录,特意再水一文。
0 - logistic分布
如《统计学习方法》书上,设X是连续随机变量,X服从logistic分布是指X具有以下分布函数和密度函数:
F(x)=P(X≤x)=11+e−(x−μ)/γ
f(x)=F′(x)=e−(x−μ)/γ1+e−(x−μ)/γ
其中 μ 是位置参数, γ 是形状参数,logistic分布函数是一条S形曲线,该曲线以点 (μ,12) 为中心对称,即:
F(−x+μ)−12=−F(x−μ)+12
γ 参数越小,那么该曲线越往中间缩,则中心附近增长越快
图0.1 logistic 密度函数和分布函数
1 - 二项logistic回归
我们通常所说的逻辑回归就是这里的二项logistic回归,它有如下的式子:
hθ(x)=g(θTx)=11+e−θTx
这个函数叫做logistic函数,也被称为sigmoid函数,其中 xi∈Rn,yi∈{0,1} 且有如下式子:
P(y=1|x;θ)=hθ(x)
P(y=0|x;θ)=1−hθ(x)
logP(y=1|x;θ)1−P(y=1|x;θ)=θTx
即紧凑的写法为:
p(y|x;θ)=(hθ(x))y(1−hθ(x))1−y
基于 m 个训练样本,通过极大似然函数来求解该模型的参数:
L(θ)==∏i=1mp(y(i)|x(i);θ)∏i=1m(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i)
将其转换成log最大似然:
l(θ)==logL(θ)∑i=1my(i)logh(x(i))+(1−y(i))log(1−h(x(i)))
而该sigmoid函数的导数为: g′(z)=g(z)(1−g(z)) ,假设 m=1 (即随机梯度下降法),将上述式子对关于 θj 求导得:
ps:上述式子是单样本下梯度更新过程,且基于第 j 个参数(标量)进行求导,即涉及到输入样本x的第 j 个元素xj
而关于参数 θ 的更新为: θ:=θ+α∇θl(θ)
ps:上面式子是加号而不是减号,是因为这里是为了最大化,而不是最小化
通过多次迭代,使得模型收敛,并得到最后的模型参数。
2 - 多项logistic回归
假设离散型随机变量 Y 的取值集合为1,2,...,K,那么多项logistic回归模型为:
P(Y=k|x)=e(θk∗x)1+∑K−1k=1e(θk∗x),k=1,2,...K−1
而第 K 个概率为:
P(Y=K|x)=11+∑K−1k=1e(θk∗x)
这里 x∈Rn+1,θk∈Rn+1 ,即引入偏置。
3 - softmax
logistic回归模型的代价函数为:
J(θ)=−1m[∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]
而softmax是当多分类问题,即 y(i)∈{1,2,...,K} 。对于给定的样本向量 x ,模型对每个类别都会输出一个概率值 p(y=j|x) ,则如下图:
其中 θ1,θ2,...θk∈Rn+1 都是模型的参数,其中分母是为了归一化使得所有概率之和为1.
从而softmax的代价函数为:
J(θ)==−1m⎡⎣∑i=1m∑j=1K1{y(i)=j}logeθTjx(i)∑Kl=1eθTlx(i)⎤⎦−1m⎡⎣∑i=1m∑j=1K1{y(i)=j}[logeθTjx(i)−log∑l=1KeθTlx(i)]⎤⎦
其中, p(y(i)=j|x(i);θ)=eθTjx(i)∑Kl=1eθTlx(i) 该代价函数关于第j个参数的导数为:
∇θjJ(θ)====−1m∑i=1m1{y(i)=j}[eθTjx(i)∗x(i)eθTjx(i)−eθTjx(i)∗x(i)∑Kl=1eθTlx(i)]−1m∑i=1m1{y(i)=j}[x(i)−eθTjx(i)∗x(i)∑Kl=1eθTlx(i)]−1m∑i=1mx(i)(1{y(i)=j}−eθTjx(i)∑Kl=1eθTlx(i))−1m∑i=1mx(i)[1{y(i)=j}−p(y(i)=j|x(i);θ)]
ps:因为在关于 θj 求导的时候,其他非 θj 引起的函数对该导数为0。所以 ∑Kj=1 中省去了其他部分
ps:这里的 θj 不同于逻辑回归部分,这里是一个向量;
4 - softmax与logistic的关系
将逻辑回归写成如下形式:
J(θ)==−1m[∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]−1m⎡⎣∑i=1m∑j=011{y(i)=j}logp(y(i)=j|x(i);θ)⎤⎦
可以看出当k=2的时候,softmax就是逻辑回归模型
参考资料:
[] 李航,统计学习方法
[] 周志华,机器学习
[] CS229 Lecture notes Andrew Ng
[] ufldl
[] Foundations of Machine Learning