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