老齐教室

【logistic回归】笔记

回归,包括线性回归、Logistic回归

回归其实就是对已知公式的未知参数进行估计。

Logistic Regression 就是一个被logistic方程归一化后的线性回归。所得到的的值,在0~1范围内,但不是数学中定义的概率值,称之为“可能性”,即得1或者得0的相对可能性。

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

Logistic函数/Sigmoid函数(有一种观点。Sigmoid函数式形状像S的函数,画出来像S的函数不止一个,比如Logistic函数式,probit函数也是)

$$f(x)= \frac{1}{1+e^{-k(x-x_0)}}$$

$x_0$ 表示函数曲线的中心(sigmoid midpoint),k是曲线的坡度。

更一般地,写成:

$$f(X)=\frac{1}{1+e^{-\theta^TX}}$$

其中:$\theta$ 是参数向量,$X$ 是自变量。

$$\theta^TX=\theta_0x_0 + \theta_1x_1+\cdots+\theta_nx_n=\sum_{i=0}^{n}\theta_ix_i$$

上述加权求和的结果在$(-\infty, \infty)$之间,为了能表示预测的概率,我们希望把输出值限制在(0,1) 之间,而不是 (−∞,+∞) 。所以,这时,logistic函数就出场了。这个函数是由 Pierre François Verhulst(皮埃尔·弗朗索瓦·韦吕勒)在1844~1845年的时候给它起的名字。

logistic函数在统计学和机器学习领域应用最为广泛或者最为人熟知的肯定是逻辑斯谛回归模型了。逻辑斯谛回归(Logistic Regression,简称LR)作为一种对数线性模型(log-linear model)被广泛地应用于分类和回归场景中。

此外,logistic函数也是神经网络最为常用的激活函数,即sigmoid函数。

softmax函数

softmax is a generalization of logistic function that “squashes”(maps) a K -dimensional vector z of arbitrary real values to a K -dimensional vector δ(z) of real values in the range (0, 1) that add up to 1.

这句话既表明了softmax函数与logistic函数的关系,也同时阐述了softmax函数的本质就是将一个K维的任意实数向量压缩(映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间。

$$\delta(z)j=\frac{e^{z_j}}{\sum{k=1}^{K}e^{z_k}}, j=1,2,\cdots, K$$

softmax函数经常用在神经网络的最后一层,作为输出层,进行多分类.

softmax在增强学习领域内,softmax经常被用作将某个值转化为激活概率,这类情况下,softmax的公式如下

$$P_t(a)=\frac{e^{\frac{q_t(a)}{T}}}{\sum_{i=1}^{n}e^{\frac{q_t(i)}{T}}}$$

T被称为是温度参数(temperature parameter)。

当T很大时,即趋于正无穷时,所有的激活值对应的激活概率趋近于相同(激活概率差异性较小);而当T很低时,即趋于0时,不同的激活值对应的激活概率差异也就越大。

logistic具体针对的是二分类问题,而softmax解决的是多分类问题,因此从这个角度也可以理解logistic函数是softmax函数的一个特例。

从概率角度来看logistic和softmax函数的区别。

softmax建模使用的分布是多项式分布,而logistic则基于伯努利分布

softmax回归进行的多分类,类与类之间是互斥的,即一个输入只能被归为一类;

多个logistic回归进行多分类,输出的类别并不是互斥的,即”苹果”这个词语既属于”水果”类也属于”3C”类别。

推导过程:

设自变量与因变量的关系是:

$$Y = \alpha + \beta_1X_1 + \cdots + \beta_nX_n + \epsilon$$

如果 $X$ 是任意实数,但 $Y$ 是二分类数据,那么,就不能通过线性函数的方式拟合出结果。即,上式左侧是二分类数据,右侧是$(-\infty, \infty)$ 的值。

一种方法:可以使用分段函数(用 $z$ 表示上式左侧的计算结果)

$$Y = \begin{cases}0, z \lt 0\0.5, z=0\1,z \gt 0\end{cases}$$

但这个函数不是连续函数,不连续可微。

为此,要寻找连续函数,并且能够将$(-\infty, \infty)$ 范围的值映射到$(0,1)$之间,sigmoid函数式一个选择。

$$Y = \frac {e^z}{1+e^z}=\frac {e^{\alpha + \beta_1X_1 + \cdots + \beta_nX_n + \epsilon}}{1+e^{\alpha + \beta_1X_1 + \cdots + \beta_nX_n + \epsilon}}$$

则:

$$\frac{Y}{1-Y}=e^{\alpha + \beta_1X_1 + \cdots + \beta_nX_n + \epsilon}$$

两边取自然对数

$$ln(\frac{Y}{1-Y})=\alpha + \beta_1X_1 + \cdots + \beta_nX_n + \epsilon$$

上式右边,就是普通的回归表达式。

左边:$\frac{Y}{1-Y}$ 代表结果的两种状态的比率(odds),取自然对数后,叫做对数比率。所以,logistic回归,称为对数比率回归。

下面,通过“最大似然法”(maximum likehuood)确定上式右侧系数。

当初引进这个词汇时翻译的过于玄乎,导致很多人看不懂。其实,似然,就是“可能”的意思,最大似然,也就是最大可能。

要找到的最优β,它们必须满足一个条件,就是使我们当前获得的数据出现的可能性最大!举个例子,假如小明认为β=1,在他给出的β下,当前数据出现的可能性只有0.3,小花给出的β为2,在她给出的β下,当前数据出现的可能性为0.6。也就是说,在当前的数据已经出现的情况下,小花的β更加合理!

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

关注微信公众号,读文章、听课程,提升技能