当前位置: 首页 > ai >正文

【高级机器学习】3. Convex Optimisation

Convex Optimisation

在机器学习中,优化问题的核心在于找到一个合适的假设 hhh,使得损失函数最小化。
这一节我们来系统介绍 凸优化 (Convex Optimisation) 的基本概念与方法。


Basics I: Convex Combination

  • 给定两点 x,y∈C⊆Rdx, y \in C \subseteq \mathbb{R}^dx,yCRd
    如果 0≤θ≤10 \leq \theta \leq 10θ1,则
    θx+(1−θ)y∈C \theta x + (1 - \theta) y \in C θx+(1θ)yC
    称为 凸组合 (Convex Combination)

Basics I: Convex Set

  • 定义:集合 C⊆RdC \subseteq \mathbb{R}^dCRd 是凸集,当且仅当对任意 x,y∈Cx,y \in Cx,yC,以及任意 0≤θ≤10 \leq \theta \leq 10θ1,都有:
    θx+(1−θ)y∈C \theta x + (1-\theta)y \in C θx+(1θ)yC

  • 举例:

    • 凸集:球、半空间、区间等
    • 非凸集:环形、交错的集合等
      在这里插入图片描述

Basics II: Convex Functions

定义

函数 f:Rd→Rf: \mathbb{R}^d \to \mathbb{R}f:RdR 称为凸函数,如果其定义域为凸集,且满足:
f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y),∀x,y∈domf, θ∈[0,1] f(\theta x + (1-\theta)y) \leq \theta f(x) + (1-\theta)f(y), \quad \forall x,y \in \text{dom} f, \ \theta \in [0,1] f(θx+(1θ)y)θf(x)+(1θ)f(y),x,ydomf, θ[0,1]

在这里插入图片描述

可微情况

fff 可微,则 fff 是凸函数当且仅当:
f(y)≥f(x)+∇f(x)⊤(y−x),∀x,y∈domf f(y) \geq f(x) + \nabla f(x)^\top (y-x), \quad \forall x,y \in \text{dom} f f(y)f(x)+f(x)(yx),x,ydomf

其中梯度:
∇f(x)=(∂f∂x1,…,∂f∂xd) \nabla f(x) = \left( \frac{\partial f}{\partial x_1}, \dots, \frac{\partial f}{\partial x_d} \right) f(x)=(x1f,,xdf)

函数图像在切平面(切线)上方。

f(x)+∇f(x)⊤(y−x)f(x) + \nabla f(x)^\top (y-x)f(x)+f(x)(yx) 就是点 xxx 处的切线(或切平面)。

对凸函数来说,整个函数曲线都在这个切平面之上。

在这里插入图片描述

二阶可微情况

fff 二阶可微,则 fff 是凸函数当且仅当 Hessian 矩阵 半正定:
∇2f(x)⪰0,∀x∈domf \nabla^2 f(x) \succeq 0, \quad \forall x \in \text{dom} f 2f(x)0,xdomf
等价于所有特征值非负。


Basics III: 凸函数的闭合性

  • 非负加权和:若 f1,f2f_1, f_2f1,f2 是凸函数,则
    f(x)=αf1(x)+βf2(x),α,β≥0 f(x) = \alpha f_1(x) + \beta f_2(x), \quad \alpha,\beta \geq 0 f(x)=αf1(x)+βf2(x),α,β0
    仍是凸函数。

  • 点对点最大值
    f(x)=max⁡{f1(x),f2(x)} f(x) = \max \{ f_1(x), f_2(x) \} f(x)=max{f1(x),f2(x)}
    也是凸函数。

  • 仿射变换复合:若 fff 是凸函数,AAA 为矩阵,bbb 为向量,则
    g(x)=f(Ax+b) g(x) = f(Ax + b) g(x)=f(Ax+b)
    仍是凸函数。

应用:SVM 的目标函数就是凸函数。


Unconstrained Convex Optimisation

问题形式

