2025-06-17 | 费曼学徒冬瓜 | 暴拆逻辑回归: 它既没有逻辑, 也不是回归

逻辑回归算法拆解:从线性模型到概率输出

媒体详情

上传日期
2025-06-17 11:28
来源
https://www.bilibili.com/video/BV1rFNbzCEp2/
处理状态
已完成
转录状态
已完成
Latest LLM Model
gemini-2.5-pro-preview-06-05

转录

下载为TXT
speaker 1: 众所周知,逻辑回归是个二分类算法。 所谓二分类是指给定一份样本,这份样本有X 1、X 2、X三等多个特征,每个样本都标注了是属于正样本还是负样本。 通常正样本用一表示,负样本用零表示。 至于哪一类是正样本,哪一类是负样本,这个看你开心,没有强制要求。 一般来说把你关注的那个类别定义为正样本。 比如对于垃圾邮件分类,垃圾邮件就是正样本,但是对于猫狗分类,那谁正谁负无所谓,反正一个擅长的菜家,一个永远勾冷都不省心。 为了方便讲解,我们保留两个特征就好。 我们的问题是如何根据这些特征识别正负样本呢? 逻辑回归的做法是把这些样本点放置在一个由特征构成的几何空间里面。 然后他试图找到一个分界线来区分正负样本。 在二维空间这条分界线就是一条直线。 在三维空间也就是说有三个特征的时候,这条分界线是一个平面。 如果特征更多呢? 对不起,作为三维空间的生命体,我们实在想象不出更高维的空间是什么形状。 但是无论维度有多高,我们都统一称这条分界线为超平面。 在这个案例中,超平面的数学表达式可以这么写,X是指特征,W和B是参数。 所以我们的任务是求出所有的参数,这样就得到了建模的结果。 哎,不对,有没有发现一个问题,读书多的朋友可能看出来了,这是线性回归的表达式,算出来的是一个负无穷到正无穷的数值。 但我们要做的是取值只有0和1的分类任务啊,你用做回归的公式来做分类任务,那不就相当于把牛头按在了马嘴上了吗? 这啊主播要不懂装懂啊,回去再练练数学和普通话吧,这个容我狡辩一下啊,不是我瞎掰呀。 逻辑回归算法本身就有回归两个字,那么为什么明明做分类的算法却要取名叫回归呢? 那不是挂羊头卖狗肉误导人吗? 就好比是香菜,明明那么臭,却取名叫香菜,而臭豆腐明明那么香,却要叫臭豆腐。 恭喜你触及了逻辑回归最核心的本质。 一般来说,狭义的线性违规的确是只能解决连续值预测的问题,这时候目标变量符合正态分布。 但还有个广义的线性回归,它允许目标变量有不一样的分布。 它可以将线性预测值和目标变量的期望通过不同的连接函数关联起来,从而实现对不同分布的目标变量的预测。 比如不管什么样的分布,我们假设目标变量的期望是命。 当目标变量是正态分布时,不需要额外的连接函数。 当目标变量是补充分布时,连接函数是这个。 当目标变量是不努力分布时,连接函数是这个。 到这里是不是有点不太好理解? 来举个例子,假设你开了一家服装店,要预测销售额、进店客户数、客户购买意愿分别应该用什么分布呢? 销售额是连续值,比较符合正态分布,直接用这个表达式。 进店客户数是离散的数据,符合泊松分布,应该用这个表达式购买意愿包含买和不买,可以用不努力分布选择这个表达式。 那么你应该发现了逻辑回归是个二分类问题,单个样本要么是一要么是零,属于不努力分布。 所以对逻辑回归来说,连接函数是这个最后是这个表达式。 总而言之,只要一个连接函数就可以让你将线性表达式的头按在二分类的嘴上。 如果你有点统计学基础,应该知道伯努力分布的期望是事件一发生的概率,也就是正样本发生的概率。 假设这个概率是P那么缪就等于P于是这个公式可以写成这样,可能有人要打破砂锅问,到底为什么伯努利的连接函数是这个呢? 这位学霸,我建议你不要问,你问了我也不会答。 大家来B站主要是吃着火锅唱着歌顺便再学点东西的。 这次课程的公式已经多到我头皮发麻了,在深入讲解完播率要进一步凉凉了,如果有兴趣直接向迪提问吧,目前你只要记住这个结论就好了,不理解没关系,会用就好。 问题不大,就好比是学开车,会开就行,不必知道发动机的原理。 回到这个公司,我们做一下公司变化。 接下来是见证奇迹的时刻,隐藏掉这一坨,专注后面这一个左右,取指数消除对数左右乘以1减P展开括号合并,同类项提取出批。 了解逻辑回归的同学是不是发现熟人呢? 这个公式不就是逢逻辑回归必讲的西格玛函数吗? 几乎所有介绍逻辑回归的材料都会提到,通过西格玛函数可以将线性回归的结果缩放到0到1,表示正量本发生的概率。 但是很少有人告诉你为什么为什么是西格玛函数? 为什么西格玛转化之后就是概率呢? 总不能因为结果是缩放到0到1,就说这是概率吧。 现在你明白了吧? 这不是人为定义的,只是广义线性回归框架下严谨数学推导的结果。 逻辑回归和西格姆函数这段因元是天定的,有了这个正样本的概率表达式,我们就能够进行二分类了。 通过给正样本的概率P设定一个阈值来划分正负样本。 比如设定阈值是0.5,当P于大于0.5时候就判定为正类,否则就判定为负类。 前面说了这个超平面其实是P等于0.5的时候的决策边界。 当然说句题外话,我从来没用过0.5做阈值,并且也几乎可以说。 但凡是直接用0.5做阈值的,基本上是不太了解底层逻辑,只会照本宣科的。 这个以后再说。 那么逻辑回归最本质的问题我们已经讲完了,这里的关键是这个连接函数,这个P除以一减P是正负样本的概率之比,叫做集率,这也是逻辑回归构建评分卡的关键角色。 感觉几律这个翻译也很奇怪,有些书里翻译为优势比,我觉得这个反而更好理解。 优势比越大,正负样本的比值越大,正样本判定的信心也就越高。 也就是优势越大听起来是不是更合理一点,不管它呢就叫几率吧,几率取对数之后叫做对数几率。 也就是说我们实际是用线性回归的预测结果去逼近真实标记的对数几率,这个模型应该叫做对数几率回归模型。 英文叫做logistical regression,这里logistical被翻译成逻辑是不太符合实际的。 逻辑回归其实是个错误的翻译。 但是正所谓谎言被重复一千遍就成了真理。 现在大家已经习惯了这个叫法,能用就行,问题不大。 但是有些改变我永远不会接受。 比如说把坐骑改为坐骑,我是万万不能接受的这是我作一个90后最后的倔强。 言归正传,还记得我们一开始要干嘛吗? 我们要算出这个表达式的参数,要计算出参数,关键是要找出一个需要求解的问题。 先要有问题可解才能讨论要怎么解。 接下来我们要用极大示量法来列出这个求解问题。 首先我们已经知道了正样本的概率是这个,副样本的概率是这个。 那么对于给定的样本,不论是正样本还是负样本,都可以统一用这个表达式来表达。 如果不理解的话,不妨把Y 等于1和Y 等于0分别带进去。 比如当Y 等于1时。 两者一致,当Y 等于0.
speaker 2: 时。
speaker 1: 还是一致。 统一的写法有助于我们后续做数学上的推导。 有了这个概率表达式,我们就可以用极大示然估计法来列出求解目标了。 那么什么叫极大示然法? 来举个例子,你先不管实际的参数是多少,假设我给你三组参数,每组参数带入这个公式都可以得到每个样本的概率。 比如第一组可能是这个,对于第二第三组分别是这个。 好,现在请问哪组参数最有可能是准确的结果? 你会选择哪一个? 我会选择第二组,为什么? 因对通常情况下每个样本是相互独立的,所以出现这两个样本的概率是两者的概率相乘。 那么三组参数对应的结果分别是在第二组参数下,当前这组样本出现的概率是最大的。 在众多可能的参数中,我们选择使当前样本出现概率最大的量阻参数。 这就是集大自然估计法。 它的核心思想是,既然这些数据已经真实发生了,那么最有可能导致这个数据发生的那个参数值就是对未知参数最好的估计。 这听起来也很符合逻辑。
speaker 2: 好比播放此时此刻这段播音员的录音。 然后问你这段稿子最有可能是下述谁念的。
speaker 1: 你会选谁? 你肯定选出最有可能念出这段的人,也就是顺便说一下,释然和概率是一对堂兄弟。 概率是指在参数确定的情况下,计算数据出现的可能性,自然是给定某些数据评估参数的可信度。 根据极大自然估计法,我们要列出这些样本发生的概率,然后将这个概率最大化,这就是我们要求解的问题。 回到这个公式,这图太大了,我们标记为A那么副样本的概率就等于1减A假设有N个样本,列出这些样本的概率表达式,这样这批样本发生的概率等于所有概率相乘,可以写成这个公式。 我们的目标不是求得这个的最大值,而是求出当这个值最大值对应的参数W和B接下来有两个数学技巧,由于连乘计算复杂且容易下意接近0,我们在前面加个log,这样就把乘法问题变成加法问题,更好计算。 这个公式很简单,我们就不展开了,大家自己查一下。 有人可能会好奇为啥能随便加log? 因为log是严格的单调递增函数,最大化它就等于最大化它。 其次我们是不喜欢求最大值的,我们喜欢求最小值。 因为最小值可以用我们熟悉的梯度下降算法来求解,也很简单,在前面加个负号,这样我们就把最大化问题变成最小化问题。 有些懂行的朋友可能一眼就认出来了,这不就是逻辑回归的损失函数吗? 殊途同归的。 可以说目前表达式是这样,我们的目标是最小化。 这个接下来就是常规的操作了,梯度下降法正式登场,仍然是熟悉的套路,熟悉的配方,我们就不多说了。 到这里我们已经把逻辑回归算法的核心讲完了,总结一下。 为了完成二分类任务,我们需要在特征空间找到一个超平面。 这个超平面的表达式是通过西格玛函数,我们可以得到正样本的概率表达式。 并且根据极大自然估计法建立了求解W参数的最小优化问题。 接下来用常见的梯度下降法,在多次训练中不断的调整W和B的取值,训练完成之后就可以得到参数的结果,这样我们就得到了逻辑回归模型的建模结果。 最后我们推导一下梯度的计算方法,在我看来公式推导是乏味的,我就不多说了,做个动画,有兴趣的自己看。 为了给大家增加一点趣味,让我来一首我最喜欢的配乐。

