第六章 Logistic回归
- 格式:pdf
- 大小:2.08 MB
- 文档页数:54
logistics回归的原理
Logistic回归是一种用于解决二元分类问题的机器学习算法。
它基于逻辑函数(也称为sigmoid函数)的概念,并通过最大
似然估计来确定模型参数。
Logistic回归的原理可以概括为以下步骤:
1. 数据准备:收集并准备训练数据集,包括输入特征(自变量)和对应的类别标签(因变量)。
2. 特征缩放:对输入特征进行缩放,以确保它们在相似的范围内。
3. 参数初始化:初始化模型的权重和截距。
4. Sigmoid函数:定义Sigmoid函数,它将输入转换为0到1
之间的概率值。
5. 模型训练:使用最大似然估计法来最小化损失函数,以找到最佳模型参数。
通常使用梯度下降等优化算法来实现。
6. 模型预测:使用训练得到的模型参数,对新的输入样本进行预测。
根据预测概率值,可以将样本分类为两个类别之一。
Logistic回归的核心思想是通过sigmoid函数将线性回归模型
的输出映射到概率。
它假设数据服从伯努利分布,并对给定输入特征的条件下属于某个类别的概率进行建模。
通过最大似然估计,可以找到最优的模型参数,使得预测的概率尽可能接近真实标签的概率。
总结起来,Logistic回归的原理是利用最大似然估计来建模分
类问题中的概率,并使用sigmoid函数将线性模型的输出映射到概率范围内。
logistic 回归函数Logistic回归函数是一种常用的分类算法,它可以根据输入变量的线性组合来预测二元分类的概率。
在本文中,我们将介绍Logistic 回归函数的原理、应用场景以及如何使用Python来实现。
让我们来了解一下Logistic回归函数的原理。
Logistic回归函数可以看作是在线性回归模型的基础上加上了一个非线性的映射函数,该映射函数被称为Logistic函数或Sigmoid函数。
Logistic函数的表达式为:$$f(x) = \frac{1}{1+e^{-x}}$$其中,x为输入变量的线性组合。
Logistic函数的特点是将输入的实数映射到了(0,1)的区间内,这个区间可以看作是一个概率的范围。
当x趋向于正无穷时,f(x)趋向于1;当x趋向于负无穷时,f(x)趋向于0。
因此,我们可以将f(x)看作是预测样本属于某个类别的概率。
Logistic回归函数的应用场景非常广泛。
一般来说,当我们需要对一个样本进行分类,并且样本的特征是连续的或者离散的,都可以考虑使用Logistic回归函数。
例如,我们可以使用Logistic回归函数来预测用户点击广告的概率,或者预测某个疾病的患病概率等等。
接下来,让我们通过一个具体的例子来演示如何使用Python来实现Logistic回归函数。
假设我们有一个数据集,其中包含了一些患有某种疾病的人的年龄和血压信息,我们的目标是根据这些信息来判断一个人是否患有该疾病。
首先,我们需要导入必要的库和加载数据集:```import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdata = pd.read_csv('data.csv')```接下来,我们需要对数据进行预处理,包括数据清洗、特征选择和数据划分等步骤。
然后,我们可以使用sklearn库中的LogisticRegression类来构建Logistic回归模型,并进行训练和预测:```from sklearn.linear_model import LogisticRegressionfrom sklearn.model_selection import train_test_split# 特征选择X = data[['age', 'blood_pressure']]y = data['disease']# 数据划分X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)# 构建模型model = LogisticRegression()# 模型训练model.fit(X_train, y_train)# 模型预测y_pred = model.predict(X_test)```我们可以使用一些评估指标来评估模型的性能,例如准确率、精确率、召回率和F1值等:```from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score# 计算准确率accuracy = accuracy_score(y_test, y_pred)# 计算精确率precision = precision_score(y_test, y_pred)# 计算召回率recall = recall_score(y_test, y_pred)# 计算F1值f1 = f1_score(y_test, y_pred)```通过以上步骤,我们就可以完成Logistic回归函数的实现和模型评估。
logistic回归原理
Logistic回归,又称为逻辑回归,是一种广泛应用的机器学习算法,主要用于分类问题。
它将一个数值变量预测为两个或多个二元变量值之一,例如:通过观察一个变量,我们可以预测另一个变量为正类/负类。
Logistic回归是一种函数拟合技术,它可以根据给定的输入数据,建立一个模型以预测数据的输出值。
它使用一个逻辑函数(也称为S形函数)来将连续的输入变量映射到二元类别输出中,形成一个只具有两个类别的模型。
Logistic回归的基本原理是,我们根据输入特征(例如年龄、性别、学历等)来预测输出(例如好/坏借款人)。
在Logistic回归模型中,输入特征是一个变量,而输出是一个二元变量,即只有两个值-0或1。
为了使Logistic回归模型正确地对数据进行建模,需要在训练阶段对参数进行估计。
估计的方式多种多样,但最常用的是最大似然估计(MLE)。
在MLE中,我们根据给定的训练数据找到最可能产生该数据的参数,也就是找到能够最好地拟合训练数据的参数。
一旦参数被估计出来,就可以使用该模型来预测新数据。
预测时,通常使用两个概念来描述预测:概率和似然估计。
概率表示新数据属于某个类别的可能性,即预测出的结果是0还是1的概率。
而似然估计则表示特定参数的可信度,即该参数产生观测数据的可能性。
总之,Logistic回归是一种广泛应用于分类问题的机器学习算
法,它将一个数值变量预测为两个或多个二元变量值之一。
它使用一个函数来将连续的输入变量映射到二元类别输出中,以预测数据的输出值。
在Logistic回归模型中,我们使用最大似然估计来估计参数,以及概率和似然估计来预测新数据。
1为什么提出Logistic 回归?假设现在有一些数据点,我们用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称为线性回归。
θx=θ0+θ1x1+θ2x2+⋯+θn x n线性回归模型只能预测连续的值,然而对于分类问题,我们需要输出0 或1,我们可以预测:当h(x)>= 0.5 时,预测y=1当h(x)< 0.5 时,预测y=0线性回归模型,因为其预测的值可以超越[0,1]的范围,并不适合解决这样的问题。
2Logistic 回归引入一个新的模型,逻辑回归,该模型的输出变量范围始终在0 和 1 之间。
logistic回归需要一个函数能够接受所有的输入然后预测出类别。
这个函数就是sigmoid函数。
g z=1−z其中z=θ0+θ1x1+θ2x2+⋯+θn x n因而逻辑回归模型的假设是: θx=g(θT x)现在就可以执行分类任务了:y=1 if g(z)>=0.5 z>=0y=0 if g(z)<0.5 z<0因而z=0为决策边界,即θ0+θ1x1+θ2x2+⋯+θn x n=03损失函数对于线性回归模型,我们定义的损失函数是所有数据误差的平方和。
但是当我们把logistic 拟合函数的 θx带入损失函数中,发现损失函数变成一个非凸函数。
具有多个极小值,这将影响梯度下降算法寻找全局最小值,如下图左端所示。
因而我们需要定义新的损失函数,使得带入 θx的损失函数变为凸函数。
cost( θx ,y)=−log θx if y=1−log (1− θx) if y=0这样构建的cost( θx ,y)函数的特点是:当实际的y=1 且 θx也为1 时误差为0,当y=1 但 θx不为1 时误差随着 θx的变小而变大;当实际的y=0 且 θx也为0 时代价为0,当y=0 但 θx不为0 时误差随着 θx的变大而变大.最后损失函数为:Jθ=1m−y i log θ x i−1−y i log(1− θ x i) mi=1在得到这样一个损失函数以后,我们便可以用梯度下降算法来求得能使代价函数最小的参数了。