LR 逻辑回归 总结

 

目录

 

LR的两种理解

LR的损失函数

求解(梯度法,牛顿法,拟牛顿法)

梯度下降法:随机梯度下降和批量梯度下降

牛顿法:

拟牛顿法:

逻辑回归用于多分类

one-vs-all:

one-vs-one:

softmax:

LR的并行化:

LR与最大熵:


LR的两种理解

直观理解上来说,LR是先通过一个线性回归得到一个score,然后选取某个阈值来二分类,但是这样的话就变成了一个分段函数,不利于求解和优化,所以就选取了一个便于优化的sigmoid函数,来将我们的score映射到0-1

从概率方面来说,我们认为二分类问题是服从伯努利分布的,有了这个假设我们就可以根据广义线性模型和指数分布族的定义,得到我们的sigmoid函数,Φ=1/(1+e^η)。这也是LR公式的推导。具体见广义线性模型

LR的损失函数

得到逻辑回归模型后要去拟合合适的参数θ,最大化似然函数

最大化似然函数和最小化损失函数是一致的,逻辑回归的对数似然损失函数,即交叉熵

求解(梯度法,牛顿法,拟牛顿法)

梯度下降法:随机梯度下降和批量梯度下降

梯度下降法的优化思想:用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。梯度下降法在非常靠近最优点时会有震荡,就是说明明离的很近了,却很难到达,因为线性的逼近非常容易一个方向过去就过了最优点(因为只能是负梯度方向)。但牛顿法因为是二次收敛就很容易到达了。

牛顿法:

牛顿法本是求一个方程f的零点,是对θ进行如下更新:

 

我们也可以用它来求l(θ)的最大值,其最大值的点应该对应着它的倒数等于零的点,所以令,这样就可以用牛顿法更新了:

在逻辑回归中,θ是一个有值的向量,需要对牛顿法进行扩展到多维的情况。

牛顿法是二阶收敛,梯度下降是一阶收敛,所以牛顿法就更快。如果更通俗地说的话,比如你想找一条最短的路径走到一个盆地的最底部,梯度下降法每次只从你当前所处位置选一个坡度最大的方向走一步,牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大。所以,可以说牛顿法比梯度下降法看得更远一点,能更快地走到最底部。

从几何上说,牛顿法就是用一个二次曲面去拟合你当前所处位置的局部曲面,而梯度下降法是用一个平面去拟合当前的局部曲面,通常情况下,二次曲面的拟合会比平面更好,所以牛顿法选择的下降路径会更符合真实的最优下降路径。如下图

牛顿法每次需要更新一个二维矩阵,当维数增加的时候是非常耗内存的,所以实际使用是会用拟牛顿法。

拟牛顿法:

拟牛顿法的本质思想是改善牛顿法每次需要求解复杂的Hessian矩阵的逆矩阵的缺陷,它使用正定矩阵来近似Hessian矩阵的逆,从而简化了运算的复杂度。拟牛顿法和最速下降法一样只要求每一步迭代时知道目标函数的梯度。通过测量梯度的变化,构造一个目标函数的模型使之足以产生超线性收敛性。这类方法大大优于最速下降法,尤其对于困难的问题。另外,因为拟牛顿法不需要二阶导数的信息,所以有时比牛顿法更为有效。

逻辑回归用于多分类

one-vs-all:

基本思想是把一个多分类的问题变成多个二分类的问题。转变的思路就如同方法名称描述的那样,选择其中一个类别为正类(Positive),使其他所有类别为负类(Negative)。对于N分类来说我们就得训练N个分类器。在预测阶段,每个分类器可以根据测试样本,得到当前正类的概率。即 P(y = i | x; θ),i = 1,2,.....,n。选择计算结果最高的分类器,其正类就可以作为预测结果。

优点:普适性还比较广,可以应用于能输出值或者概率的分类器,同时效率相对较好,有多少个类别就训练多少个分类器。

缺点:很容易造成训练集样本数量的不平衡(Unbalance),尤其在类别较多的情况下,经常容易出现正类样本的数量远远不及负类样本的数量,这样就会造成分类器的偏向性。

one-vs-one:

相比于 One-Vs-All 由于样本数量可能的偏向性带来的不稳定性,One-Vs-One 是一种相对稳健的扩展方法。让不同类别的数据两两组合训练分类器.所以对于N分类来说,就需要训练C(N, 2) 个分类器,当N较大时,需要训练的分类器大大增加。在预测阶段,每个样本都需要通过所有分类器的投票选举出预测结果。

softmax:

在普通的二分类LR模型中,采用sigmoid函数将样本映射到0-1的概率数值上,现在我们需要进行多分类,所以希望能将一个样本映射到多个0-1间的数值。

preview

使得所有概率之和为1,是对概率分布进行归一化。这样我们就定义了新的假设函数,即。然后需要得到相应的代价函数:

  

其中 1\left\{ \cdot \right\} 的取值规则为大括号内的表达式值为真时,取 1,为假时取 0。

对该代价函数求最优解同样可以使用如梯度下降之类的迭代算法,其梯度公式如下:

 

有了偏导数,就可以对代价函数进行优化,最终求解。本质上讲,Softmax 回归就是 logistic 回归进行多分类时的一种数学拓展,如果让分类数为 2 带入 softmax 回归,会发现其本质上和 logistic 回归是一样的。

在处理一些样本可能丛属多个类别的分类问题是,使用 one vs one 或 one vs all 有可能达到更好的效果。

Softmax 回归适合处理一个样本尽可能属于一种类别的多分类问题。

LR的并行化:

由逻辑回归问题的求解方法中可以看出,无论是梯度下降法、牛顿法、拟牛顿法,计算梯度都是其最基本的步骤,并且L-BFGS通过两步循环计算牛顿方向的方法,避免了计算海森矩阵。因此逻辑回归的并行化最主要的就是对目标函数梯度计算的并行化。下面公式是目标函数的梯度。

并è¡é»è¾åå½

目标函数的梯度向量计算中只需要进行向量间的点乘和相加,可以很容易将每个迭代过程拆分成相互独立的计算步骤,由不同的节点进行独立计算,然后归并计算结果。将M个样本的标签构成一个M维的标签向量,M个N维特征向量构成一个M*N的样本矩阵,如下图所示。其中特征矩阵每一行为一个特征向量(M行),列为特征维度(N列)。

并è¡é»è¾åå½

如果将样本矩阵按行划分,将样本特征向量分布到不同的计算节点,由各计算节点完成自己所负责样本的点乘与求和计算,然后将计算结果进行归并,则实现了“按行并行的LR”。按行并行的LR解决了样本数量的问题,但是实际情况中会存在针对高维特征向量进行逻辑回归的场景(如广告系统中的特征维度高达上亿),仅仅按行进行并行处理,无法满足这类场景的需求,因此还需要按列将高维的特征向量拆分成若干小的向量进行求解。

并行LR实际上就是在求解损失函数最优解的过程中,针对寻找损失函数下降方向中的梯度方向计算作了并行化处理,而在利用梯度确定下降方向的过程中也可以采用并行化。详细见冯扬博士的博客

LR与最大熵:

逻辑回归跟最大熵模型没有本质区别。逻辑回归是最大熵对应类别为时的特殊情况,也就是当逻辑回归类别扩展到多类别时,就是最大熵模型。详细见https://zhuanlan.zhihu.com/p/59519202

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值