最新摘要 (详细摘要)

生成于 2025-06-17 11:30

概览/核心摘要 (Executive Summary)

本次内容核心在于深入剖析逻辑回归算法的本质,纠正其名称带来的普遍误解,并详细阐述其数学原理。主讲人(speaker 1)强调,逻辑回归名为“回归”,实则为二分类算法;其名称中的“逻辑”也并非指逻辑运算,而是源于“logistical”一词的翻译。核心观点认为,逻辑回归应更准确地理解为“对数几率回归”。

内容首先指出逻辑回归使用线性回归的表达式 WX + B 来处理分类任务的矛盾,并引入广义线性模型(GLM)作为解释框架。在GLM下,逻辑回归的目标变量(0或1)服从伯努利分布,其连接函数为对数几率函数 log(P/(1-P))。通过数学推导,从此连接函数自然得到Sigmoid函数,该函数将线性输出映射到(0,1)区间,代表正样本的概率P,而非人为设定。

参数求解采用极大似然估计法(MLE),即寻找一组参数W和B,使得当前观测样本出现的联合概率最大。为简化计算,将连乘的似然函数通过取对数转化为对数似然函数(连加形式),再通过取负号将最大化问题转化为最小化问题,从而得到逻辑回归的损失函数。最终,使用梯度下降等优化算法求解该最小化问题,得到模型参数。主讲人还提及,阈值的选择(如0.5)不应盲目,实际应用需更细致考量。