min⁡h∈Hf(h)=min⁡h∈H1n∑i=1nℓ(Xi,Yi,h) \min_{h \in \mathcal{H}} f(h) = \min_{h \in \mathcal{H}} \frac{1}{n} \sum_{i=1}^n \ell(X_i, Y_i, h) hHminf(h)=hHminn1i=1n(Xi,Yi,h)

其中 ℓ\ell 是凸替代损失函数。


Taylor’s Theorem

f:R→Rf:\mathbb{R}\to\mathbb{R}f:RR 在点 aaakkk 阶可导,则:
f(x)=f(a)+f′(a)(x−a)+⋯+f(k)(a)k!(x−a)k+hk(x)(x−a)k f(x) = f(a) + f'(a)(x-a) + \cdots + \frac{f^{(k)}(a)}{k!}(x-a)^k + h_k(x)(x-a)^k f(x)=f(a)+f(a)(xa)++k!f(k)(a)(xa)k+hk(x)(xa)k
其中 lim⁡x→ahk(x)=0\lim_{x \to a} h_k(x) = 0limxahk(x)=0

示例

f(x)=16x3f(x) = \frac{1}{6}x^3f(x)=61x3,在 a=1a=1a=1 展开:
f(x)=16+12(x−1)+12(x−1)2+o((x−1)2),x→1 f(x) = \frac{1}{6} + \frac{1}{2}(x-1) + \frac{1}{2}(x-1)^2 + o((x-1)^2), \quad x \to 1 f(x)=61+21(x1)+21(x1)2+o((x1)2),x1


Small-o Notation

记号 f(x)=o(g(x)),x→af(x) = o(g(x)), x \to af(x)=o(g(x)),xa 表示:
lim⁡x→af(x)g(x)=0 \lim_{x \to a} \frac{f(x)}{g(x)} = 0 xalimg(x)f(x)=0

例如:
16x3−16−12(x−1)−12(x−1)2(x−1)2→0,x→1 \frac{\frac{1}{6}x^3 - \frac{1}{6} - \frac{1}{2}(x-1) - \frac{1}{2}(x-1)^2}{(x-1)^2} \to 0, \quad x \to 1 (x1)261x36121(x1)21(x1)20,x1


Gradient Descent Method

通过泰勒展开:
f(hk+1)≈f(hk)+η∇f(hk)⊤dk+o(η) f(h_{k+1}) \approx f(h_k) + \eta \nabla f(h_k)^\top d_k + o(\eta) f(hk+1)f(hk)+ηf(hk)dk+o(η)

∇f(hk)⊤dk<0\nabla f(h_k)^\top d_k < 0f(hk)dk<0,则 f(hk+1)<f(hk)f(h_{k+1}) < f(h_k)f(hk+1)<f(hk)

  • 更新公式
    hk+1=hk−η∇f(hk) h_{k+1} = h_k - \eta \nabla f(h_k) hk+1=hkηf(hk)

下降方向与更新矩阵

一般形式:
hk+1=hk−ηDk∇f(hk) h_{k+1} = h_k - \eta D_k \nabla f(h_k) hk+1=hkηDkf(hk)

  • 最速下降 (Steepest Descent)Dk=ID_k = IDk=I
  • 牛顿法 (Newton’s Method)Dk=[∇2f(hk)]−1D_k = [\nabla^2 f(h_k)]^{-1}Dk=[2f(hk)]1
    • 常见改进:只取对角线、近似 Hessian(BFGS, L-BFGS)

学习率选择

  • 精确线搜索 (Exact Line Search)η=arg⁡min⁡ηf(hk−η∇f(hk))\eta = \arg \min_\eta f(h_k - \eta \nabla f(h_k))η=argminηf(hkηf(hk))
    但通常计算代价太高。
  • Lipschitz 光滑梯度:若存在常数 LLL 使得
    ∥∇f(x1)−∇f(x2)∥≤L∥x1−x2∥ \|\nabla f(x_1) - \nabla f(x_2)\| \leq L \|x_1 - x_2\| ∥∇f(x1)f(x2)Lx1x2
    则取 η=1L\eta = \frac{1}{L}η=L1,保证:
    f(hk+1)≤f(hk)−12L∥∇f(hk)∥2 f(h_{k+1}) \leq f(h_k) - \frac{1}{2L}\|\nabla f(h_k)\|^2 f(hk+1)f(hk)2L1∥∇f(hk)2

