Logistic回归原理及公式推导

Logistic回归为概率型非线性回归模型,是研究二分类观察结果与一些影响因素之间关系的一种多

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

否患某种病。

 

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

在分类情形下,经过学习后的LR分类器是一组权值,当测试样本的数据输入时,这组权值与测试数据按

线性加和得到

 

           

 

这里是每个样本的个特征。

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

 

           

 

由于sigmoid函数的定义域为,值域为,因此最基本的LR分类器适合对两类目标进行分类。

所以Logistic回归最关键的问题就是研究如何求得这组权值。这个问题是用极大似然估计来做的。

 

 

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

 

考虑具有个独立变量的向量,设条件慨率为根据观测量相对于某事件发生的

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

 

           

这里称为Logistic函数。其中

 

那么在条件下不发生的概率为

 

           

 

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

 

           

 

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

 

对odds取对数得到

 

           

 

 

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

 

假设有个观测样本,观测值分别为,设为给定条件下得到的概率,同样地,

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

 

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

 

                                         

 

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

取得最大值,对函数取对数得到

 

            

 

继续对这分别求偏导,得到个方程,比如现在对参数求偏导,由于

 

             

 

所以得到

 

            

 

这样的方程一共有个,所以现在的问题转化为解这个方程形成的方程组。

 

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

 

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

 

简单牛顿迭代法:http://zh.m.wikipedia.org/wiki/%E7%89%9B%E9%A1%BF%E6%B3%95

 

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

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



转自:

http://blog.csdn.net/ariessurfer/article/details/41310525

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来简单介绍一下 logistic 回归的原理推导Logistic 回归是一种分类算法,它的目标是根据输入特征预测样本属于哪个类别。在二分类问题中,我们通常将样本分为正类和负类两种情况。Logistic 回归的核心思想是通过一个 Sigmoid 函数将输入特征映射到 0 到 1 的概率,然后根据概率进行分类。 具体来说,我们假设有 $m$ 个样本,每个样本有 $n$ 个特征,我们用 $x^{(i)}$ 表示第 $i$ 个样本的特征向量,用 $y^{(i)}$ 表示第 $i$ 个样本的标签(0 或 1)。我们的目标是学习一个函数 $h_{\theta}(x)$,使得对于任意输入特征 $x$,$h_{\theta}(x)$ 都能够预测出该样本属于正类的概率。 我们可以使用逻辑回归模型来实现这个目标。逻辑回归模型的形式如下: $$h_{\theta}(x) = g(\theta^Tx) = \frac{1}{1+e^{-\theta^Tx}}$$ 其中,$\theta$ 是模型参数,$g(z)$ 是 Sigmoid 函数,其定义为: $$g(z) = \frac{1}{1+e^{-z}}$$ 我们的目标是最大化似然函数,即: $$L(\theta) = \prod_{i=1}^m h_{\theta}(x^{(i)})^{y^{(i)}}(1-h_{\theta}(x^{(i)}))^{1-y^{(i)}}$$ 为了方便计算,我们通常使用对数似然函数: $$l(\theta) = \log L(\theta) = \sum_{i=1}^m y^{(i)}\log h_{\theta}(x^{(i)}) + (1-y^{(i)})\log(1-h_{\theta}(x^{(i)}))$$ 我们的目标是最大化对数似然函数,即: $$\max_{\theta} l(\theta)$$ 我们可以使用梯度上升算法来求解最优参数 $\theta$。具体来说,我们需要计算对数似然函数的梯度: $$\frac{\partial l(\theta)}{\partial \theta_j} = \sum_{i=1}^m (h_{\theta}(x^{(i)})-y^{(i)})x_j^{(i)}$$ 然后根据梯度上升算法的更新公式更新参数 $\theta$: $$\theta_j := \theta_j + \alpha \frac{\partial l(\theta)}{\partial \theta_j}$$ 其中,$\alpha$ 是学习率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值