逻辑回归的核心误解与正名

Speaker 1开篇点明逻辑回归是二分类算法,通过特征(如X1, X2)将样本分为正(1)或负(0)两类。其核心在于找到一个超平面(二维空间中为直线,三维为平面)来区分样本。

  • 名称的误导性
    • 逻辑回归的数学表达式初步呈现为 WX + B,这与线性回归的表达式一致,但线性回归输出连续值,而逻辑回归目标是离散的0或1分类。主讲人形象地比喻为“把牛头按在了马嘴上”。
    • 主讲人认为“逻辑回归”这一名称具有误导性,类似于“香菜明明那么臭,却取名叫香菜,而臭豆腐明明那么香,却要叫臭豆腐”。
    • 更准确的名称应为对数几率回归 (logistical regression)。当前“逻辑回归”的叫法是“谎言被重复一千遍就成了真理”的结果。

广义线性模型:理解逻辑回归的关键

Speaker 1解释,逻辑回归之所以能用线性表达式处理分类问题,关键在于广义线性模型 (Generalized Linear Models, GLM)

  • 狭义线性回归:目标变量符合正态分布。
  • 广义线性回归:允许目标变量有不同分布,通过连接函数将线性预测值与目标变量的期望关联。
    • 目标变量期望为 μ。
    • 不同分布与连接函数示例
      • 正态分布:μ = WX + B (无需额外连接函数,或称恒等连接函数)。
      • 泊松分布:log(μ) = WX + B (连接函数为对数函数)。
      • 伯努利分布:log(μ / (1-μ)) = WX + B (连接函数为logit函数/对数几率函数)。
  • 逻辑回归与伯努利分布
    • 逻辑回归的二分类问题中,单个样本结果(0或1)符合伯努利分布。
    • 伯努利分布的期望 μ 等于事件1(正样本)发生的概率 P。
    • 因此,逻辑回归的连接函数为 log(P / (1-P)) = WX + B
    • 主讲人强调,对于“为什么伯努利的连接函数是这个”,建议听众“目前你只要记住这个结论就好了,不理解没关系,会用就好”,以避免课程过于深入导致完播率下降。

