Logistic回归为概率型非线性回归模型,是研究二分类观察结果

多元无序logistic回归stata 多元无序logistic回归分析原理_迭代

与一些影响因素

多元无序logistic回归stata 多元无序logistic回归分析原理_梯度下降_02

之间关系的一种多

变量分析方法。通常的问题是,研究某些因素条件下某个结果是否发生,比如医学中根据病人的一些症状来判断它是

否患有某种病。

 

在讲解Logistic回归理论之前,我们先从LR分类器说起。LR分类器,即Logistic Regression Classifier。

在分类情形下,经过学习后的LR分类器是一组权值

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_03

,当测试样本的数据输入时,这组权值与测试数据按

照线性加和得到

 

           

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_04

 

这里

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_05

是每个样本的

多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_06

个特征。

之后按照sigmoid函数的形式求出

 

           

多元无序logistic回归stata 多元无序logistic回归分析原理_梯度下降_07

 

由于sigmoid函数的定义域为

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_08

,值域为

多元无序logistic回归stata 多元无序logistic回归分析原理_迭代_09

,因此最基本的LR分类器适合对两类目标进行分类。所以Logistic回归最关键的问题就是研究如何求得

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_03

这组权值。这个问题是用极大似然估计来做的。

 

 

下面正式地来讲Logistic回归模型。

 

考虑具有

多元无序logistic回归stata 多元无序logistic回归分析原理_梯度下降_11

个独立变量的向量

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_12

,设条件慨率

多元无序logistic回归stata 多元无序logistic回归分析原理_迭代_13

为根据观测量相对于某事件

多元无序logistic回归stata 多元无序logistic回归分析原理_迭代_14

发生的

概率。那么Logistic回归模型可以表示为

 

           

多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_15

这里

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_16

称为Logistic函数。其中

多元无序logistic回归stata 多元无序logistic回归分析原理_迭代_17

 

那么在

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_18

条件下

多元无序logistic回归stata 多元无序logistic回归分析原理_迭代

不发生的概率为

 

           

多元无序logistic回归stata 多元无序logistic回归分析原理_梯度下降_20

 

所以事件发生与不发生的概率之比为

 

           

多元无序logistic回归stata 多元无序logistic回归分析原理_梯度下降_21

 

这个比值称为事件的发生比(the odds of experiencing an event),简记为odds。

 

对odds取对数得到

 

           

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_22

 

 

可以看出Logistic回归都是围绕一个Logistic函数来展开的。接下来就讲如何用极大似然估计求分类器的参数。

 

假设有

多元无序logistic回归stata 多元无序logistic回归分析原理_梯度下降_23

个观测样本,观测值分别为

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_24

,设

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_25

为给定条件下得到

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_26

的概率,同样地,

多元无序logistic回归stata 多元无序logistic回归分析原理_迭代_27

的概率为

多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_28

,所以得到一个观测值的概率为

多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_29


 

因为各个观测样本之间相互独立,那么它们的联合分布为各边缘分布的乘积。得到似然函数为

 

                                         

多元无序logistic回归stata 多元无序logistic回归分析原理_迭代_30

 

然后我们的目标是求出使这一似然函数的值最大的参数估计,最大似然估计就是求出参数

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_03

,使得

多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_32

取得最大值,对函数

多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_32

取对数得到

 

            

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_34

 

继续对这

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_35


多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_36

分别求偏导,得到

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_35

个方程,比如现在对参数

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_38

求偏导,由于

 

             

多元无序logistic回归stata 多元无序logistic回归分析原理_梯度下降_39

 

所以得到

 

            

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_40

 

这样的方程一共有

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_35

个,所以现在的问题转化为解这

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_35

个方程形成的方程组。

 

上述方程比较复杂,一般方法似乎不能解之,所以我们引用了牛顿-拉菲森迭代方法求解。

 

利用牛顿迭代求多元函数的最值问题以后再讲。。。

 


实际上在上述似然函数求最大值时,可以用梯度上升算法,一直迭代下去。梯度上升算法和牛顿迭代相比,收敛速度

慢,因为梯度上升算法是一阶收敛,而牛顿迭代属于二阶收敛。

 

梯度下降。当然求最小值就是梯度下降,而求最大值相对就是梯度上升。

 

由于

多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_43

,如果

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_44

,那么得到

 

             

多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_45

 

现在我们要找一组

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_46

,使得所有的

多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_47

最接近

多元无序logistic回归stata 多元无序logistic回归分析原理_梯度下降_48

,设

 

              

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_49

 

现在我们要找一组

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_46

,使得

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_51

最小。这就是今天要介绍的梯度下降。

 

梯度下降的原理是这样的:首先对于向量

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_52

赋初值,可以赋随机值,也可以全赋为0,然后改变

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_52

的值,使得

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_51

按梯度下降最快的方向进行,一直迭代下去最终会得到局部最小值。即

 

                                             

多元无序logistic回归stata 多元无序logistic回归分析原理_梯度下降_55

 

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_56

表示梯度最陡的那个方向,

多元无序logistic回归stata 多元无序logistic回归分析原理_数据结构与算法_57

表示步长,也就是说每次向下降最快的方向走多远。进一步有

 

              

多元无序logistic回归stata 多元无序logistic回归分析原理_多元无序logistic回归stata_58

 

所以

               

多元无序logistic回归stata 多元无序logistic回归分析原理_梯度下降_59

 

简化一下就是

 

                

多元无序logistic回归stata 多元无序logistic回归分析原理_牛顿迭代_60