文章目录
- 一、什么是逻辑回归
- [二、 逻辑回归应用场景](#二、 逻辑回归应用场景)
- 三、逻辑回归损失函数
-
- 详细描述逻辑回归的损失函数
- 怎么推导出最终的损失函数?
- 一句话总结
- [β T x \beta^T x βTx,是怎样相乘的?](#β T x \beta^T x βTx,是怎样相乘的?)
- [1 − P ( y = 1 ∣ x ; β ) 1− P(y=1|x;\beta) 1−P(y=1∣x;β) 这个1减去模型预测为正类的概率,则为反类的概率 ?](#1 − P ( y = 1 ∣ x ; β ) 1− P(y=1|x;\beta) 1−P(y=1∣x;β) 这个1减去模型预测为正类的概率,则为反类的概率 ?)
- 从「单个样本的概率」一步步推导出逻辑回归损失函数的完整过程
- L(β)是什么意思
- n个样本是每个样本都是固定的了?和抛硬币7正3反不一样,它可能有多种组合情况?
- [加个负号就变成了 min−logL(β),为啥要加负号?](#加个负号就变成了 min−logL(β),为啥要加负号?)
- 对数函数图像
- 损失函数的梯度
-
- [这里 X X X是 n × ( d + 1 ) n×(d+1) n×(d+1)的样本矩阵,是什么意思](#这里 X X X是 n × ( d + 1 ) n×(d+1) n×(d+1)的样本矩阵,是什么意思)
- [可以写成 1 1 + e − X β \frac{1}{1+e^{-X\beta}} 1+e−Xβ1的形式吗?相当于给Xβ中的每个元素都加上一个sigmod函数体吗?](#可以写成 1 1 + e − X β \frac{1}{1+e^{-X\beta}} 1+e−Xβ1的形式吗?相当于给Xβ中的每个元素都加上一个sigmod函数体吗?)
- 均方差的损失函数都是正数,形状是一个下凸的碗型,这里的逻辑回归的损失函数始终都是负值,它的形状是什么样的?
- [公式前的 − 1 n - \frac{1}{n} −n1这个进行了抵消后,累加后的逻辑回归损失函数值还是正值是吗?](#公式前的 − 1 n - \frac{1}{n} −n1这个进行了抵消后,累加后的逻辑回归损失函数值还是正值是吗?)
- [为啥规定y=1时,是这个公式 P ( y = 1 ∣ x ; β ) = 1 1 + e − ( β T x ) P(y=1|x;\beta) = \frac{1}{1+e^{-(\beta^T x)}} P(y=1∣x;β)=1+e−(βTx)1,而不是y=0时是这个公式](#为啥规定y=1时,是这个公式 P ( y = 1 ∣ x ; β ) = 1 1 + e − ( β T x ) P(y=1|x;\beta) = \frac{1}{1+e{-(\betaT x)}} P(y=1∣x;β)=1+e−(βTx)1,而不是y=0时是这个公式)
一、什么是逻辑回归
逻辑回归(Logistic Regression)是一种用于解决分类问题的统计方法,尤其适用于二分类问题 。尽管名称中有"回归",但它主要用于分类任务。
逻辑回归通过将线性回归的输出映射到0,1区间,来表示某个类别的概率 。
常用的映射函数是sigmoid函数: f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+e−x1,其导数 f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f'(x)=f(x)(1-f(x)) f′(x)=f(x)(1−f(x))。
sigmoid函数图像如下:

从上方sigmoid函数的图像上看,此函数是单调递增,处处可导,横轴x的取值范围是 − ∞ , + ∞ -\\infty, +\\infty −∞,+∞,而纵轴y的取值范围 ( 0 , 1 ) (0,1) (0,1)。
故横轴表示为线性回归输出结果,纵轴表示为类别的概率。
逻辑回归结果可表示为:
P ( y = 1 ∣ x ) = 1 1 + e − ( β 0 + β 1 x 1 + β 2 x 2 + ... + β n x n ) P(y=1|x) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \beta_2 x_2 + \ldots + \beta_n x_n)}} P(y=1∣x)=1+e−(β0+β1x1+β2x2+...+βnxn)1
其中 β 0 + β 1 x 1 + β 2 x 2 + ... + β n x n \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \ldots + \beta_n x_n β0+β1x1+β2x2+...+βnxn 为线性回归输出结果, P ( y = 1 ∣ x ; β ) P(y=1 \mid x; \beta) P(y=1∣x;β) 表示输出为1类的概率。根据逻辑回归结果和阈值来确认最终预测结果,若逻辑回归结果大于阈值则输出为1类,反之输出为0类。

二、 逻辑回归应用场景
- 信用评分:预测客户是否会违约(违约/不违约)。
- 欺诈检测:预测某笔交易是否是欺诈行为。
- 垃圾邮件检测:预测一封邮件是否是垃圾邮件(垃圾邮件/非垃圾邮件)。
- 广告点击预测:预测用户是否会点击某个广告(点击/不点击)。
- 图像分类:将图像分类为不同的类别(如猫、狗、鸟等)。
- 情感分析:将文本分类为正面、负面或中性情感。
- 产品质量分类:预测产品是否合格。
- 医学诊断:预测患者是否患有某种疾病(患病/未患病)。
- 蛋白质功能预测:基于蛋白质序列和结构特征预测其功能类别。
三、逻辑回归损失函数
逻辑回归的损失函数通常使用对数损失(Log Loss),也称为二元交叉熵损失 (Binary Cross-Entropy Loss),用于衡量模型输出的概率分布与真实标签之间的差距。逻辑回归的损失函数来源于最大似然估计(MLE)。
P(Y|X;β)表示给定输入特征 x x x和模型参数 β时,因变量 y y y发生的概率:
P ( y = 1 ∣ x ; β ) = 1 1 + e − ( β T x ) P ( y = 0 ∣ x ; β ) = 1 − P ( y = 1 ∣ x ; β ) = 1 − 1 1 + e − ( β T x ) } → 整合 P ( y ∣ x ; β ) \left. \begin{aligned} P(y=1|x;\beta) &= \frac{1}{1+e^{-(\beta^T x)}} \\ P(y=0|x;\beta) &= 1-P(y=1|x;\beta) = 1-\frac{1}{1+e^{-(\beta^T x)}} \end{aligned} \right\} \xrightarrow{\text{整合}} P(y|x;\beta) P(y=1∣x;β)P(y=0∣x;β)=1+e−(βTx)1=1−P(y=1∣x;β)=1−1+e−(βTx)1⎭ ⎬ ⎫整合 P(y∣x;β)
P ( y ∣ x ; β ) = P ( y = 1 ∣ x ; β ) y ( 1 − P ( y = 1 ∣ x ; β ) ) 1 − y = ( 1 1 + e − ( β T x ) ) y ( 1 − 1 1 + e − ( β T x ) ) 1 − y \begin{aligned} P(y|x;\beta) &= P(y=1|x;\beta)^y \big(1-P(y=1|x;\beta)\big)^{1-y} \\ &= \left( \frac{1}{1+e^{-(\beta^T x)}} \right)^y \left( 1-\frac{1}{1+e^{-(\beta^T x)}} \right)^{1-y} \end{aligned} P(y∣x;β)=P(y=1∣x;β)y(1−P(y=1∣x;β))1−y=(1+e−(βTx)1)y(1−1+e−(βTx)1)1−y
似然函数L( β β β)表示已知 y y y的结果,此时模型参数为 β β β的概率:
对于 1 个样本:
L ( β ) = P ( y ∣ x ; β ) = P ( y = 1 ∣ x ; β ) y ( 1 − P ( y = 1 ∣ x ; β ) ) 1 − y L(\beta) = P(y|x;\beta) = P(y=1|x;\beta)^y \big(1-P(y=1|x;\beta)\big)^{1-y} L(β)=P(y∣x;β)=P(y=1∣x;β)y(1−P(y=1∣x;β))1−y
对于 n n n 个样本:
L ( β ) = ∏ i = 1 n P ( y i ∣ x i ; β ) = ∏ i = 1 n P ( y i = 1 ∣ x i ; β ) y i ( 1 − P ( y i = 1 ∣ x i ; β ) ) 1 − y i L(\beta) = \prod_{i=1}^n P(y_i|x_i;\beta) = \prod_{i=1}^n P(y_i=1|x_i;\beta)^{y_i} \big(1-P(y_i=1|x_i;\beta)\big)^{1-y_i} L(β)=i=1∏nP(yi∣xi;β)=i=1∏nP(yi=1∣xi;β)yi(1−P(yi=1∣xi;β))1−yi
取对数似然:
log L ( β ) = ∑ i = 1 n ( y i log P ( y i = 1 ∣ x i ; β ) + ( 1 − y i ) log ( 1 − P ( y i = 1 ∣ x i ; β ) ) ) \log L(\beta) = \sum_{i=1}^n \Big(y_i\log P(y_i=1|x_i;\beta)+(1-y_i)\log\big(1-P(y_i=1|x_i;\beta)\big)\Big) logL(β)=i=1∑n(yilogP(yi=1∣xi;β)+(1−yi)log(1−P(yi=1∣xi;β)))
拟合的过程就是求解似然函数的最大值,为了方便优化,令损失函数
L o s s = − 1 n log L ( β ) = − 1 n ∑ i = 1 n ( y i log P ( y i = 1 ∣ x i ; β ) + ( 1 − y i ) log ( 1 − P ( y i = 1 ∣ x i ; β ) ) ) \begin{aligned} Loss &= -\frac1n \log L(\beta) \\ &= -\frac1n\sum_{i=1}^n \Big(y_i\log P(y_i=1|x_i;\beta)+(1-y_i)\log\big(1-P(y_i=1|x_i;\beta)\big)\Big) \end{aligned} Loss=−n1logL(β)=−n1i=1∑n(yilogP(yi=1∣xi;β)+(1−yi)log(1−P(yi=1∣xi;β)))
来求解损失函数的最小值。
详细描述逻辑回归的损失函数





怎么推导出最终的损失函数?


一句话总结

β T x \beta^T x βTx,是怎样相乘的?







1 − P ( y = 1 ∣ x ; β ) 1− P(y=1|x;\beta) 1−P(y=1∣x;β) 这个1减去模型预测为正类的概率,则为反类的概率 ?


从「单个样本的概率」一步步推导出逻辑回归损失函数的完整过程






L(β)是什么意思








n个样本是每个样本都是固定的了?和抛硬币7正3反不一样,它可能有多种组合情况?





加个负号就变成了 min−logL(β),为啥要加负号?




对数函数图像

通过图像可以看到,损失函数中的加了负号后,我们只橘红色的那条对数函数图像,图像上的x轴的0,1区间对应就是"模型给出的它是真实数据的概率"。在训练过程中,当概率越接近1时,表示此时模型给出的它是真实数据的概率越高,对应的损失y轴上的值也就越小。相反,当概率越接近0时,模型给出的它是真实数据的概率越低,对应的损失y轴上的值也就越大。
它是真实数据:指的就是当前某个样本对应的实际目标值。
损失函数的梯度









这里 X X X是 n × ( d + 1 ) n×(d+1) n×(d+1)的样本矩阵,是什么意思





可以写成 1 1 + e − X β \frac{1}{1+e^{-X\beta}} 1+e−Xβ1的形式吗?相当于给Xβ中的每个元素都加上一个sigmod函数体吗?



均方差的损失函数都是正数,形状是一个下凸的碗型,这里的逻辑回归的损失函数始终都是负值,它的形状是什么样的?






公式前的 − 1 n - \frac{1}{n} −n1这个进行了抵消后,累加后的逻辑回归损失函数值还是正值是吗?






为啥规定y=1时,是这个公式 P ( y = 1 ∣ x ; β ) = 1 1 + e − ( β T x ) P(y=1|x;\beta) = \frac{1}{1+e^{-(\beta^T x)}} P(y=1∣x;β)=1+e−(βTx)1,而不是y=0时是这个公式