Sigmoid函数的由来:从伯努利分布到概率输出

通过对逻辑回归的连接函数 log(P / (1-P)) = WX + B 进行数学变换,可以推导出正样本概率P的表达式。

  1. log(P / (1-P)) = WX + B
  2. 两边取指数:P / (1-P) = exp(WX + B)
  3. A = exp(WX + B),则 P = A * (1-P)
  4. P = A - A*P
  5. P * (1+A) = A
  6. P = A / (1+A)
  7. 代回 A = exp(WX + B)P = exp(WX + B) / (1 + exp(WX + B))
  8. 分子分母同除以 exp(WX + B)P = 1 / (exp(-(WX + B)) + 1),即 P = 1 / (1 + exp(-(WX + B)))

  9. 这个推导出的公式正是Sigmoid函数

  10. 主讲人强调:“这不是人为定义的,只是广义线性回归框架下严谨数学推导的结果。逻辑回归和西格姆函数这段姻缘是天定的。”
  11. Sigmoid函数将线性回归的结果 WX + B(取值范围为负无穷到正无穷)缩放到 (0,1) 区间,这个结果即为正样本发生的概率P。
  12. 决策边界与阈值
    • 通过设定概率P的阈值(如0.5)来划分正负样本。当P > 0.5时为正类,否则为负类。
    • 超平面 WX + B = 0 实际上对应 P = 0.5 时的决策边界。
    • Speaker 1 提出一个观点:“我从来没用过0.5做阈值,并且也几乎可以说,但凡是直接用0.5做阈值的,基本上是不太了解底层逻辑,只会照本宣科的。”

