在之前的博客,简单的介绍了线性回归,今天来看看和其十分相关的Logistic Regression。
线性回归可以让我们呢学习得到特征和目标label的权重关系,新来的一组测试样本,用同样的特征,它可以告诉我们一个预测值。但是很多时候我们需要的是一个更加有意义的值,比如在CTR预估的时候我们预测用户点击投放广告的概率,医院里预测一个人心脏病发的概率。Logistic Regre(LR)就可以做这么一件事。
首选来看看Sigmoid函数,其函数表达式为:
函数图像如下(摘自维基百科):
既然有了损失函数之后,我们要做的就是然这个损失函数最小化就好了。由于LR的损失函数是一个高阶可导连续的凸函数,那么根据凸优化理论就可以使用梯度下降法来求得其最优解,我们需要一个优化的方向和一个learning rate。
LR看起来是一个简单的模型,但据我所知在工业界还是挺受欢迎的,原因就在于它虽然简单,但是够稳定,可解释性好。但是LR本质上毕竟是一个线性模型,学习能力有限。
这里对于LR是线性模型可能有人会有一些疑问,LR明明用了一个sigmoid变换啊,而sigmoid不是可以作为神经网络的一种叫做激活函数的东西,这还是线性模型?这里LR和神经网络不同的是,LR只是通过sigmoid函数将线性回归的预测值映射到(0,1),但其决策的平面还是线性的,所以LR本质上还是一个线性模型。
一种方法是前期加入一些特征工程的工作(比如,不同特征进行组合),使得其达到拟合非线性的效果。还有一种方法就是使用模型来组合特征(如Facebook 2014年文章中的GBDT+LR),然后再将这些特征送到LR做分类。最近阿里公开其自主研发的MLR(Mixed Logistic Regression)算法,通过分片线性的方式,使其可以直接在原始空间学习非线性关系,实现拟合非线性的平面。最后,当然还可以使用近几年很火的DNN来自动提取特征了,再接一个LR或者softmax,但很可能会遇到过拟合的问题以及模型的稳定性都是一个值得商榷的问题。
以上内容均为博主根据相关资料整理而成,如有错误,请予指正。
参考资料: 1. 周志华.《机器学习》p58-p59 2. 林轩田. 机器学习基石课程 Lecture 10