逻辑回归 Logistic Regression

简介: 逻辑回归 Logistic Regression

正文


逻辑回归也被称为对数几率回归,是一种分类算法,用条件概率分布的形式表示P ( Y ∣ X ) ,这里随机变量X XX取值为n nn维实数向量。


例如x = ( x 1 , x 2 , … , x n ) Y取值为0或1。


逻辑回归模型


逻辑回归的模型定义如下:

14.png

假设有一个二分类问题,输出为y = { 0 , 1 } ,而线性回归模型产生的预测值为 z=wx+b是实数值,我们希望有一个理想的阶跃函数来帮我们实现z值到0/1值的转化.

我们可以很自然的想到如下函数:


15.png

但是由于该函数在定义域内不连续,而我们需要一个单调可微的函数来供我们使用,于是便找到了Sigmoid函数:

16.png

17.png

由于Sigmoid函数的取值范围为[ 0 , 1 ],我们就可以将其视为类1的后验概率估计P ( y = 1 ∣ x ) 。说白了,就是如果有了一个测试点x ,那么就可以用Sigmoid 函数算出来的结果来当做该点x属于类别1的概率大小。


于是,非常自然地,我们把Sigmoid函数计算得到的值大于等于0.5的归为类别1,小于0.5的归为类别0:


18.png


逻辑回归的损失函数


逻辑回归模型的损失函数(误差平方和)定义如下:19.png

其中:

z^{(i)} = w^Tx^{(i)} + bi表示第i个样本点;

y^i表示第i 个样本的真实值;

ϕ ( z ( i ) 表示第i个样本的预测值。

这时,如果我们将ϕ ( z ) = 1 /1 + e − z带入的话,会发现这是一个非凸函数,这就意味着代价函数(代价即预测值和实际值之间的差距)有着许多的局部最小值,这非常不利于我们求解。


左:非凸函数;右:凸函数



20.png

因此我们需要换一个思路去解决问题,我们注意到,在逻辑回归的分类任务中,分类结果非0即1,所以我们有:

000.png

其中

00.png

0.png表示给定w ww,那么x xx点y = 1 y=1y=1的概率大小。

于是上式可以整合为:


1.png

逻辑回归模型参数估计


求解1.png中的参数w可以用极大似然估计(最大可能性估计)的方法:


2.png

等式两边做对数变换可得

3.png

我们现在就得到了代价函数l ( w ) l(w)l(w),为了方便使用梯度下降法求解代价函数,我们取代价函数的相反数,然后将代价函数定义为原代价函数的相反数:



4.png

逻辑回归的模型求解


由于Sigmoid函数的自身性质,其对参数求偏导后:

5.png

偏导数推导过程:

6.png

接下来使用梯度下降法求解回归模型:

7.png


其中


8.png

w j表示第j个特征的权重;

η为学习率,用来控制步长。

梯度推导过程:


9.png

所以使用梯度下降法更新权重时,根据下列式子即可:

10.png

当样本量极大时,更新权重会非常耗时,我们可以采用随机梯度下降的方法,把每次迭代时需要的样本打乱:

11.png

也就是去掉了求和,而是对每个样本点都进行更新。


多项逻辑回归模型


将逻辑回归应用推广为多项式逻辑回归,用于解决多分类问题,这时公式定义为:

12.png





相关文章
|
机器学习/深度学习 算法 数据挖掘
机器学习算法: Logistic 回归 详解
机器学习算法: Logistic 回归 详解
21297 1
机器学习算法: Logistic 回归 详解
|
机器学习/深度学习 人工智能 算法
【机器学习】逻辑回归(Logistic Regression)(理论+图解+公式推导+代码实现)
【机器学习】逻辑回归(Logistic Regression)(理论+图解+公式推导+代码实现)
3703 0
【机器学习】逻辑回归(Logistic Regression)(理论+图解+公式推导+代码实现)
|
机器学习/深度学习 算法 数据挖掘
机器学习算法 --- 逻辑回归及梯度下降
一、逻辑回归简介   logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。   logistic回归是一种广义线性回归(generalized linear model),因此与多重线性回归分析有很多相同之处。
1962 0
|
机器学习/深度学习 算法 Python
机器学习算法之——逻辑回归(Logistic Regression)
逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。
机器学习算法之——逻辑回归(Logistic Regression)
|
机器学习/深度学习 算法
AdaBoost算法
**AdaBoost** 是一种 Boosting 算法,通过序列训练弱分类器并赋予错误分类样本更大权重,逐步构建强分类器。它使用指数损失函数,每次迭代时,弱分类器聚焦于前一轮分类错误的样本。最终,弱分类器的预测结果按其性能加权组合成强分类器。与 Bagging 相比,Boosting 是串行的,每个模型依赖前一个模型的输出,更重视错误样本。AdaBoost 的优点包括提高弱分类器性能、鲁棒性和灵活性,但对噪声敏感且训练时间可能较长。
|
机器学习/深度学习 数据采集 传感器
【机器学习】特征工程之特征选择
【机器学习】特征工程之特征选择
683 2
|
机器学习/深度学习 算法 Python
全面解析并实现逻辑回归(Python)
本文以模型、学习目标、优化算法的角度解析逻辑回归(LR)模型,并以Python从头实现LR训练及预测。
|
机器学习/深度学习 Serverless 索引
分类网络中one-hot的作用
在分类任务中,使用神经网络时,通常需要将类别标签转换为一种合适的输入格式。这时候,one-hot编码(one-hot encoding)是一种常见且有效的方法。one-hot编码将类别标签表示为向量形式,其中只有一个元素为1,其他元素为0。
559 3
|
机器学习/深度学习 资源调度 算法
逻辑回归 算法推导与基于Python的实现详解
逻辑回归(Logistic Regression)是一种用于分类问题的统计学习方法。它基于线性回归的原理,通过将线性函数的输出值映射到[0,1]区间上的概率值,从而进行分类。 逻辑回归的输入是一组特征变量,它通过计算每个特征与对应系数的乘积,加上截距项得到线性函数,然后将该函数的输出值经过sigmoid函数的映射,得到概率值。
|
机器学习/深度学习 并行计算 安全
安全多方计算之一:什么是安全多方计算
安全多方计算之一:什么是安全多方计算
2149 0