热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

机器学习——logistic回归

logistic 回归

Logistic 回归( Logistic regression )是统计学习中的经典分类方法,和最大熵模型一样同属于对数线性模型是一种概率型非线性回归模型,也是一种广义线性回归( Generalized linear model ),因此与多元线性回归分析有很多相同之处,它们的模型形式基本上相同,都具有 w’x+b ,其中 w 和 b 是待估计的参数,其区别在于它们的因变量不同,多元线性回归直接将 w’x+b 作为因变量,即 y=w’x+b ,而 logistic 回归则通过函数 L 将 w’x+b 对应一个隐状态 p ,其中 p=L(w’x+b) ,然后根据 p 与 1-p 的大小决定因变量的值。如果 L 是 logistic 函数,就是 logistic 回归,如果 L 是多项式函数就是多项式回归。Logistic 回归的因变量可以是二分类的,也可以是多分类的(多类可以使用 softmax 方法进行处理),但实际中最为常用的是二分类的 logistic 回归。常用于数据挖掘,疾病自动诊断,经济预测等领域。

原理: 引入 Logistic 回归是因为,如果直接将线性回归的模型放到 Logistic 回归中,会造成方程两边取值区间不同,因为 Logistic 回归中因变量为分类变量,以某个概率作为方程的因变量估计值,取值范围为 0-1 ,但是,方程右边取值范围是无穷大或者无穷小。

适用性:

(1)可用于概率预测,也可用于分类。
并不是所有的机器学习方法都可以做可能性概率预测(比如 SVM 就不行,它只能得到 1 或者 -1 )。可能性预测的好处是结果有可比性:比如我们得到不同广告被点击的可能性后,就可以展现点击可能性最大的前 N 个。这样以来,哪怕得到的可能性都很高,或者可能性都很低,我们都能取最优的 topN。当用于分类问题时,仅需要设定一个阈值即可,可能性高于阈值是一类,低于阈值是另一类。
(2)仅能用于线性问题
只有在 feature 和 target 是线性关系时,才能用 Logistic Regression (不像 SVM 那样可以应对非线性问题)。这有两点指导意义,一方面当预先知道模型非线性时,果断不使用 Logistic Regression ;另一方面,在使用 Logistic Regression 时注意选择和 target 呈线性关系的 feature 。
(3)各 feature 之间不需要满足条件独立假设,但各个 feature 的贡献是独立计算的。逻辑回归不像朴素贝叶斯一样需要满足条件独立假设(因为它没有求后验概率)。但每个 feature 的贡献是独立计算的,即LR 是不会自动帮你 结合不同的特征从而产生新特征。举个例子,如果你需要 TFIDF 这样的特征,就必须明确的给出来,若仅仅分别给出两维 TF 和 IDF 是不够的,那样只会得到类似 aTF + bIDF 的结果,而不会有 cTF*IDF 的效果。
Logistic 函数或 logistic 曲线是一种常见的 S 形函数,它是皮埃尔·弗朗索瓦·韦吕勒在 1844 或 1845 年在研究它与人口增长的关系时命名的。广义 logistic 曲线可以模仿一些情况人口增长( P )的 S 形曲线。起初阶段大致是指数增长;然后随着开始变得饱和,增加变慢;最后,达到成熟时增加停止。

Logistic 函数其实就是这样一个函数:
机器学习——logistic 回归

其中 P0 为初始值,K 为终值,r 衡量曲线变化快慢。由于其图像很像一个 S 型,所以又叫 sigmoid 曲线( S 型曲线)。当然我们回归分析里,在一般情况下的 logistic 函数是:

机器学习——logistic 回归
由于sigmoid函数的定义域为(-inf,inf),值域为(0,1)。设 X 是连续随机变量,若 X 服从 logistic 分布,则其分布函数为:
机器学习——logistic 回归
其密度函数为:
机器学习——logistic 回归

注意:式中的 μ 是位置参数,决定了函数中心所处的位置,当 μ=0 时,图像关于点(0,0.5)对称;γ 是形状参数,且 γ > 0 ,当 γ 值越大分布函数的图象越缓。当 μ=0 ,取不同 γ 值的分布函数如下图所示。
机器学习——logistic 回归

由上图可看出,分布函数的值在 μ 附近变化较为剧烈,其值域在 [0,1] 之间,和 sigmoid 函数一样,这一性质使得该分布函数很适合作概率的分布函数,且当自变量取 0 时,函数值为 0.5 ,适合作分类。由图像趋势可以看出,绿线最缓,说明其 γ 值最大,蓝线最陡,则其 γ 值最小。


推荐阅读
author-avatar
寒空动烟雪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有