逻辑回归算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逻辑回归算法相关的知识,希望对你有一定的参考价值。

  使用线性模型进行回归学习,但若要做分类任务该怎么办呢?答案蕴含在广义线性模型中:只需要找一个单调可微的函数将分类任务的真实标记y与线性回归模型的预测值联系起来。

  对数几率函数是一个常用的替代函数:

        技术分享

  该函数的图像如下图(来源:维基百科):

  技术分享

  对数几率函数又称作“sigmoid函数”,将z值转化为一个接近0或1的y值。

二、逻辑会回参数求解过程

技术分享

技术分享

 

 

 

三、Logistic Regression的适用性

1) 可用于概率预测,也可用于分类。

       并不是所有的机器学习方法都可以做可能性概率预测(比如SVM就不行,它只能得到1或者-1)。可能性预测的好处是结果又可比性:比如我们得到不同广告被点击的可能性后,就可以展现点击可能性最大的N个。这样以来,哪怕得到的可能性都很高,或者可能性都很低,我们都能取最优的topN。当用于分类问题时,仅需要设定一个阈值即可,可能性高于阈值是一类,低于阈值是另一类。

2) 仅能用于线性问题

       只有在feature和target是线性关系时,才能用Logistic Regression(不像SVM那样可以应对非线性问题)。这有两点指导意义,一方面当预先知道模型非线性时,果断不使用Logistic Regression; 另一方面,在使用Logistic Regression时注意选择和target呈线性关系的feature。

3) 各feature之间不需要满足条件独立假设,但各个feature的贡献是独立计算的。

       逻辑回归不像朴素贝叶斯一样需要满足条件独立假设(因为它没有求后验概率)。但每个feature的贡献是独立计算的,即LR是不会自动帮你combine 不同的features产生新feature的 (时刻不能抱有这种幻想,那是决策树,LSA, pLSA, LDA或者你自己要干的事情)。举个例子,如果你需要TF*IDF这样的feature,就必须明确的给出来,若仅仅分别给出两维 TF 和 IDF 是不够的,那样只会得到类似 a*TF + b*IDF 的结果,而不会有 c*TF*IDF 的效果。

 学习线性模型的步骤:

1.构造预测函数。

2.找到损失函数。最小二乘法,最大似然估计法,贝叶斯估计,矩估计法

3.通过损失函数找到最小误差的最优解。梯度下降法

 

 

参考:http://www.cnblogs.com/junneyang/p/5262064.html

以上是关于逻辑回归算法的主要内容,如果未能解决你的问题,请参考以下文章

机器学习故事汇-逻辑回归算法

SparkMLlib学习分类算法之逻辑回归算法

分类算法-逻辑回归与二分类

LR逻辑回归算法---介绍说明相关问题

逻辑回归算法

逻辑回归算法实现_基于R语言