梯度寻优

无论做任何事情,人们总是希望以最小的代价获取最大的利益,力求最好!为此,人们发明各式各样的数学工具:导数、积分等。现代优化理论大都来源于处理多元问题时导致的复杂性,它有三个重要的基础:

  • 矩阵理论:矩阵是描述多元问题的最基本的工具,为多元问题分析和求解提供了基本的数据结构。
  • 数值分析:导数和微分为多元问题分析和求解提供了基本的数学方法。
  • 计算机:为多元问题分析和求解提供了基本的实践工具。

由此,一个最优化问题需要我们同时具备三种基本的能力:数学建模、公式推导、算法设计

最优化的数学描述

\[
\begin{aligned}
&\min_{x\in ?^n} && f(x) && (\text{等价于 } \max_{x\in ?^n} -f(x))\&\operatorname{s.t.} && \begin{cases}
h_i(x) = 0\g_j(x) \leq 0
\end{cases}
\end{aligned}
\]

  • \(x\) 被称为决策变量或问题的解
  • \(\operatorname{s.t.}\) 为英文 subject to 的缩写,表示受制于
  • \(f(x)\) 称为目标函数或代价函数 (Cost Function)
  • \(h(x)\) 为等式约束,\(g(x)\) 为不等式约束

除此之外,最优化问题中的无约束问题可以描述为

\[
\underset{x}{\arg \max}\, f(x), (? \underset{x}{\arg \max}\, -f(x))
\]

其中 \(\arg\max\) 符号是指求解当函数 \(f(x)\) 达到最大值 (或最小值) 时 \(x\) 的取值。

根据目标函数与约束函数的不同形式,可以把最优化问题分为不同的类型:

  • 若 \(f(x)\), \(h(x)\), \(g(x)\) 均为线性函数,就称为线性规划;
  • 若任意其中一个是非线性函数,则就称为非线性规划;
  • 若目标函数为二次函数 (如二次型),约束全为线性函数,就称为二次规划;
  • 若目标函数为向量函数,则称为多目标规划;
  • 其他。

凸集与分离定理

  • 设 \(A\) 是线性空间 \(X\) 的一个子集,\(x,y \in X\),联结 \(x,y\) 两点的线段是集合

\[
[x,y] = \{λx + (1-λ)y: 0 ≤ λ \leq 1 \}.
\]

  • 若 $? x,y \in A, [x,y] ? A $, 则称 \(A\) 是 \(X\) 中的凸集, 而 \(x_1,\cdots, x_n\) 的凸组合, 是集合

\[\{x=\displaystyle\sum_{k=1}^n λ_kx_k: λ_k \geq 0, \sum_{k=1}^n λ_k = 1 \}\]

  • \(α \in I, A_{α}\) 是包含 \(A\) 的凸集, 集 \(A\) 的凸包

\[{\operatorname{co}(A)} = \bigcap_{α \in I} A_{α}\]

  • 集 \(A\) 的定义为

\[
A^{\circ} = \{x: ? y \in X, ? δ= δ(y)>0, \,\operatorname{s.t.}\, |t| > δ, x+ty \in A \}
\]

若 \(A\) 是凸集, 且 \(A^{\circ} \neq ?,\) 则称 \(A\) 为凸体. 在赋范线性空间 \((X, ||\cdot ||)\) 中, 凸体 \(A\) 可定义为

若 \(? x,y \in A, x \neq y, ||x|| = ||y||,\) 则 \(||x+y|| < ||x|| + ||y||.\)

凸集的几何意义

若 \(x,y \in S(0, r)(\text{球面})(||x||=||y||=r),\) 则联结 \(x,y\) 线段的中点 \((x+y)/2 \in B(0,r)\)(球体). 即若 \(x,y\) 在同一球面上, 则线段 \([x,y]\) 的中点就位于该球体的内部.

超平面

设 \(X\) 为实数域 \(?\) 上的线性空间, \(f\) 是 \(X\) 上的实值泛函, 则

\[
L_f (α) = \{x\in X: f(x) = α, α \in ? \}
\]

称为 \(X\) 中的超平面.

原文地址:https://www.cnblogs.com/q735613050/p/9495428.html

时间: 2024-08-08 20:15:22

梯度寻优的相关文章

梯度寻优 (二)

上接 梯度寻优 扩展: 机器学习中的几个概念的关系 梯度相关代码 逐次逼近法 问题 1: \(Ax = b\) 对于问题 1, 当 \(A\) 的阶数很大, 且零元素很多的大型稀疏矩阵方程组, 使用主元消去法求解将是一个很大的挑战. 为此, 逐次逼近法 (或称为迭代法) 应运而生. 下面我们来看看迭代法的具体操作: 首先将 \(Ax=b\) 改写为 \(x = Bx + f\), 使用公式: \[ x^{k+1} = Bx^k + f \] 其中 \(k\) 为迭代次数 \((k=0, 1, 2

梯度寻优与logistic算法

一.一些基本概念 最优化:在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优.高中学过的线性规划就是一类典型的最优化问题. 凸集:在集合空间中,凸集就是一个向四周凸起的图形.用数学语句描述就是:集合边界任意两点连线上的所有点都在这个集合内部. 超平面:能够用于切割已给集合的点集.数学公式为$X={x|c^T=z}$.它的意义在于能够将一个凸集分为两部分. 举例说明.对于二维空间,用一条直线划分给定的散点,则有$y - ax - b = 0 $.它就是一个超平面,“超”在b这个

5.梯度寻优

迭代法求方程组的解: import numpy as np from numpy import * from common_libs import * import matplotlib.pyplot as plt #消元法求原方程组的解 A = mat([[8,-3,2],[4,11,-1],[6,3,12]]) b = mat([20,33,36]) result = linalg.solve(A,b.T) print(result) #迭代法求方程组的解 error = 1.0e-6 st