机器学习笔记之最优化理论与方法(三)凸集的简单认识(下)

news2024/11/20 20:30:30

机器学习笔记之最优化理论与方法——凸集的简单认识[下]

  • 引言
    • 回顾:基本定义——凸集
    • 关于保持集合凸性的运算
      • 仿射变换
    • 凸集基本性质:投影定理
    • 点与凸集的分离
    • 支撑超平面定理

引言

继续凸集的简单认识(上)进行介绍,本节将介绍凸集的基本性质以及相关定理

回顾:基本定义——凸集

关于凸集 ( Convex Set ) (\text{Convex Set}) (Convex Set)定义可简单表述为:可行域 C \mathcal C C中任意两点间的连线,其连线上的任意一点仍在可行域 C \mathcal C C范围内。对应数学符号表示如下:
∀ x , y ∈ C ; ∀ λ ∈ [ 0 , 1 ] ⇒ λ ⋅ x + ( 1 − λ ) ⋅ y ∈ C \forall x,y \in \mathcal C;\forall \lambda \in [0,1] \Rightarrow \lambda \cdot x + (1 - \lambda) \cdot y \in \mathcal C x,yC;λ[0,1]λx+(1λ)yC
如果记线性规划 min ⁡ { c T x ∣ A x = b , x ≥ 0 } \min \{c^T x \mid \mathcal A x = b,x \geq 0\} min{cTxAx=b,x0}最优解组成的集合为 S \mathcal S S,那么 S \mathcal S S是否为凸集 ? ? ?

自然是凸集

  • 最优解集合 S \mathcal S S中任取两点 x 1 , x 2 ∈ S x_1,x_2 \in \mathcal S x1,x2S,必然有:
    其中这里 v ∗ v^* v记作可行域范围内,使 c T x c^Tx cTx达到最小的最优解。
    c T x 1 = c T x 2 = v ∗ c^Tx_1 = c^Tx_2 = v^* cTx1=cTx2=v
  • 根据凸集定义 ∀ λ ∈ [ 0 , 1 ] \forall \lambda \in [0,1] λ[0,1],观察 λ ⋅ x 1 + ( 1 − λ ) ⋅ x 2 \lambda \cdot x_1 + (1 - \lambda) \cdot x_2 λx1+(1λ)x2是否也在最优解集合 S \mathcal S S内即可。将该点代入有:
    c T [ λ ⋅ x 1 + ( 1 − λ ) ⋅ x 2 ] = λ ⋅ c T x 1 ⏟ v ∗ + ( 1 − λ ) ⋅ c T x 2 ⏟ v ∗ = v ∗ \begin{aligned} & \quad c^T[\lambda \cdot x_1 + (1 - \lambda) \cdot x_2] \\ & = \lambda \cdot \underbrace{c^Tx_1}_{v^*} + (1 - \lambda) \cdot \underbrace{c^Tx_2}_{v^*} \\ & = v^* \end{aligned} cT[λx1+(1λ)x2]=λv cTx1+(1λ)v cTx2=v
    可以看出: c T [ λ ⋅ x 1 + ( 1 − λ ) ⋅ x 2 ] c^T[\lambda \cdot x_1 + (1 - \lambda) \cdot x_2] cT[λx1+(1λ)x2]依然是最优解。也就是说: λ ⋅ x 1 + ( 1 − λ ) ⋅ x 2 ∈ S \lambda \cdot x_1 + (1 - \lambda) \cdot x_2 \in \mathcal S λx1+(1λ)x2S S \mathcal S S是凸集得证。

关于保持集合凸性的运算

所谓保持集合凸性的运算,即凸集执行一系列运算后,其结果是凸集的性质不发生变化

C 1 , C 2 ∈ R n \mathcal C_1,\mathcal C_2 \in \mathbb R^n C1,C2Rn,并且是凸集。则有:

  • 交集 C 1 ∩ C 2 = { x ∣ x ∈ C 1 , x ∈ C 2 } \mathcal C_1 \cap \mathcal C_2 = \{x \mid x \in \mathcal C_1,x \in \mathcal C_2\} C1C2={xxC1,xC2}同样是凸集
    相反,并集 C 1 ∪ C 2 \mathcal C_1 \cup \mathcal C_2 C1C2未必是凸集~
  • 关于集合的加减运算 C 1 ± C 2 = { x ± y ∣ x ∈ C 1 , y ∈ C 2 } \mathcal C_1 \pm \mathcal C_2 = \{x \pm y \mid x \in \mathcal C_1,y \in \mathcal C_2\} C1±C2={x±yxC1,yC2}同样是凸集

