《Logistic regression概述.docx》由会员分享,可在线阅读,更多相关《Logistic regression概述.docx(4页珍藏版)》请在三一办公上搜索。
1、Logistic regression 概述 Logistic regression 是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。比如某用户购买某商品的可 能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等。 那么它究竟是什么样的一个东西,又有哪些适用情况和不适用情况呢? 一、官方定义: , Figure 1. The logistic function, with zon the horizontal axis and (z) on the vertical axis 逻辑回归是一个学习f:X Y 方程或者P(Y|X)的方法,这里Y是离散取值的,X= 是任意一个
2、向量其中每个变量离散或者连续取值。 二、我的解释 只看公式太痛苦了,分开说一下就好。Logistic Regression 有三个主要组成部分:回归、线性回归、Logsitic方程。 1)回归 Logistic regression是线性回归的一种,线性回归是一种回归。那么回归是虾米呢? 回 归其实就是对已知公式的未知参数进行估计。比如已知公式是y = a*x + b,未知参数是a和b。我们现在有很多真实的(x,y)数据, 回归就是利用这些数据对a和b的取值去自动估计。估计的方法大家可以简单的理解为,在给定训练样本点和已知的公式后,对于一个或多个未知参数,机器会自动 枚举参数的所有可能取值,直
3、到找到那个最符合样本点分布的参数。 注意,回归的前提是公式已知,否则回归无法进行。而现实生活中哪里有已知的公式啊,因此回归中的公式基本都是数据分析人员通过看大量数据后猜测的。根据这些 公式的不同,回归分为线性回归和非线性回归。线性回归中公式都是“一次”的,而非线性则可以有各种形式。具体的例子在线性回归中介绍吧。 2)线性回归 直接来一个最简单的一元变量 的例子:假设要找一个y和x之间的规律,其中x是鞋子价钱,y是鞋子的销售量。已知一些往年的销售数据,线性回归即根据往年数据找出最佳的a, b取值,使 y = a * x + b 在所 有样本集上误差最小。 也许你会觉得-晕!这么简单! 这需要哪门
4、子的回归呀!我自己在草纸上画个xy坐标系,点几个点就能画出 来!。事实上一元变量的确很直观,但如果是多元就难以直观的看出来了。比如说除了鞋子的价格外,鞋子的 质量,广告的投入,店铺所在街区的人流量都会影响销量,我们想得到这样的公式:sell = a*x + b*y + c*z + d*zz + e。这 个时候画图就画不出来了,规律也十分难找,那么交给线性回归去做就好。这就是线性回归算法的价值。 需要注意的是,这里线性回归能过获得好效果的前提是 y = a*x + b 至少从总体上是有道理的;但并不是所有类型的变量都适合用线性回归,比如说x不是鞋子的价格,而是鞋子的尺码),那么无论回归出什么样的
5、,错误率都会极高。总之:如果我们的公式假设是错的,任何回归都得不到好结果。 3)Logistic方程 上 面我们的sell是一个具体的实数值,然而很多情况下,我们需要回归产生一个类似概率值的01之间的数值。这个数值必须是01之间,但sell显然不满足这个区间要求。 于是引入了Logistic方程,来做归一化。这里再次说明,该数值并不是数学中定义的概率值。那么既然得到的并不是概率值,为什么我们还要费这个劲把数 值归一化为01之间呢?归一化的好处在于数值具备可比性和收敛的边界,这样当你在其上继续运算时,归一化能够保证此次得到的结果不会因为边界 太大 /太小 导致 覆盖其他feature 或 被其他
6、feature覆盖。这是用logistic回归而非直接线性回归的主要原因。到了这里,也许你已 经开始意识到,没错,Logistic Regression 就是一个被logistic方程归一化后的线性回归,仅此而已。 至 于所以用logistic而不用其它,是因为这种归一化的方法往往比较合理,能够打压过大和过小的结果,以保证主流的结果不至于被忽视。具体的公式及图形见本文的一、官方定义部分。其中f(X)就是我们上面例子中的sell的实数值了,而y就是 得到的01之间的卖出可能性数值了。 三、Logistic Regression的适用性 1) 可用于概率预测,也可用于分类。 并 不是所有的机器学习
7、方法都可以做可能性概率预测。可能性预测的好处是结果又可比性:比如我们得到不同广告被点 击的可能性后,就可以展现点击可能性最大的N个。这样以来,哪怕得到的可能性都很高,或者可能性都很低,我们都能取最优的topN。当用于分类问题时,仅 需要设定一个阈值即可,可能性高于阈值是一类,低于阈值是另一类。 2) 仅能用于线性问题 只有在 feature和target是线性关系时,才能用Logistic Regression。这有两点指导意义,一 方面当预先知道模型非线性时,果断不使用Logistic Regression; 另一方面,在使用Logistic Regression时注意选择 和target呈
8、线性关系的feature。 3) 各feature之间不需要满足条件独立假设,但各个feature的贡献是独立计算的。 逻 辑回归不像朴素贝叶斯一样需要满足条件独立假设。但每个feature的贡献是独立计算的,即LR是不会自动帮你 combine 不同的features产生新feature的 (时刻不能抱有这种幻想,那是决策树,LSA, pLSA, LDA或者你自己要干的事 情)。举个例子,如果你需要TF*IDF这样的feature,就必须明确的给出来,若仅仅分别给出两维 TF 和 IDF 是不够的,那样只会得到类 似 a*TF + b*IDF 的结果,而不会有 c*TF*IDF 的效果。 原创博文,转载请注明出处: 苏冉旭,