线性回归与逻辑回归:同为凸函数,为何一个有解析解、一个没有?

1. 核心结论

  • 凸性 只保证存在唯一全局最优解 ,不保证能写出解析解(闭式解)。
  • 线性回归有解析解,是因为其目标函数是二次凸函数 ,梯度为 0 得到线性方程组,可直接求逆求解。
  • 逻辑回归虽然也是凸函数,但因引入了 sigmoid 非线性变换 ,梯度为 0 得到非线性方程组,无通用闭式解,只能迭代优化。

2. 线性回归:凸 + 二次 → 有解析解

线性回归使用平方误差损失 :

J(\\theta) = \\frac{1}{2}\\sum_{i=1}\^n \\left(y\^{(i)} - \\theta\^T x^{(i)}\\right)^2

写成矩阵形式:

J(\\theta) = \\frac{1}{2}\|X\\theta - y\|\^2

(1)凸性证明

对 (\theta) 求二阶导(Hessian 矩阵):

\\nabla\^2 J(\\theta) = X\^T X

(X^T X) 是半正定矩阵 ,因此 (J(\theta)) 是凸函数。

(2)为什么有解析解

对 (\theta) 求梯度并令其为 0:

\\nabla_\\theta J(\\theta) = X\^T(X\\theta - y) = 0

得到线性方程组 :

X\^T X \\theta = X\^T y

当 (X^T X) 可逆时,直接解出:

\\hat{\\theta} = (X\^T X)^{-1}X^T y

这就是正规方程(Normal Equation) ,是典型的解析解。


3. 逻辑回归:凸但非线性 → 无解析解

逻辑回归的预测值经过 sigmoid 映射:

h_\\theta(x) = \\sigma(\\theta\^T x) = \\frac{1}{1+e^{-\\theta^T x}}

使用对数似然损失(交叉熵) :

J(\\theta) = -\\frac{1}{n}\\sum_{i=1}\^n\\left\[ y\^{(i)}\\log h_\\theta(x\^{(i)}) + (1-y^{(i)})\\log\\left(1-h_\\theta(x^{(i)})\\right) \\right

]

(1)依然是凸函数

可以证明其 Hessian 矩阵半正定 ,因此 (J(\theta)) 是严格凸函数,全局最优唯一。

(2)为什么没有解析解

对 (\theta) 求梯度:

\\nabla_\\theta J(\\theta) = \\frac{1}{n}\\sum_{i=1}\^n \\left( h_\\theta(x\^{(i)}) - y\^{(i)} \\right) x\^{(i)}

令梯度为 0:

\\sum_{i=1}\^n \\left( \\frac{1}{1+e^{-\\theta^T x\^{(i)}}} - y\^{(i)} \\right)x\^{(i)} = 0

这是一个关于 (\theta) 的非线性超越方程组 ,里面包含指数函数与分式结构,无法通过代数变形、求逆等方式消去 (\theta) 得到闭式表达式,因此不存在解析解,只能用梯度下降、牛顿法等迭代方法逼近最优解。


4. 模型有解析解的条件

一个优化问题存在解析解(闭式解),通常满足以下全部条件:

  1. 目标函数是二次凸函数
    形如

    J(\\theta) = \\theta\^T A \\theta + b\^T \\theta + c

  2. 模型是线性预测
    无非线性激活(如 sigmoid、softmax、ReLU 等)。
  3. 梯度为 0 得到线性方程组

    M\\theta = d

  4. 系数矩阵可求逆或伪逆
    即 (M) 满秩或可使用广义逆。

只要引入非线性激活 或非二次损失,一般就不再存在解析解。


5. 一句话总结

  • 凸函数:保证最优解唯一。
  • 二次 + 线性:才能得到解析解。
  • 非线性激活(sigmoid):方程变非线性 → 无解析解,只能迭代。
相关推荐
龙腾AI白云2 小时前
AI检索增强生成(RAG):解决大模型幻觉的核心落地技术
数据库·人工智能·机器学习·知识图谱
longlongzihan3 小时前
LeetCode 17电话号码的字母组合:回溯算法(DFS)详解
c++·算法·leetcode·深度优先
封印师请假去地球钓鱼3 小时前
边解边变的问题:从“决策依赖“一词出发
人工智能·算法
zy_destiny4 小时前
深度学习实战-基于YOLOv8的玉米雄穗目标检测:从数据集下载到训练部署全流程实录
yolo·目标检测·机器学习
今晚打老虎4 小时前
c++之提高A(前缀和)(第三课)
数据结构·c++·算法
禹凕5 小时前
机器学习之Selenium(Machina Learning about Selenium)
爬虫·python·selenium·测试工具·机器学习
不会就选b5 小时前
算法日常・每日刷题--<贪心>26
数据结构·算法
一直在努力的小宁5 小时前
【阅读笔记】具身智能的真机数采,到了分水岭
人工智能·深度学习·机器学习·agent·具身智能·vlm·vln
YH行业报告分析6 小时前
2026 AI法律合同审查平台市场洞察:NLP与机器学习如何推动企业合规与合同流程智能化?
人工智能·机器学习·自然语言处理
田里的水稻6 小时前
FA_融合和滤波(FF)-误差状态卡尔曼滤波(ESKF)
人工智能·机器学习·机器人·自动驾驶