1 逻辑回归
逻辑回归/对数几率回归(Logistic/Logit Regression)实际是一种分类学习方法,用于因变量是二分类(0/1,True/False,Yes/No)的情况。
这种方法直接对分类可能性进行建模,无需实现假设数据分布,用线性回归模型的预测结果逼近真实标记的对数几率,可得到近似概率预测。
对数几率函数(Logistic function)是一种Sigmoid函数(S形函数),将z=wTx+b值转化为一个接近0或1的y值,并且输出值在z=0附件变化很陡。
y=1+e−(wTx+b)1
令 y=hθ(x)=1+e−θTx1,θ=(w,b)(1)
由于代价函数 J(θ)=2m1i=1∑m(hθ(x(i))−y(i))2为非凸函数,存在多个局部最小值

把逻辑回归看做用线性回归模型的预测结果逼近真实标记的对数几率,根据(1):
ln1−yy=θTx(2)将y看做类后验概率估p(y=1∣x),则1−y是其反例的概率估计: lnp(y=0∣x)p(y=1∣x)=θTx(3)令p1=p(y=1∣x),p0=p(y=0∣x)
则p1=1−p0,根据(3)得:
p1=1+e−θTx1(4)p0=1+e−θTxe−θT(5)
根据(4)(5):p(y∣x)=p1yp01−y,y∈{0,1}(6)
因此,对于数据集D={(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))},优化目标为:
θmaxL(θ)=i=1∏mp(y(i)∣x(i);θ)=i=1∏mp1y(i)p01−y(i)(7)
其中 p(y(i)∣x(i);θ) 表示给定 x(i)和参数θ后y(i)的分布,将其看作θ的函数,即似然函数。
可通过极大似然法(Maximum likelihood method)来估计θ,对L(θ)取对数:
l(θ)=i=1∑my(i)logp1+(1−y(i))logp0=i=1∑my(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))(8)
l(θ)是连续可导的凸函数,可使用梯度下降、牛顿法求其最优解。
根据(8),定义损失函数:
Cost(hθ(x),y)={−log(hθ(x))−log(1−hθ(x))ify=1ify=0(9)

合并为下式:
Cost(hθ(x),y)=−ylog(hθ(x))−(1−y)log(1−hθ(x)),y∈{0,1}(10)代价函数:
J(θ)=−m1i=1∑my(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))(11)
2. 交叉熵损失函数
2.1 交叉熵
交叉熵可衡量在真实分布下使用非真实分布所指定的策略消除系统的不确定性所需要付出代价,定义如下:
H(p,q)=−i=1∑np(xi)log(q(xi))其中p(xi)表示真实分布,q(xi)表示非真实分布,即模型的预测分布。
交叉熵越低,策略就越好,最低的交叉熵对应使用真实分布的信息熵。
在机器学习中,通过最小化交叉熵,使得算法所产生的策略接近最优策略,即算法生成的非真实分布越接近真实分布。
2.2 相对熵
相对熵(relative entropy)又称KL散度(Kullback-Leibler divergence),用来衡量两个概率分布之间的差异,定义如下:
DKL(p∣∣q)=i=1∑np(xi)logq(xi)p(xi)=i=1∑np(xi)log(p(xi))−i=1∑np(xi)log(q(xi))=−H(p)+H(p,q)
信息熵为完美编码,交叉熵不完美编码,相对熵(KL散度)是两者的差值(即差异),即交叉熵减去信息熵。
KL散度大于等于0,并且越接近0说明p与q这两个分布越接近,当且仅当p与q相等时KL散度等于0。
机器学习的过程就是希望在训练数据上模型学到的分布Pmodel和真实数据的分布Preal越接近越好,但由于没有真实数据的分布,只能希望模型学到的分布和训练数据的分布Ptrain尽量相同。
最小化模型分布Pmodel与训练数据上的分布Ptrain的差异等价于最小化这两个分布间的KL散度KL(Ptraining∣∣Pmodel)
2.3 交叉熵损失函数
在二分类中,p为实际值,q为预测值,用p分布拟合q分布,则
Lcross−entropy(p∣∣q)==i=1∑n−p(xi)log(q(xi))−(1−p(xi))log(1−q(xi))−i=1∑np(xi)log(q(xi))+(1−p(xi))log(1−q(xi))上式与逻辑回归的损失函数(11式)形式是一致的。