【数学建模】逻辑回归算法(Logistic Resgression)

简介: 【数学建模】逻辑回归算法(Logistic Resgression)

简介

逻辑回归算法是一种简单但功能强大的二元线性分类算法。需要注意的是,尽管"逻辑回归"名字带有“回归”二字,但逻辑回归是一个分类算法,而不是回归算法。

我认为,逻辑回归算法功能强大的原因,更在于,它不仅仅可以预测类别标签,而且还可以预测类别的概率。

比如说,使用逻辑回归预测天气,不仅仅可以预测某一天是否会下雨,还可以给出下雨的概率。类似地,也可以使用逻辑回归算法来预测症状给定的情况下患者患有某种疾病的概率,这也是逻辑回归在医学领域广受欢迎的原因。

逻辑回归与条件概率

逻辑回归是一个二元分类概率模型。下面我们主要了解一下逻辑回归背后的主要机制。

p:感兴趣事件发生的概率(所谓感兴趣,正是我们想要预测的事件,比如患者在出现某些症状时患病的概率。)

几率(odds):是一个事件发生可能性的度量。数学表达式为:image.png

logit 函数:logit函数是几率(odds)的对数函数:

image.png

这里的log是自然对数。logit函数的输入即p是一个介于0-1之间的正数,输出即logit§为任意实数。

那如何将这里的输出将我们的数据相联系起来呢?

我们假设我们的输出即logit§与每一个样本的特征值 image.png和加偏置顶存在线性关系,即:

image.png


当我们真正感兴趣的是条件概率 p即在给定一个样本特征的前提下求解类别标签为1的概率。

通过logit函数,我们可以将条件概率p映射为一个实数。那反过来,我们要求p的话呢?所以,我们可以根据logit函数求解出它的逆函数。

logit函数的逆函数通常称为logistic sigmoid函数。由于这个函数具有S形状,因此有时也简称为sigmoid函数

image.png

绘制sigmoid函数

import matplotlib.pyplot as plt
import numpy as np
def sigmoid(z):
    return 1.0/(1.0+np.exp(-z))
z=np.arange(-7,7,0.1)
sigma_z=sigmoid(z)
plt.plot(z,sigma_z)
plt.axvline(0.0,color='k')
plt.ylim(-0.1,1.1)
plt.xlabel('z')
plt.ylabel('$\sigma(z)$')
plt.yticks([0.0,0.5,1.0])
ax=plt.gca()
ax.yaxis.grid(True)
plt.tight_layout()
plt.show()

678ea3dd327d437f8fe87384faea819f.png

但输入的z zz为0时,输出p为0.5。当输入的z趋近于+ ∞ + \infty+∞时,输出p接近于1。当输入的趋近于− ∞ - \infty−∞时,输出p接近于1。

而且当输入的z > 0 z>0z>0,那么p>0.5,可以判别是预测事件的发生。当z < 0 z<0z<0时,可以认为是预测事件的不发生。即对应的二值输出为:

image.png

相关文章
|
18天前
|
存储 安全 算法
|
2月前
|
存储 算法 Serverless
【C/C++ 数据结构】深入探索数据结构中算法复杂度:从C++和数学的视角
【C/C++ 数据结构】深入探索数据结构中算法复杂度:从C++和数学的视角
47 0
|
16天前
|
机器学习/深度学习 数据采集 算法
Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
|
4天前
|
机器学习/深度学习 算法
【机器学习】比较朴素贝叶斯算法与逻辑回归算法
【5月更文挑战第10天】【机器学习】比较朴素贝叶斯算法与逻辑回归算法
|
20天前
|
机器学习/深度学习 算法 数据挖掘
数据分享|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
数据分享|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
|
20天前
|
机器学习/深度学习 算法 数据挖掘
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
|
22天前
|
机器学习/深度学习 算法
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病-2
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
|
22天前
|
机器学习/深度学习 算法 数据挖掘
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病-1
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
|
27天前
|
机器学习/深度学习 算法 C++
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
|
28天前
|
机器学习/深度学习 算法
R语言使用Metropolis- Hasting抽样算法进行逻辑回归
R语言使用Metropolis- Hasting抽样算法进行逻辑回归