如果存在一个由 n n n维向量组成的集合 S \mathcal S S
{ S = { x ∈ R n ∣ ∣ P ( t ) ∣ ≤ 1 , ∣ t ∣ ≤ π 3 } P ( t ) = ∑ i = 1 n x i ⋅ cos ⁡ ( i ⋅ t ) \begin{cases} \begin{aligned} & \mathcal S = \left\{x \in \mathbb R^n \mid |\mathcal P(t)| \leq 1, |t| \leq \frac{\pi}{3} \right\} \\ & \mathcal P(t) = \sum_{i=1}^n x_i \cdot \cos (i \cdot t) \end{aligned} \end{cases} S={xRnP(t)1,t3π}P(t)=i=1nxicos(it)
那么集合 S \mathcal S S是否为凸集 ? ? ?

  • 首先,由于 S \mathcal S S是关于 x x x的集合,因而 P ( t ) \mathcal P(t) P(t)可看作是一个关于 x x x线性表达式。并且有:
    − 1 ≤ ∑ i = 1 n x i ⋅ cos ⁡ ( i ⋅ t ) ≤ 1 -1 \leq \sum_{i=1}^n x_i \cdot \cos (i \cdot t) \leq 1 1i=1nxicos(it)1
  • 如果 t t t给定,那么可以将上式视作: { ∑ i = 1 n x i ⋅ cos ⁡ ( i ⋅ t ) ≤ 1 ∑ i = 1 n x i ⋅ cos ⁡ ( i ⋅ t ) ≥ − 1 \begin{cases} \sum_{i=1}^n x_i \cdot \cos(i \cdot t) \leq 1 \\ \sum_{i=1}^n x_i \cdot \cos(i \cdot t) \geq -1 \\ \end{cases} {i=1nxicos(it)1i=1nxicos(it)1所描述的一对半空间的交集
  • 由于 − π 3 ≤ t ≤ π 3 \begin{aligned}-\frac{\pi}{3}\leq t \leq \frac{\pi}{3}\end{aligned} 3πt3π,是一个连续的范围,那么:可以在该范围内取出无穷个 t t t,从而得到无穷对半空间的交集。而半空间自身是凸集,那么无穷对半空间的交集同样是凸集。因而 S \mathcal S S是凸集。
    准确的说, S \mathcal S S是一个多面体。

如果 n = 2 n = 2 n=2,此时仅包含两个变量 x 1 , x 2 x_1,x_2 x1,x2。可以通过 2 2 2维图像的方式观察这个多面体凸集描述的范围。具体代码如下:
t t t固定的情况下,函数 ∣ P ( t ) ∣ = 1 ⇒ P ( t ) = ± 1 |\mathcal P(t)| = 1 \Rightarrow \mathcal P(t) = \pm1 P(t)=1P(t)=±1可看做是 ϕ ( x 1 , x 2 ) \phi(x_1,x_2) ϕ(x1,x2)的表示。令 ϕ ( x 1 , x 2 ) = P ( t ) ∓ 1 ≜ 0 \phi(x_1,x_2) = \mathcal P(t) \mp 1 \triangleq 0 ϕ(x1,x2)=P(t)10,从而得到 x 1 , x 2 x_1,x_2 x1,x2之间的函数关系:
x 1 ⋅ cos ⁡ t + x 2 ⋅ cos ⁡ ( 2 ⋅ t ) = ± 1 ⇒ x 1 = ± 1 − x 2 ⋅ cos ⁡ ( 2 ⋅ t ) cos ⁡ t \begin{aligned} & \quad x_1 \cdot \cos t + x_2 \cdot \cos (2 \cdot t) = \pm1 \\ & \Rightarrow x_1 = \pm\frac{1 - x_2 \cdot \cos (2 \cdot t)}{\cos t} \end{aligned} x1cost+x2cos(2t)=±1x1=±cost1x2cos(2t)

import numpy as np
import matplotlib.pyplot as plt
import math

x = np.linspace(-2.5,2,100)
tChoice = np.linspace(-1 * (math.pi / 3),math.pi / 3,30)

def phi(x1,t):
    return (1 - x1 * math.cos(2 * t)) / math.cos(t)

def phiTrans(x1,t):
    return (x1 * math.cos(2 * t) - 1) / math.cos(t)

for t in tChoice:
    y = list()
    y2 = list()
    for x1 in x:
        y.append(phi(x1,t))
        y2.append(phiTrans(x1,t))
    plt.plot(x,y,c="tab:red")
    plt.plot(x,y2,c="tab:red")
plt.show()

对应图像结果表示如下:
中间围成的区域就是 n = 2 n=2 n=2条件下的多面体凸集 S \mathcal S S
多面体凸集示例

仿射变换

仿射变换 ( Affine Transformation ) (\text{Affine Transformation}) (Affine Transformation)同样是保持集合凸性的一种运算。具体描述如下:
需要注意的是:线性变换是特殊的仿射变换

假设函数 f ( ⋅ ) : R n ↦ R m f(\cdot):\mathbb R^n \mapsto \mathbb R^m f():RnRm仿射函数,即 f ( x ) = A x + b f(x) = \mathcal Ax + b f(x)=Ax+b。其中 A ∈ R m × n , b ∈ R m \mathcal A \in \mathbb R^{m \times n},b \in \mathbb R^{m} ARm×n,bRm,则有如下结论:
其中 f − 1 ( ⋅ ) f^{-1}(\cdot) f1()表示仿射函数 f ( ⋅ ) f(\cdot) f()的逆

  • 如果 C \mathcal C C凸集 ⇒ f ( C ) = { f ( x ) ∣ x ∈ C } \Rightarrow f(\mathcal C) = \{f(x) \mid x \in \mathcal C\} f(C)={f(x)xC}也是凸集
  • 如果 C \mathcal C C凸集 ⇒ f − 1 ( C ) = { x ∣ f ( x ) ∈ C } \Rightarrow f^{-1}(\mathcal C) = \{x \mid f(x) \in \mathcal C\} f1(C)={xf(x)C}也是凸集

以第一项为例:对于 ∀ y 1 , y 2 ∈ f ( C ) \forall y_1,y_2 \in f(\mathcal C) y1,y2f(C),必然有:
{ y 1 = A x 1 + b y 2 = A x 2 + b x 1 , x 2 ∈ C \begin{cases} y_1 = \mathcal Ax_1 + b \\ y_2 = \mathcal Ax_2 + b \end{cases}\quad x_1,x_2 \in \mathcal C {y1=Ax1+by2=Ax2+bx1,x2C
根据凸集的定义,对 ∀ λ ∈ [ 0 , 1 ] \forall \lambda \in [0,1] λ[0,1],将 λ ⋅ y 1 + ( 1 − λ ) ⋅ y 2 \lambda \cdot y_1 + (1 - \lambda) \cdot y_2 λy1+(1λ)y2展开,有:
λ ⋅ y 1 + ( 1 − λ ) ⋅ y 2 = λ ( A x 1 + b ) + ( 1 − λ ) ⋅ ( A x 2 + b ) = A [ λ ⋅ x 1 + ( 1 − λ ) ⋅ x 2 ] + b \begin{aligned} \lambda \cdot y_1 + (1 - \lambda) \cdot y_2 & = \lambda (\mathcal Ax_1 + b) + (1 - \lambda) \cdot(\mathcal Ax_2 + b) \\ & = \mathcal A [\lambda \cdot x_1 + (1 - \lambda) \cdot x_2] + b \end{aligned} λy1+(1λ)y2=λ(Ax1+b)+(1λ)(Ax2+b)=A[λx1+(1λ)x2]+b
由于 x 1 , x 2 ∈ C x_1,x_2 \in \mathcal C x1,x2C,且 C \mathcal C C凸集,必然有:
∀ λ ∈ [ 0 , 1 ] ⇒ λ ⋅ x 1 + ( 1 − λ ) ⋅ x 2 ∈ C \forall \lambda \in [0,1] \Rightarrow \lambda \cdot x_1 + (1 - \lambda) \cdot x_2 \in \mathcal C λ[0,1]λx1+(1λ)x2C
从而有:
λ ⋅ y 1 + ( 1 − λ ) ⋅ y 2 ∈ f ( C ) \lambda \cdot y_1 + (1 - \lambda) \cdot y_2 \in f(\mathcal C) λy1+(1λ)y2f(C)
因而 f ( C ) f(\mathcal C) f(C)也是凸集

一些特殊的仿射变换有:
其中 α , β \alpha,\beta α,β是常数。

  • 放缩 ( Scaling ) (\text{Scaling}) (Scaling)
    α ⋅ C = { α ⋅ x ∣ x ∈ C } \alpha \cdot \mathcal C = \{\alpha \cdot x \mid x \in \mathcal C\} αC={αxxC}
  • 平移 ( Translation ) (\text{Translation}) (Translation)
    β + C = { β + x ∣ x ∈ C } \beta+ \mathcal C = \{\beta+ x \mid x \in \mathcal C\} β+C={β+xxC}
  • 投影 ( Projection ) (\text{Projection}) (Projection)
    { x 1 ∣ ( x 1 x 2 ) ∈ C } \left\{x^1 \mid \begin{pmatrix}x^1 \\ x^2\end{pmatrix} \in \mathcal C\right\} {x1(x1x2)C}

对应示例图像表示如下:
特殊仿射变化示例

凸集基本性质:投影定理

投影定理描述如下:
假设 C ⊂ R n \mathcal C \subset \mathbb R^n CRn,是一个非空闭凸集 y ∈ R n y \in \mathbb R^n yRn y ∉ C y \notin \mathcal C y/C,有:

  • 存在唯一的点 x ˉ ∈ C \bar{x} \in \mathcal C xˉC,使得 x ˉ \bar{x} xˉ y y y C \mathcal C C的距离最小的点,且有:
    距离最小的点即投影点
    ∥ x ˉ − y ∥ = inf ⁡ { ∥ x − y ∥ ∣ x ∈ C } > 0 \|\bar {x} - y\| = \inf\{\|x - y\| \mid x \in \mathcal C\} > 0 xˉy=inf{xyxC}>0
  • x ˉ \bar{x} xˉ y y y C \mathcal C C最小距离点充要条件是:
    ( x − x ˉ ) T ( x ˉ − y ) ≤ 0 ∀ x ∈ C (x - \bar{x})^T (\bar{x} - y) \leq 0 \quad \forall x \in \mathcal C (xxˉ)T(xˉy)0xC

证明过程:

  • 存在性
    关于 y y y C \mathcal C C的距离,本质上是描述 y y y与凸集 C \mathcal C C中点的距离,假设 x ′ ∈ C x' \in \mathcal C xC,对应目标函数表示如下:
    这里使用二范数表示 x ′ x' x y y y之间的距离。
    min ⁡ f ( x ) = ∥ y − x ′ ∥ 2 2 \min f(x) = \|y - x'\|_2^2 minf(x)=yx22
    但我们要找的是距离最小的点,而这个 x ′ x' x可能并不是那个点。因而我们要找的距离最小点的可行域表示为:
    s.t.  x ∈ C ∩ N d ( y ) \text{s.t. } x \in \mathcal C \cap \mathcal N_d(y) s.t. xCNd(y)
    其中 d = ∣ ∣ y − x ′ ∣ ∣ 2 2 d = ||y - x'||_2^2 d=∣∣yx22;而 N d ( y ) \mathcal N_d(y) Nd(y)表示 y y y为圆心,半径为 d d d的圆所描述的范围。也就是说:如果 x ′ x' x不是距离最小点,并不需要重新从范围 C \mathcal C C中寻找点,只需要在交集内寻找距离最小点即可。对应图像表示如下:
    投影定理存在性示例
    由于 C \mathcal C C非空闭凸集,说明这个交集有界。在连续函数(距离函数)在有界空间内求最小值,那么该值必然可达

  • 唯一性(反证):
    对应图像表示如下~
    投影定理唯一性示例
    不妨设 x ′ , x ˉ ( x ˉ ≠ x ′ ) x',\bar{x}(\bar x \neq x') x,xˉ(xˉ=x)均是投影点,从而有:
    d = ∥ y − x ˉ ∥ 2 2 = ∥ y − x ′ ∥ 2 2 d = \|y - \bar{x}\|_2^2 = \|y - x'\|_2^2 d=yxˉ22=yx22
    由于 x ˉ ≠ x ′ \bar{x} \neq x' xˉ=x,连接两点,根据凸集合的定义:两点连线上的点必然也 ∈ C \in \mathcal C C。此时, x ′ , x ˉ , y x',\bar{x},y x,xˉ,y三个点构成一个等腰三角形,从而有:线段 x ˉ x ′ \bar{x}x' xˉx上的点到 y y y的距离必然小于 d d d。从而得出: x ˉ , x ′ \bar{x},x' xˉ,x不是投影点,这与假设冲突。因而 x ′ , x ˉ x',\bar{x} x,xˉ两点重合,投影点具有唯一性

  • 充要条件:观察下面图像:
    充要条件示例
    假设此时已经找到了投影点 x ˉ \bar{x} xˉ,必然有:

    • 向量 y − x ˉ y - \bar{x} yxˉ x ˉ \bar{x} xˉ在凸集 C \mathcal C C的切线垂直;
    • 并且凸集 C \mathcal C C中除去 x ˉ \bar{x} xˉ之外的其他点均与 y − x ˉ y - \bar{x} yxˉ处在由切线划分的不同的半空间

    从而有:向量 y − x ˉ y - \bar{x} yxˉ x − x ˉ ( ∀ x ∈ C ) x - \bar{x}(\forall x \in \mathcal C) xxˉ(xC)之间的夹角总是大于等于 9 0 。 90^。 90。即:
    等于 9 0 。 90^。 90 x , x ˉ x,\bar{x} x,xˉ重合~
    ( y − x ˉ ) T ( x − x ˉ ) = ∥ y − x ˉ ∥ ⋅ ∥ x − x ˉ ∥ cos ⁡ θ ≤ 0 (y - \bar{x})^T (x - \bar{x}) = \|y - \bar{x}\| \cdot \|x - \bar{x}\| \cos \theta \leq 0 (yxˉ)T(xxˉ)=yxˉxxˉcosθ0
    反之同理。

点与凸集的分离

定理描述如下:
假设 C 1 , C 2 \mathcal C_1,\mathcal C_2 C1,C2是两个非空凸集,若存在非零 α ∈ R n \alpha \in \mathbb R^n αRn b ∈ R b \in \mathbb R bR使得
或者写作: α T z ≤ α T x ∀ x ∈ C 1 , ∀ z ∈ C 2 \alpha^T z \leq \alpha^Tx \quad \forall x \in \mathcal C_1,\forall z \in \mathcal C_2 αTzαTxxC1,zC2
{ α T x ≥ b ∀ x ∈ C 1 α T z ≤ b ∀ z ∈ C 2 \begin{cases} \alpha^T x \geq b \quad \forall x \in \mathcal C_1 \\ \alpha^T z \leq b \quad \forall z \in \mathcal C_2 \end{cases} {αTxbxC1αTzbzC2
则称超平面 H = { x ∣ α T x = b } \mathcal H = \{x \mid \alpha^T x = b\} H={xαTx=b}分离集合 C 1 , C 2 \mathcal C_1,\mathcal C_2 C1,C2

严格分离
观察上述的分离定义,由于超平面可以取等,使得凸集 C 1 , C 2 \mathcal C_1,\mathcal C_2 C1,C2与超平面 H \mathcal H H之间可能存在交集。而严格分离定义在上述分离定义的基础上, C 1 , C 2 \mathcal C_1,\mathcal C_2 C1,C2均不与超平面 H \mathcal H H之间存在交集。即:
{ α T x > b ∀ x ∈ C 1 α T z < b ∀ z ∈ C 2 \begin{cases} \alpha^T x > b \quad \forall x \in \mathcal C_1 \\ \alpha^T z < b \quad \forall z \in \mathcal C_2 \end{cases} {αTx>bxC1αTz<bzC2
基于上述定义,从而有如下推论:

  • 两个不相交的非空凸集,它们一定能分离
    相反,如果存在集合不是凸集,那就不一定了~
  • 假设 C ⊂ R n \mathcal C \subset \mathbb R^n CRn非空闭凸集,点 y ∉ C y \notin \mathcal C y/C,必然存在超平面 H \mathcal H H y y y C \mathcal C C分离
    例如上面描述投影定理充要条件中的红色虚线。实际上:垂直于 y − x ˉ y - \bar{x} yxˉ并且经过线段 x ˉ y \bar{x}y xˉy上的超平面都是满足要求的
    { α = y − x ˉ α T ( y − x ) ≥ 0 ⇒ α T y ≥ α T x ∀ x ∈ C \begin{cases} \alpha = y - \bar{x} \\ \alpha^T(y - x) \geq 0 \Rightarrow \alpha^Ty \geq \alpha^T x \quad \forall x \in \mathcal C \end{cases} {α=yxˉαT(yx)0αTyαTxxC
    上面式子描述的向量 y − x y-x yx描述的是从凸集 C \mathcal C C中的任意一点指向 y y y的向量,而该向量和向量 y − x ˉ y - \bar{x} yxˉ之间的夹角必然是锐角

支撑超平面定理

定理描述如下:
假设 C ∈ R n \mathcal C \in \mathbb R^n CRn非空闭凸集,其中 x ˉ \bar{x} xˉ C \mathcal C C边界点 x ˉ ∈ ∂ C \bar{x} \in \partial \mathcal C xˉC,则存在非零向量 α ∈ R n \alpha \in \mathbb R^n αRn使得:
其中 ∂ C \partial \mathcal C C表示集合 C \mathcal C C边界点 int C \text{int} \mathcal C intC表示集合 C \mathcal C C不包含边界点的所有内点 c l C cl\mathcal C clC表示由内点、边界点构成的集合(闭包) ⇒ \Rightarrow 非空的闭凸集合
α T x ≤ α T x ˉ ∀ x ∈ c l C \alpha^T x \leq \alpha^T \bar{x} \quad \forall x \in \mathcal clC αTxαTxˉxclC
此时,也称超平面 H = { x ∈ R n ∣ α T x = α T x ˉ } \mathcal H = \{x \in \mathbb R^n \mid \alpha^T x = \alpha^T \bar{x}\} H={xRnαTx=αTxˉ}凸集 C \mathcal C C x ˉ \bar{x} xˉ处的支撑超平面。对应图像表示如下:
支撑超平面定理示例
证明过程
已知 x ˉ ∈ ∂ C \bar{x} \in \partial \mathcal C xˉC,要证: ∃ α ≠ 0 \exist \alpha \neq 0 α=0使得 α T x ≤ α T x ˉ ∀ x ∈ c l C \alpha^T x \leq \alpha^T \bar{x} \quad \forall x \in cl\mathcal C αTxαTxˉxclC

由于 x ˉ ∈ ∂ C \bar{x} \in \partial \mathcal C xˉC,则必然可以找到收敛于 x ˉ \bar{x} xˉ的点序列 { x k } ↦ x ˉ \{x_k\} \mapsto \bar{x} {xk}xˉ并且 { x k } ∉ c l C \{x_k\} \notin cl\mathcal C {xk}/clC
也就是说:这个点序列 { x k } \{x_k\} {xk}并不是从凸集 C \mathcal C C内找的,而是从集合之外找的

由于 x k ∉ c l C x_k \notin cl\mathcal C xk/clC,根据分离定理,存在超平面/非零法向量 α k \alpha_k αk,有:
也就是说:每一次迭代,总会找到相应的超平面 α k \alpha_k αk C \mathcal C C x k x_k xk做分离
α k T x ≤ α k T x k x ∈ c l C \alpha_k^T x \leq \alpha_k^T x_k \quad x \in cl\mathcal C αkTxαkTxkxclC
由于 α k \alpha_k αk法向量,我们更关注它的方向性而不是大小。因而不妨设 ∥ α k ∥ = 1 \|\alpha_k\| = 1 αk=1,则有:法向量序列 { α k } \{\alpha_k\} {αk}随着 { x k } \{x_k\} {xk}的迭代过程收敛到某位置。当 k ⇒ ∞ k \Rightarrow \infty k时,有:
α T x ˉ = lim ⁡ k ⇒ ∞ α k T ⋅ x k ≥ α T x x ∈ c l C \alpha^T \bar{x} = \mathop{\lim}\limits_{k \Rightarrow \infty} \alpha_k^T \cdot x_k \geq \alpha^T x \quad x \in cl\mathcal C αTxˉ=klimαkTxkαTxxclC
证毕。使用图像表示如下:
支撑超平面定理证明
相关参考:
最优化理论与方法-第二讲-凸集

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/955136.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开开心心带你学习MySQL数据库

关于 MySQL 数据库~~ 数据库和数据结构的关系 数据结构,是一个学科,研究数据如何组织, 对于少量的数据,不需要组织…如果是大量的数据,就得好好组织起来,以便于后续进行增删查改!!!~~ 数据库,是一类软件,这个软件就是用来组织/保存/管理数据的. 组织这些数据也是为了后续进…

RHCE——十三、Shell自动化运维编程基础

Shell 一、为什么学习和使用Shell编程二、Shell是什么1、shell起源2、查看当前系统支持的shell3、查看当前系统默认shell4、Shell 概念 三、Shell 程序设计语言1、Shell 也是一种脚本语言2、用途 四、如何学好shell1、熟练掌握shell编程基础知识2、建议 五、Shell脚本的基本元素…

【历史上的今天】8 月 9 日:人工智能理论的奠基者诞生;鸿蒙 OS 发布;“云计算”概念被提出

整理 | 王启隆 图源&#xff1a;维基百科 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 8 月 9 日&#xff0c;在 1859 年的今天&#xff0c;电梯获得了专利。 用于运输货物和建筑材料的起重系统的想法自埃及文明以来就已…

小兔鲜商03

进入可视区加载数据&#xff1a; 首页有很多模块&#xff0c;如果一次性加载所有数据&#xff0c;很卡&#xff0c;&#xff0c;当移动到要显示的地方&#xff0c;才加载数据 使用 vueuse 库中 useIntersectionObserver方法&#xff0c;&#xff0c; 传入要监听的元素 target …

UE5打完包后,启动程序不能全屏

最近看到ue5的打包程序后不能默认自动全屏&#xff0c;效果如下&#xff0c;发现并不是全屏的&#xff0c;而且就算点击放大也不是全屏 解决办法&#xff1a;设置如下之后在打包就可以了 但是会一直打印错误的日志&#xff0c;不过这个不影响使用

【LeetCode算法系列题解】第1~5题

CONTENTS LeetCode 1. 两数之和&#xff08;简单&#xff09;LeetCode 2. 两数相加&#xff08;中等&#xff09;LeetCode 3. 无重复字符的最长子串&#xff08;中等&#xff09;LeetCode 4. 寻找两个正序数组的中位数&#xff08;困难&#xff09;LeetCode 5. 最长回文子串&am…

文献综述|针对图像描述模型的对抗样本攻击

前言&#xff1a;图像描述对抗攻击旨在通过攻击正常的图像描述模型&#xff0c;为正常输入图像添加扰动得到对抗样本&#xff0c;使得正常模型输出目标句子或目标关键词&#xff0c;现将当前相关工作大致汇总如下。本综述初写于2022年8月29日。 部分相关工作介绍 Shekhar 等在…

【使用DataEase数据可视化分析工具访问cpolar】

DataEase 是开源的数据可视化分析工具&#xff0c;帮助用户快速分析数据并洞察业务趋势&#xff0c;从而实现业务的改进与优化。是开源的数据可视化分析工具&#xff0c;帮助用户快速分析数据并洞察业务趋势&#xff0c;从而实现业务的改进与优化。 在本地搭建后,借助cpolar 内…

阿里云国际站不想自己充值怎么办?-unirech阿里云国际站代充

在阿里云国际版官网注册是需要绑定paypal或者visa卡才可以完成注册&#xff0c;但是很多网友表示没有这些&#xff0c;阿里云国际站不想自己充值怎么办&#xff1f;其实通过分销商Unirech来注册的话就完全不用担心这个问题了&#xff0c;因为可以直接省略这一步&#xff0c;阿里…

【Java从入门到大牛】IO流下篇

&#x1f525; 本文由 程序喵正在路上 原创&#xff0c;CSDN首发&#xff01; &#x1f496; 系列专栏&#xff1a;Java从入门到大牛 &#x1f320; 首发时间&#xff1a;2023年8月31日 &#x1f98b; 欢迎关注&#x1f5b1;点赞&#x1f44d;收藏&#x1f31f;留言&#x1f43…

RT-Thread自动初始化机制

自动初始化机制是指初始化函数不需要被显示调用&#xff0c;只需要在函数定义处通过宏定义的方式进行申明&#xff0c;就会在系统启动过程中被执行。 int rt_hw_usart_init(void) {rt_hw_serial_register(&serial1, "uart1",RT_DEVICE_FLAG_RDWR | RT_DEVICE_FL…

Web服务器简介及HTTP协议

一、HTPP请求/响应报文格式 1.客户端连接到Web服务器 一个HTTP客户端&#xff0c;通常是浏览器&#xff0c;与Web服务器的HTTP端口&#xff08;默认为80&#xff09;建立一个TCP套接字连接。例如&#xff0c;http://www.baidu.com(URL) 2.发送HTTP请求 通过TCP套接字&#xff…

C++哈希(散列)与unordered关联式容器封装(Map、Set)

一、unordered系列关联式容器 在C98中&#xff0c;STL提供了以红黑树为底层数据结构的关联式容器&#xff08;map、set等&#xff09;&#xff0c;查询时的效率可以达到,最差情况下需要比较红黑树的高度次。因此在C11中&#xff0c;STL提供了四个unordered系列关联式容器&…

centos7 docker安装记录

以下所有命令都在root用户下进行&#xff0c;若为普通用户&#xff0c;需要在所有命令前加上 sudo。 1、更新yum包 将yum包更新到最新 yum update2、安装需要的软件包 yum-util 提供yum-config-manager功能&#xff0c;另外两个是devicemapper驱动依赖的&#xff1b; yum …

中国移动加大布局长三角,打造算力产业新高地

8月27日&#xff0c;以“数实融合算启未来”为主题的2023长三角算力发展大会在苏州举办&#xff0c;大会启动了长三角算力调度枢纽&#xff0c;携手各界推动算力产业高质量发展。 会上&#xff0c;移动云作为第一批算力资源提供方&#xff0c;与苏州市公共算力服务平台签订算力…

机器人编程怎么入门?

机器人已经在我们中间存在了二三十年。如今&#xff0c;机器人在我们的文化中比以往任何时候都更加根深蒂固。大多数机器人机器用于各种装配线&#xff0c;或在世界各地的矿山或工业设施中执行密集的物理操作。 还有一些家用机器人&#xff0c;工程师正在对机器人进行编程&…

debug调试时,通过[[FunctionLocation]]找到函数在源代码中的位置

[[FunctionLocation]] 是 JavaScript 引擎内部的一个属性&#xff0c;用于记录函数在代码中的位置。它不是 JavaScript 语法的一部分&#xff0c;而是在调试和开发过程中用于追踪函数定义位置的一个辅助属性。 当我们在浏览器的开发者工具或其他调试工具中查看函数的属性时&am…

【C++】Visual Studio EditorConfig 格式设置

【C】Visual Studio EditorConfig 格式设置 文章目录 【C】Visual Studio EditorConfig 格式设置I - EditorConfig1.1 - 通用设置indent_styleindent_sizetab_widthend_of_linecharsettrim_trailing_whitespaceinsert_final_newline II - Visual Studio 特定键值缩进设置cpp_in…

Docker基础入门:Docker网络与微服务项目发布

Docker基础入门&#xff1a;Docker网络与微服务项目发布 一、前言二、Docker0理解2.1 ip a查看当前网络环境2.2 实战--启动一个tomact01容器&#xff08;查看网络环境&#xff09;2.3 实战--启动一个tomact02容器&#xff08;查看网络环境&#xff09;2.4 容器与容器之间的通信…

企业数据将作为资产被纳入财务报表?百望云建议企业做好三点准备

在数字化转型过程中&#xff0c;大家一直比较关心技术创新有哪些&#xff0c;我如何能快速使用&#xff1f;却经常忽略了更深层次的问题&#xff0c;如&#xff1a;数字化转型的价值效益“有哪些”、我的企业“怎么获取”、我的系统是否支持“价值传递”&#xff1f; 近日&…