P(D|θ)
- 一、前言
- 二、逻辑回归的由来
- 三、到底什么是逻辑回归
- (1). 先对逻辑回归有个大概感觉
- (2).逻辑回归与线性回归的区别
- (3).sigmoid函数
- (4)目标函数:似然函数
- (4)问题转化(让问题简单起来)
- (5)逻辑回归的目标函数,代价函数,损失函数
- (6)为什么这么问题转化
(7)使用梯度下降来计算求解- 1. 什么是交叉熵损失函数
- 2. 梯度下降
- 3. 计算公式
- 四、逻辑回归优缺点
- 五、参考文献
一、前言
逻辑回归,看似容易,学习起来真的是挺复杂,涉及的东西挺多。越是学习越觉得盲区越多。遂,先懂是什么,接着联系实践,至于更深层理论,以后慢慢学习。
二、逻辑回归的由来
逻辑回归是由19世纪末到20世纪初的数学家皮尔斯(Charles Sanders Peirce)和逻辑学家沃德(John Ward)提出的。最初,逻辑回归被用于预测二元事件(即成功或失败,真或假等)。它使用线性回归模型
来建立一个分类器
,并将输出映射到概率值
(也称为“sigmoid函数”)。逻辑回归算法可以通过对数据进行拟合,找到一组最优参数,从而得到一个能够准确分类新数据的模型。
随着时间的推移,逻辑回归在诸如医学、金融、社会科学等领域中得到了广泛应用。
三、到底什么是逻辑回归
(1). 先对逻辑回归有个大概感觉
- 逻辑回归的本质是利用
数学模型对数据进行建模
,从而实现分类任务
。具体来说,逻辑回归通过构建一个线性模型
,并将输出映射到概率值
,来对输入数据进行分类。 - 在训练阶段,逻辑回归使用
交叉熵损失函数
来衡量模型预测结果与真实结果之间的差异
,并利用梯度下降等优化算法
调整模型参数,使得损失函数最小化。最终,我们可以得到一个能够准确分类新数据的逻辑回归模型。 - 逻辑回归的本质不仅是一个
分类器
,同时也是一种推断方法。它的特点在于能够输出概率值,可以用于判断类别之间的相对可能性,还可以通过改变输出阈值来调整分类结果的灵敏度。
(2).逻辑回归与线性回归的区别
逻辑回归和线性回归都是常见的机器学习算法,但是它们的应用场景、模型假设、损失函数等方面存在很大区别。
线性回归
是用于建立输入特征和连续目标变量之间的关系模型。它假设输入特征与目标变量之间存在线性关系,并使用最小二乘法等方法
来尽可能地拟合数据点。而逻辑回归
是用于建立输入特征和离散目标变量之间的关系模型。它假设输入特征与目标变量之间存在一种非线性的关系,我们需要通过对数据进行拟合,找到最优的参数来构建一个分类器
。- 两者的
模型假设
也不同。线性回归认为目标变量的误差服从正态分布
,即在给定输入特征时,目标变量
服从均值为 θ T x \theta^Tx θTx的正态分布
;而逻辑回归
假设目标变量
服从伯努利分布
,即当输入特征为 x 时,目标变量为1
或0
的概率分别为 h θ ( x ) - 它们的
损失函数
也不同。线性回归通常使用平方损失函数
衡量预测结果与真实值之间的差距;而逻辑回归通常使用交叉熵损失函数
来衡量模型预测结果与真实结果之间的差异。
(3).sigmoid函数
为什么要说下这个函数:
- sigmoid函数是
逻辑回归算法的核心之一
,它将线性预测输出映射到概率值。具体来说,sigmoid函数可以将任何实数映射到区间(0, 1)
内的一个概率值,
其公式为: h θ ( x ) = 1 1 + e − θ T x 。 - 在逻辑回归中,我们使用sigmoid函数
将线性预测
转换为概率值
,并将这些概率值作为目标变量为1
的概率估计。例如,当sigmoid函数的输出值为0.8
时,代表模型预测输入 x 属于第一类别的概率为0.8,属于第二类别的概率为0.2。 - 在模型训练过程中,我们通过
最大化似然函数
或最小化交叉熵损失函数
来学习逻辑回归模型参数,从而得到一个能够准确分类新数据的模型。sigmoid函数的使用使得模型能够输出概率值,同时也保证了输出结果的可导性,方便利用梯度下降等优化算法
进行模型训练。
因此
:学习逻辑回归之前,绕不开这个函数。
通过代码实现
就是:
import numpy as np
import matplotlib.pyplot as plt
def sigmoid(z):
return 1. / (1. + np.exp(-z))
#画出sigmoid函数图像
x = np.linspace(-10,10,100)
y = sigmoid(x)
plt.plot(x,y)
plt.title("sigmoid函数图像")
plt.show()
参数说明:z
是一个矩阵,θ
是参数列向量(要求解的),x
是样本列向量(给定的数据集)。θ^T表示θ的转置。g(z)
函数实现了任意实数到[0,1]
的映射,这样我们的数据集([x0,x1,…,xn]),不管是大于1或者小于0,都可以映射到[0,1]区间进行分类。hθ(x)
给出了输出为1的概率。比如当hθ(x)=0.7
,那么说明有70%
的概率输出为1
。输出为0的概率是输出为1的补集,也就是30%。
(4)目标函数:似然函数
在(3)里面有介绍到:sigmoid函数是一种常用的激活函数,它将任何实数
映射到区间(0, 1)
内的一个概率值
。sigmoid函数的运算结果
就是这个概率值
。
具体来说,sigmoid函数的公式为: h ( x ) = 1 1 + e − x 。当输入 x 为任意实数时,sigmoid函数会将其转换为一个介于0和1之间的概率值,表示在当前条件下事件发生的可能性大小。例如,当sigmoid函数的输入值为5时,其输出值为0.9933,代表事件发生的概率相对较大。而当sigmoid函数的输入值为-5时,其输出值为0.0067,代表事件发生的概率相对较小
而且
:
(5)逻辑回归的目标函数,代价函数,损失函数
四、逻辑回归优缺点
逻辑回归是一种经典的分类算法,其优缺点如下:
优点
:
-
简单易懂:逻辑回归是一种简单且易于理解的算法,不需要复杂的数学知识,在实际应用中得到了广泛的应用。
-
计算效率高:逻辑回归模型的训练和预测速度都很快,适合处理大规模数据。
-
可解释性强:逻辑回归模型能够给出每个特征的权重,可以解释变量之间的关系。
-
适用范围广:逻辑回归可以处理二分类问题,也可以通过一些技巧将其扩展到多分类问题上。
-
鲁棒性好:逻辑回归对异常值的鲁棒性较好,不会对模型产生很大影响。
缺点
:
-
假设线性可分:逻辑回归假设样本数据是线性可分的,即可以通过一条直线或超平面进行分类。如果数据集非线性可分,则逻辑回归表现会比较差。
-
容易欠拟合:当特征之间相关性较强或特征数量很多时,逻辑回归容易出现欠拟合问题。
-
不能很好地处理大量特征:当特征数量非常大时,逻辑回归需要更多的计算资源和训练时间。
-
对缺失值敏感:如果数据集存在缺失值或异常值,会影响逻辑回归模型的性能。
总结
:
这个学习起来还是挺复杂的,先有个大概认知,明天敲一敲代码,梳理下里面逻辑
五、参考文献
[1].https://blog.csdn.net/iqdutao/article/details/109478633
[2].https://blog.csdn.net/iqdutao/article/details/107174240
[3].https://blog.csdn.net/lgb_love/article/details/80592147
[4].https://blog.csdn.net/c406495762/article/details/77723333
[5].https://zhuanlan.zhihu.com/p/128102048
[6].https://zhuanlan.zhihu.com/p/74874291
评论(0)
您还未登录,请登录后发表或查看评论