Gradient Convergence Rate

  • 目标:找到最优解
    h∗=arg⁡min⁡h∈Hf(h) h^* = \arg \min_{h \in \mathcal{H}} f(h) h=arghHminf(h)

  • fff强凸函数,且梯度 Lipschitz,则梯度下降具有 线性收敛率
    f(hk+1)−f(h∗)≤(1−μL)k(f(h1)−f(h∗)) f(h_{k+1}) - f(h^*) \leq \left( 1 - \frac{\mu}{L} \right)^k \left(f(h_1) - f(h^*)\right) f(hk+1)f(h)(1Lμ)k(f(h1)f(h))

其中 μ\muμ 是强凸参数,LLL 是 Lipschitz 常数。


收敛率总结表

算法假设收敛率
Gradient Descent光滑梯度,凸函数O(1/k)O(1/k)O(1/k)
Gradient Descent光滑梯度,强凸函数线性收敛 (1−μ/L)k(1-\mu/L)^k(1μ/L)k
Newton’s Method光滑梯度,强凸函数二次收敛

Constrained Optimisation

一般的约束凸优化问题:
min⁡h∈Hf(h),s.t. gi(h)≤0, hj(h)=0 \min_{h \in \mathcal{H}} f(h), \quad \text{s.t. } g_i(h) \leq 0, \ h_j(h) = 0 hHminf(h),s.t. gi(h)0, hj(h)=0

  • f,gif, g_if,gi 为凸函数
  • hjh_jhj 为仿射函数:hj(h)=aj⊤h−bjh_j(h) = a_j^\top h - b_jhj(h)=ajhbj

这是后续学习 拉格朗日对偶性KKT 条件 的基础。


http://www.xdnf.cn/news/18811.html

相关文章:

  • 无限长直导线周围电场分布的MATLAB
  • 【MATLAB例程】二维平面上的多目标TOA定位,目标和TOA基站的数量、位置可自行设置。附代码下载链接
  • 浅谈Elasticsearch数据写入流程的refresh和flush操作
  • ICDE 2025 | 包含OPTIONAL和UNION表达式的SPARQL查询的高效执行方法
  • 硬件开发_基于物联网的儿童座椅系统
  • 3.【鸿蒙应用开发实战: 从入门到精通】开发入门 Hello World
  • 7、prefix-tuning、P-tuning、Prompt-tuning
  • 基于数据安全的旅游民宿租赁系统
  • 音频时长裁剪工具:高效处理音频,让内容创作更轻松
  • docker 所有常用命令,配上思维导图,加图表显示
  • 配送算法16 A Deep Reinforcement Learning Approach for the Meal Delivery Problem
  • 【Linux】用户与用户组管理
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day14
  • 蓝桥杯算法之基础知识(3)——Python的idle的快捷键设置(idle改键)
  • OpenCV实战1.信用卡数字识别
  • 极简风格PDF格式转换解决方案
  • 人工智能安全地图:将人工智能漏洞与现实世界的影响联系起来
  • Linux 系统核心调优:CPU、磁盘 I/O、网络与内核参数实战
  • Java全栈开发面试实录:从基础到实战的深度探索
  • 【AI算力平台】算力高效调度策略——GPU调度
  • Rust 登堂 之 函数式编程(三)
  • vagrant怎么在宿主机管理虚拟机镜像box(先搁置)
  • PyTorch生成式人工智能——PatchGAN详解与实现
  • LeetCode 438. 找到字符串中所有的字母异位词
  • 功能强大的PDF工具箱-- PDF补丁丁,v1.1.0.4657新版本,免费无广告,开箱即用版~
  • flutter专栏--dart基础知识
  • Android系统学习2——Android.Utils.Log模块讨论
  • [Maven 基础课程]Maven 是什么
  • Java微服务AI集成指南:LangChain4j vs SpringAI
  • imx6ull-驱动开发篇43——I.MX6U 的 I2C 驱动分析