机器学习面试题:逻辑回归Logistic Regression(LR)

题目

(1)简述一下什么是逻辑回归Logistic Regression(LR);

(2)推导逻辑回归Logistic Regression(LR)的梯度表达式;

(3)在Logistic Regression(LR)里有两个特征,分别是前的权重参数分别是,而且。现在对LR加入L2正则,则模型优化后,推导参数的关系;

解答

(1)

逻辑回归 虽然名字里带有"回归",但它实际上是一种解决分类问题 (尤其是二分类)的经典机器学习算法。它的核心思想是:通过一个逻辑函数(Sigmoid函数),将线性回归的预测结果映射到0和1之间,从而得到某个样本属于特定类别的概率。

1.核心思想与工作原理
  1. 从线性回归出发

    • 线性回归的公式是:,它输出一个连续的数值,范围是 ,适合预测价格、销量等。

    • 但分类问题需要输出一个概率,其值必须在 0, 1 之间。

  2. 引入Sigmoid函数(逻辑函数)

    • 为了解决这个矛盾,逻辑回归将线性回归的输出 z()作为Sigmoid函数的输入。

    • Sigmoid函数 的公式为:

    • 它的功能是将任何实数 z "挤压"到 (0, 1) 区间内。当 z 很大时, 无限接近1;当 z 很小时, 无限接近0。

  3. 得到概率输出

    • 最终,逻辑回归模型的输出是一个概率值:

    • 这个 表示在给定输入特征 x 的情况下,样本属于类别1的概率。

    • 通常,我们会设定一个**阈值(默认为0.5)**来做最终分类:

      • 如果 ,则预测为类别1。

      • 如果 ,则预测为类别0。

2.主要特点
  • 输出是概率:这不仅给出了分类结果,还给出了预测的"把握程度",这比单纯的硬分类更具解释性。

  • 本质是线性分类器 :它的决策边界是一条直线(在二维空间中)或一个超平面(在高维空间中)。这意味着它擅长处理线性可分近似线性可分的数据。

  • 训练过程 :通过极大似然估计法 来寻找最优的参数 ,使得预测出的概率分布最接近真实数据的分布。优化过程通常使用梯度下降等算法。

3.优点与缺点

优点:

  1. 简单高效:实现简单,计算成本低,易于理解和部署。

  2. 可解释性强:不仅可以预测类别,还可以得到概率值。并且模型的权重参数可以直观地反映特征对结果的影响程度(例如,权重越大,该特征对预测为正类的贡献越大)。

  3. 不易过拟合:尤其是当数据集线性可分或特征数量不多时。也可以通过L1、L2正则化来防止过拟合。

缺点:

  1. 非线性决策边界的数据集表现较差。虽然可以通过引入特征交叉项或多项式特征来提升能力,但这并非其天然优势。

  2. 当特征空间很大或数据特征之间存在高度相关性时,性能可能会下降。

(2)

在逻辑回归(Logistic Regression, LR)中,梯度是优化算法(如梯度下降)的关键部分。

1. 逻辑回归模型和损失函数

逻辑回归的假设函数为:

其中, 是参数向量,x 是特征向量。

对于单个样本 ,其中 ,交叉熵损失函数为:

对于整个训练集(有 m 个样本),代价函数为:

2. 梯度推导

为了计算梯度 ,我们需要求偏导数 ​。这里使用链式法则。

,则 。Sigmoid函数的导数为:

对于单个样本,损失函数对 的偏导数为:

其中:

  • (通过求导得到)

代入后:

因此,对于单个样本,梯度向量为:

对于整个训练集,代价函数 J(θ) 的梯度是所有样本梯度的平均值:

3. 向量化形式

在实现中,通常使用向量化计算以提高效率。设:

  • X 为设计矩阵,维度 m×n(m 个样本,n 个特征),其中每一行是一个样本

  • y 为标签向量,维度 m×1。

  • 为预测向量,维度 m×1。

则梯度的向量化形式为:

4. 总结

逻辑回归的梯度表达式为:

这个梯度用于梯度下降更新参数:

其中 α 是学习率。

(3)

  1. 模型预测值 :逻辑回归的线性部分为 (b为偏置项)。由于 ,代入得。因此,交叉熵损失函数仅依赖于组合 ​ 和 b。

  2. 总损失函数 :加入L2正则化后,总损失函数为 ,其中 是交叉熵损失,λ 是正则化参数。

  3. 优化条件:在最优解处,梯度为零。计算偏导数:

  4. 求解关系 :从第二个方程得 ,代入第一个方程:。 简化得,即 ​。

结论:模型优化后,权重 ​ 和 的关系为 ​。这意味着权重与特征之间的线性关系一致:特征 ​ 是 ​ 的 a 倍,权重 也是 的 a 倍。这种关系确保了在L2正则化下,模型对相关特征的处理是平衡的,避免了过拟合。

相关推荐
Kyrie67823 分钟前
SkillOpt:把 Agent 的技能文件当作可训练参数
人工智能
zzzzzz31036 分钟前
别争了,OpenClaw 和国产龙虾我全都要:一个 AI Agent 混合部署实战
机器学习·机器人·api
冬奇Lab1 小时前
Workflow 系列(07):工程化与版本管理——Workflow 的 CI/CD
人工智能·工作流引擎
两万五千个小时1 小时前
Claude Code 上下文管理(一):为什么 Agent 会"失忆"?
人工智能·架构·开源
两万五千个小时1 小时前
Claude Code 上下文管理(二):零 Token 消耗的压缩三板斧
人工智能·程序员·开源
冬奇Lab1 小时前
每日一个开源项目(第150篇):caveman - 为什么用很多 token,少 token 也行——给 AI Agent 装上穴居人嘴巴
人工智能·开源·资讯
贵慜_Derek1 小时前
MAI-04|干净数据在工程上意味着什么:MAI 预训练数据治理
人工智能·算法·llm
feelmylife591 小时前
Agent 记忆设计架构 — 分层记忆:什么时候该记住,什么时候该忘记
人工智能
阿黎梨梨1 小时前
揭秘大语言模型的底层逻辑:从文本分词到高维向量的计算之旅
javascript·人工智能
moMo1 小时前
AI工程化 03:给模型喂上下文
人工智能