逻辑回归(Logistic Regression)虽然名字中包含“回归”,但它实际上是一种分类算法,通常用于二元分类问题。给定一组包含多个特征的数据样本,逻辑回归的目标是预测每个样本属于目标变量的哪一个类别(例如,是否会发生某个事件,或者用户是否会点击广告等)。这是一个监督学习问题,因为我们已经有了每个样本对应的类别标签。
为什么不直接用线性回归?
1. 输出值的范围:线性回归的输出值是连续的,可以是任意实数。然而,在分类问题中,我们通常期望输出是一个类别标签,而不是连续值。逻辑回归通过Sigmoid函数将输出压缩到0到1之间,表示概率,更适用于分类场景。
Sigmoid函数的具体表达式为:
sigmoid函数的命名源于其独特的"S"形曲线以及它在模拟神经元激活过程中的应用。这个名字既形象地描述了函数的形状,又体现了其在生物学和神经科学研究中的重要应用。
2. 假设的不同:线性回归假设自变量和因变量之间存在线性关系。但在分类问题中,这种线性关系可能不成立。逻辑回归则不强制要求自变量和因变量之间的线性关系,而是通过逻辑函数转换来处理分类。
3. 解释性:逻辑回归提供的概率输出更具解释性,有助于理解某个类别发生的可能性。而线性回归的直接输出可能难以直接解释为类别标签。
为什么不用K近邻做这个分类问题呢?
综上所述,在选择分类算法时,逻辑回归因其概率输出的特性、模型参数的解释性以及较好的泛化能力而常被选用。而K近邻算法在处理某些特定问题时也可能表现出色,但在处理大规模数据集或需要解释性强的场景下可能不是最佳选择。
逻辑回归模型与极大似然估计
逻辑回归模型与极大似然估计(Maximum Likelihood Estimation, MLE)之间的联系主要体现在逻辑回归模型参数的估计过程中。极大似然估计是一种统计方法,用于估计概率模型的参数,其基本思想是找到那些使得样本数据出现的概率最大的参数值。
在逻辑回归中,我们假设数据服从伯努利分布(Bernoulli distribution),即每个样本只有两种可能的结果(例如,标签为0或1)。逻辑回归模型给出了在给定输入特征`x`的条件下,输出`y=1`的概率`P(Y=1|x)`。对于每个样本,我们可以计算其在模型参数`b0, b1, ..., bn`下的概率。
当我们有一个由`m`个样本组成的数据集时,我们可以构造一个似然函数`L`,它表示在这组参数下,整个数据集出现的概率。似然函数是每个样本概率的乘积:
其中, 是第 i 个样本在给定输入特征 x_i 和模型参数下的概率。
为了找到使似然函数最大化的参数值,我们通常对似然函数取对数(因为对数函数是单调增函数,所以对数似然函数的最大值点也是原似然函数的最大值点),得到对数似然函数:
然后,我们对对数似然函数关于模型参数求导,并令导数等于0,从而解出使得对数似然函数最大的参数值。在实际应用中,这通常通过迭代优化算法(如梯度下降法)来实现。
因此,逻辑回归与极大似然估计的联系在于:逻辑回归模型的参数是通过最大化似然函数(或对数似然函数)来估计的,这是一种基于样本数据的概率最大化原则的参数估计方法。
逻辑回归模型
逻辑回归模型可以表示为:
其中, 是输入特征, 是模型参数(包括截距项 和回归系数 。
优化问题
逻辑回归的训练可以看作是一个优化问题,目标是找到一组参数 ,使得模型预测的概率与真实标签之间的差异最小化。这通常通过最大化似然函数(或最小化负对数似然函数)来实现。
目标函数:负对数似然函数(Negative Log-Likelihood, NLL)
其中, 是模型预测的第 i 个样本为正类的概率, 是第 i 个样本的真实标签(0 或 1), m 是样本数量。
这里的负对数似然函数(Negative Log-Likelihood, NLL)实际上是对原本的似然函数取对数并取反得到的。在二分类的逻辑回归问题中,每个样本的真实值只能是0或1,这使得我们可以将两种情况的概率计算统一到一个公式中。
原始的似然函数是每个样本概率的乘积,考虑到只能取0或1,所以对于每个样本,其概率可以表示为:
因此,单个样本的概率可以统一写作:
对于整个数据集,似然函数是各个样本概率的乘积:
取对数,得到对数似然函数:
在优化过程中,我们常常最大化对数似然函数,这等价于最小化负对数似然函数,即:
这就是逻辑回归中常用的损失函数形式,用于衡量模型预测概率分布与真实标签之间的差异。通过最小化这个损失函数,我们可以找到最优的模型参数。
约束条件:在逻辑回归中,通常没有显式的约束条件作用于模型参数 。但是,在实际应用中,可能会加入正则化项(如L1正则化或L2正则化)来防止过拟合,并对模型复杂度进行约束。
优化方法:为了最小化负对数似然函数,通常使用梯度下降法(Gradient Descent)或其变种(如随机梯度下降SGD、小批量梯度下降Mini-Batch GD等)来迭代更新模型参数。
我们这里提供了一个使用北太天元优化工具箱的fminunc函数实现求解的逻辑回归例子, 代码如下
总结
逻辑回归是一个用于二元分类问题的算法,它使用Sigmoid函数将线性回归的输出映射为概率值。逻辑回归的训练可以通过最小化负对数似然函数来实现,通常使用梯度下降法进行优化。在实际应用中,可能会加入正则化项来约束模型复杂度并防止过拟合。
到此这篇sigmoid函数和logistic(sigmoid函数和logistic一样吗)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/26783.html