Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等。(注意这里是:“可能性”,而非数学上的“概率”,logisitc回归的结果并非数学定义中的概率值,不可以直接当做概率值来用。该结果往往用于和其他特征值加权求和,而非直接相乘)

Logistic Regression

Logistic Regression有三个主要组成部分:回归、线性回归和Logistic方程

回归

Logistic regression是线性回归的一种,线性回归是一种回归。
回归就是对已知公式的未知参数进行估计。回归的前提是公式已知,否则回归无法进行。在现实问题中,是需要根据已知数据的分布来猜测其公式的。根据公式的不同,回归分为线性回归和非线性回归,线性回归公式都是一次的(一元一次方程,二元一次方程...),非线性的则可以有各种的形式(N元N次方程)。

线性回归

线性回归是根据已有的数据集,使其预测结果与真实值偏差最小。但是前提是有意义的,比如鞋子越贵,卖的数量越少,越便宜卖的越多,但是像是鞋子尺码与鞋子价格就没有直接关系。总之如果我们的公式假设是错的,任何回归都得不到好结果。

Logistic方程

**Logistic Regression 就是一个被logistic方程归一化后的线性回归。**上面我们的例子是一个具体的实数值,然而很多情况下,我们需要回归产生一个类似概率值的0~1之间的数值,于是引入了Logistic方程,来做归一化。
归一化的好处在于数值具备可比性和收敛的边界,这样当你在其上继续运算时(比如你不仅仅是关心鞋子的销量,而是要对鞋子卖出的可能、当地治安情况、当地运输成本等多个要素之间加权求和,用综合的加和结果决策是否在此地开鞋店),归一化能够保证此次得到的结果不会因为边界太大/太小导致覆盖其他feature或被其他feature覆盖。(举个极端的例子,如果鞋子销量最低为100,但最好时能卖无限多个,而当地治安状况是用0~1之间的数值表述的,如果两者直接求和治安状况就完全被忽略了)

Logistic Regression的适用性

  1. 可用于概率预测,也可用于分类。
    比如我们得到不同广告被点击的可能性后,就可以展现点击可能性最大的N个。如果想SVM一样只能得到1或-1的结果,无法进行上述判断。
  2. 仅能用于线性问题
  3. 各feature之间不需要满足条件独立假设,但各个feature的贡献是独立计算的。
    但每个feature的贡献是独立计算的,即LR是不会自动帮你combine 不同的features产生新feature的。举个例子,如果你需要TF_IDF这样的feature,就必须明确的给出来,若仅仅分别给出两维 TF 和 IDF 是不够的,那样只会得到类似 a_TF + b_IDF 的结果,而不会有 c_TF*IDF 的效果。

REFERENECES
#1 【原创】Logistic regression (逻辑回归) 概述