几率 (Odds) 与对数几率 (Log-Odds)

  • 表达式 P / (1-P) 被称为几率 (Odds),代表正样本概率与负样本概率之比。
    • 主讲人提到,有些书翻译为“优势比”,认为这个翻译“反而更好理解”。优势比越大,判定为正样本的信心越高。
  • 几率取对数后,log(P / (1-P)),称为对数几率 (Log-Odds)
  • 因此,逻辑回归实际上是用线性回归的预测结果 WX + B 去逼近真实标记的对数几率

参数求解:极大似然估计法 (Maximum Likelihood Estimation, MLE)

目标是求解超平面表达式 WX + B 中的参数W和B。

  • 统一概率表达式
    • 正样本 (y=1) 的概率:P
    • 负样本 (y=0) 的概率:1-P
    • 对于给定样本 (x_i, y_i),其发生的概率可以统一表示为:P(y_i | x_i) = P_i^(y_i) * (1-P_i)^(1-y_i)
      • y_i = 1 时,表达式为 P_i^1 * (1-P_i)^0 = P_i
      • y_i = 0 时,表达式为 P_i^0 * (1-P_i)^1 = 1-P_i
  • 极大似然估计法思想
    • 既然这些数据已经真实发生了,那么最有可能导致这个数据发生的那个参数值就是对未知参数最好的估计。
    • 选择一组参数,使得当前这组观测样本出现的联合概率最大。
    • 主讲人举例:给定三组参数,分别计算出样本出现的概率,选择使整体样本出现概率最大的那组参数。
    • 似然 vs 概率
      • 概率:参数确定,计算数据出现的可能性。
      • 似然:数据给定,评估参数的可信度。
  • 似然函数
    • 假设有N个独立同分布的样本,这批样本发生的总概率(即似然函数 L)等于所有单个样本概率的乘积:
      L(W, B) = Π [P_i^(y_i) * (1-P_i)^(1-y_i)] (从 i=1 到 N)
      其中 P_i = 1 / (1 + exp(-(W*x_i + B)))

优化目标:损失函数与梯度下降

直接最大化似然函数 L(连乘形式)在计算上复杂且容易出现下溢(结果接近0)。

  • 对数似然函数 (Log-Likelihood)
    • 对似然函数 L 取对数,将连乘运算转化为连加运算:
      log L(W, B) = Σ [y_i * log(P_i) + (1-y_i) * log(1-P_i)] (从 i=1 到 N)
    • 由于log函数是单调递增函数,最大化 log L 等价于最大化 L
  • 损失函数 (最小化问题)
    • 通常优化算法(如梯度下降)用于求解最小值问题。
    • 在对数似然函数前加负号,将最大化问题转化为最小化问题。这个结果即为逻辑回归的损失函数 J(W,B)
      J(W, B) = - Σ [y_i * log(P_i) + (1-y_i) * log(1-P_i)]
    • 主讲人指出:“这不就是逻辑回归的损失函数吗?殊途同归的。”
  • 梯度下降法
    • 目标是最小化损失函数 J(W,B)。
    • 通过梯度下降法,在多次训练中不断调整W和B的取值,直至找到使损失函数最小的参数。
    • 主讲人表示梯度的具体计算方法推导较为乏味,未详细展开,仅以动画形式展示。

核心观点总结

Speaker 1总结了逻辑回归的建模过程:
1. 任务定义:为了完成二分类任务,需要在特征空间找到一个超平面 WX + B = 0
2. 概率转换:通过Sigmoid函数 P = 1 / (1 + exp(-(WX + B))),将线性输出转换为正样本的概率表达式。
3. 优化问题建立:根据极大似然估计法,建立了求解参数W和B的最小化优化问题(即最小化负对数似然损失函数)。
4. 参数求解:使用常见的梯度下降法,在多次训练中不断调整W和B的取值。
5. 模型获得:训练完成后,得到参数W和B的结果,即逻辑回归模型的建模结果。

最终,主讲人强调逻辑回归的本质是利用线性模型去逼近真实标记的对数几率,其核心在于广义线性模型的框架、伯努利分布的假设、对数几率连接函数以及由此推导出的Sigmoid函数和基于极大似然估计的参数求解方法。