目录
-
- 上集回顾
- [1. 逻辑回归与线性回归的区别](#1. 逻辑回归与线性回归的区别)
- 2.逻辑回归的常见目标函数
- 3.逻辑回归如何分类
- 4.Sigmoid函数详解
- 5.逻辑回归模型的参数
上集回顾
上一节文章地址:链接
1. 逻辑回归与线性回归的区别
- 应用领域
线性回归通常⽤于解决回归问题,其中⽬标是预测⼀个连续数值输出(如房价、销售量等)。线性回归试图建⽴⼀个线性关系,以最小化观测值与模型预测值之间的差异
逻辑回归通常用于解决分类问题,其中⽬标是将输⼊数据分为两个或多个类别(如⼆分类问题中的是/否、多分类问题中的类别1、类别2等)。逻辑回归使⽤S形函数(逻辑函数)将线性组合的输⼊映射到概率输出 - 输出
- 线性回归的输出是⼀个连续的数值,可以是任意实数。线性回归模型的公式是
y = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β n x n y = \beta_{0} + \beta_{1}x_{1} + \beta_{2}x_{2} + \cdots + \beta_{n}x_{n} y=β0+β1x1+β2x2+⋯+βnxn - 逻辑回归的输出是⼀个介于 0 和 1 之间的概率值,表示观测数据属于某个类别的概率。逻辑回归使⽤逻辑函数(也称为 sigmoid 函数)来计算概率,其公式是
p ( y = 1 ) = 1 1 + e − ( β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β n x n ) p(y = 1) = \frac{1}{1 + e^{-(\beta_{0} + \beta_{1}x_{1} + \beta_{2}x_{2} + \cdots + \beta_{n}x_{n})}} p(y=1)=1+e−(β0+β1x1+β2x2+⋯+βnxn)1
- 线性回归的输出是⼀个连续的数值,可以是任意实数。线性回归模型的公式是
- 模型形式
- 线性回归建立了⼀个线性关系,其中模型参数 表示输入特征与输出之间的线性关系。⽬标是最小化预测值与实际值之间的平方误差
- 逻辑回归使用逻辑函数对线性组合进行转换,使其落在0到1之间,代表了属于某⼀类的概率。模型参数表示对数概率与输入特征之间的线性关系。目标是最大化似然函数,以使观测数据在给定参数下的概率最大化
- 目标
- 线性回归的目标是找到⼀条最佳拟合线,以最小化实际观测值与预测值之间的误差平方和
- 逻辑回归的目标是找到最佳参数,以最大化观测数据属于正类别或负类别的概率,从而能够进行分类
2.逻辑回归的常见目标函数
逻辑回归的目标函数,通常也称为损失函数或代价函数,用于衡量模型的预测与实际观测值之间的差异.逻辑回归通常用于⼆分类问题,其目标是最⼤化观测数据属于正类别或负类别的概率,从⽽能够进行分类。逻辑回归的⽬标函数通常使⽤交叉熵损失函数(Cross-Entropy Loss Function)或对数损失函数(Log Loss Function),这两者通常是等价的。逻辑回归的交叉熵损失函数:
对于⼆分类问题,逻辑回归的损失函数可以表示为以下形式:
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) log ( h θ ( x ( i ) ) ) + ( 1 − y ( i ) ) log ( 1 − h θ ( x ( i ) ) ) ] J(\theta) = -\frac{1}{m} \sum_{i = 1}^{m} \left[ y^{(i)} \log(h_{\theta}(x^{(i)})) + (1 - y^{(i)}) \log(1 - h_{\theta}(x^{(i)})) \right] J(θ)=−m1i=1∑m[y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]
其中:
- J ( θ ) J(\theta) J(θ)是损失函数
- m是训练样本数量
- y ( i ) y^{(i)} y(i) 是第 i个样本的实际类别标签(0或1)
- h θ ( x ( i ) ) h_{\theta}(x^{(i)}) hθ(x(i)) 是模型预测第 i个样本为正类别的概率
- θ \theta θ 是模型的参数(权重和偏置项)
这个损失函数的目标是最小化观测数据的负对数似然(negative log-likelihood),从而最大化观测数据属于正类别或负类别的概率。对于多分类问题,逻辑回归的损失函数可以使用多分类的交叉熵损失函数,如softmax交叉熵损失函数。其他常见的损失函数包括均方误差损失 和平均绝对误差损失,但这些损失函数通常用于回归问题,而不是分类问题。在分类问题中,逻辑回归的交叉熵损失函数是最常见和推荐的选择,因为它能够测量分类模型的概率输出与实际标签之间的差异,并且具有良好的数学性质
3.逻辑回归如何分类
- 处理⼆分类问题
- 数据准备:获取带有标签的训练数据集,其中每个样本都有⼀个⼆元类别标签,通常为0或1
- 特征⼯程:根据问题的性质选择和提取适当的特征,以作为模型的输⼊
- 模型训练:使⽤逻辑回归模型,建立⼀个线性组合的模型,然后通过逻辑函数将其映射到[0, 1]范围内的概率。训练模型时,通过最大化似然函数来拟合模型参数
- 预测和分类:对于新的未标记样本,使用训练好的模型进⾏预测。通常,模型会输出⼀个概率值,然后可以根据阈值(通常为0.5)将概率转化为⼆元类别,例如,如果概率⼤于阈值,则将样本分为正类别(1),否则分为负类别(0)
- 评估模型性能:使用适当的性能指标(如准确率、精确度、召回率、F1分数、ROC曲线和AUC)来评估模型的性能
- 处理多分类问题
- ⼀对多(OvR)方法:也称为⼀对剩余方法。对于有K个类别的问题,使⽤K个⼆分类逻辑回归模型。每个模型将⼀个类别作为正类别,⽽将其他K-1个类别视为负类别。当需要对新样本进行分类时,每个模型都会产生⼀个概率,最后选择具有最高概率的类别作为预测结果
- Softmax回归:也称为多类别逻辑回归或多项式回归。Softmax回归将多个类别之间的关系建模为⼀个多类别概率分布。它使⽤Softmax函数来将线性组合的输⼊映射到K个类别的概率分布,其中K是类别的数量。训练Softmax回归模型时,通常使⽤交叉熵损失函数
4.Sigmoid函数详解
Sigmoid函数,也称为逻辑函数(Logistic Function),是⼀种常⽤的S型函数,具有如下的数学形式为
σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+e−z1
其中 σ ( z ) \sigma(z) σ(z)表示Sigmoid函数, 是⾃然对数的底数(约等于2.71828),z是实数输入,Sigmoid函数的作⽤在于将任何实数输⼊ 映射到⼀个介于0和1之间的概率值。这个映射特性使Sigmoid函数在逻辑回归中⾮常有⽤,因为它可以⽤来建⽴⼀个线性模型的输出,该输出表示属于某⼀类别的概率,它的作用有以下几点
- 将线性组合转化为概率:逻辑回归模型通过将输⼊特征的线性组合( β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β n x n \beta_{0} + \beta_{1}x_{1} + \beta_{2}x_{2} + \cdots + \beta_{n}x_{n} β0+β1x1+β2x2+⋯+βnxn)传递给Sigmoid函数,将其转化为⼀个介于0和1之间的概率值。这个概率表示样本属于正类别的概率
- 分类决策:通常,逻辑回归模型会根据Sigmoid函数的输出来做出分类决策。如果概率⼤于或等于⼀个阈值(通常是0.5),则样本被分类为正类别;如果概率⼩于阈值,则样本被分类为负类别
- 平滑性:Sigmoid函数是光滑的S型曲线,具有连续导数。这使得逻辑回归模型易于优化,可以使⽤梯度下降等优化算法来找到最佳参数
- 输出的概率解释:Sigmoid函数的输出可以被解释为⼀个事件的概率。这使得逻辑回归模型可以提供与概率相
关的信息,⽽不仅仅是类别的预测结果
5.逻辑回归模型的参数
参数主要包括:
- 权重(系数):对应于每个输⼊特征的权重,⽤于衡量该特征对预测的影响。每个特征都有⼀个对应的权重参数
- 截距(偏置项):表示模型的基准输出,即当所有特征的值都为零时,模型的输出值
训练逻辑回归模型的过程通常涉及以下步骤:
- 数据准备:获取带有标签的训练数据集,其中包括输⼊特征和相应的类别标签(通常为0或1)
- 特征⼯程:选择和提取适当的特征,并进⾏必要的特征预处理(例如,标准化、缺失值处理等)
- 模型初始化:初始化模型的权重和截距(通常为零或⼩随机值)
- 定义损失函数:通常使⽤交叉熵损失函数(对数损失函数)来衡量模型预测的概率与实际标签之间的差异
- 优化算法:选择⼀个优化算法,通常是梯度下降(Gradient Descent)或其变种,⽤于最⼩化损失函数并更新模型的参数(权重和截距)。优化算法会沿着损失函数的梯度⽅向更新参数,使损失逐渐减⼩。
- 训练模型:迭代运⾏优化算法,通过将训练数据传递给模型,计算梯度并更新参数。训练过程通常需要多个迭代轮次,直到收敛到最佳参数
- 评估模型:使⽤独⽴的验证集或测试集来评估模型的性能。通常使⽤性能指标(如准确率、精确度、召回率、F1分数等)来评估模型的分类性能
- 调整超参数:根据模型性能进⾏超参数调优,例如学习率、正则化参数等
- 模型应⽤:⼀旦训练完毕并满意性能,可以使⽤该模型来进⾏新样本的分类预测
- 可解释性分析(可选):根据模型的参数权重,可以进⾏特征重要性分析,以了解哪些特征对模型的预测
具影响⼒