机器学习笔记之最优化理论与方法(四) 凸函数:定义与基本性质

机器学习笔记之最优化理论与方法——再回首:凸函数定义与基本性质

  • 引言
    • 凸函数的定义
      • 严格凸函数
      • 凸函数的推论:凹函数
    • 常见凸函数
    • 凸函数的基本性质
    • 几种保持函数凸性的运算
    • 凸集与凸函数之间的关联关系

引言

本节将介绍凸函数定义及其基本性质

本文是关于梯度下降法:凸函数 VS \text{VS} VS强凸函数的逻辑补充。涉及的证明过程如:

  • 凸函数的一阶条件
  • 凸函数的梯度单调性
  • 凸函数的二阶条件

详见上述链接。

凸函数的定义

关于凸函数基本定义表示如下:
假设 C \mathcal C C非空凸集 f ( ⋅ ) f(\cdot) f()是定义在 C \mathcal C C上的函数,如果对于 ∀ x , y ∈ C \forall x,y \in \mathcal C x,yC α ∈ ( 0 , 1 ) \alpha \in (0,1) α(0,1),均有:
关于凸集的概念、基本性质、凸组合详见凸集的简单认识。
f [ α ⋅ x + ( 1 − α ) ⋅ y ] ≤ α ⋅ f ( x ) + ( 1 − α ) ⋅ f ( y ) f[\alpha \cdot x + (1 - \alpha) \cdot y] \leq \alpha \cdot f(x) + (1 - \alpha) \cdot f(y) f[αx+(1α)y]αf(x)+(1α)f(y)
则称函数 f ( ⋅ ) f(\cdot) f()凸集 C \mathcal C C上的凸函数

  • 观察不等式左侧:其中 α ⋅ x + ( 1 − α ) ⋅ y \alpha \cdot x + (1 - \alpha) \cdot y αx+(1α)y x , y x,y x,y的凸组合,也就是连接点 x , y x,y x,y的线段上的点;而 f [ α ⋅ x + ( 1 − α ) ⋅ y ] f[\alpha \cdot x + (1 - \alpha) \cdot y] f[αx+(1α)y]则表示连接点 x , y x,y x,y线段上点的函数值
  • 观察不等式右侧:同左侧,它描述的是: f ( x ) , f ( y ) f(x),f(y) f(x),f(y)的凸组合,并始终满足小于等于的关系。

凸函数的几何意义解释如下图所示:

  • 很明显,橙色点相比于黄色点对应的函数值要小。
  • x , y x,y x,y两点重合时,上式取等。
    凸函数的几何意义解释
    相反,某函数的函数图像表示如下:
    x , y x,y x,y这种取值的情况下,并不满足上述函数。因而该函数不是一个凸函数
    非凸函数示例

严格凸函数

严格凸函数是在凸函数的基础上增加了相关要求。它的定义方式仅将凸函数的定义修改为:
从而对 x , y ∈ C x,y \in \mathcal C x,yC条件下增加了新的要求: x , y x,y x,y不能重合
f [ α ⋅ x + ( 1 − α ) ⋅ y ] < α ⋅ f ( x ) + ( 1 − α ) ⋅ f ( y ) f[\alpha \cdot x + (1 - \alpha) \cdot y] < \alpha \cdot f(x) + (1 - \alpha) \cdot f(y) f[αx+(1α)y]<αf(x)+(1α)f(y)
很明显,上面描述的第一个图像对应的函数是严格凸函数;相反:什么样的函数凸函数,但不是严格凸函数 ? ? ?例如线性函数 f ( x ) = x f(x) = x f(x)=x,它的函数图像就是一条直线
凸函数——线性函数示例
上述函数完全满足凸函数的定义;但不满足严格凸函数的定义。

凸函数的推论:凹函数

如果从定义的角度表述,那么凹函数的定义方式仅将凸函数的定义修改为:
其他条件不变~
f [ α ⋅ x + ( 1 − α ) ⋅ y ] ≥ α ⋅ f ( x ) + ( 1 − α ) ⋅ f ( y ) f[\alpha \cdot x + (1 - \alpha) \cdot y] \geq \alpha \cdot f(x) + (1 - \alpha) \cdot f(y) f[αx+(1α)y]αf(x)+(1α)f(y)
同上,凹函数的函数图像示例如下:
凹函数图像示例
凸函数的角度观察,可以得到推论: − f ( ⋅ ) -f(\cdot) f()是凸函数,则 f ( ⋅ ) f(\cdot) f()是凹函数
延伸:如果是关于凹函数 f ( x ) f(x) f(x)的优化问题,如 max ⁡ f ( x ) \max f(x) maxf(x);可以将其转化为相应凸函数的优化问题 min ⁡ − f ( x ) \min -f(x) minf(x)

常见凸函数

常见凸函数有如下几种:

  • 线性函数 f ( x ) = A T x + b f(x) = \mathcal A^T x + b f(x)=ATx+b;需要注意的是:线性函数是唯一一类既是凸函数,也是凹函数的函数。
  • 二次函数:它由二次型 x T Q x x^T\mathcal Q x xTQx线性函数 A T x + b \mathcal A^Tx + b ATx+b组成:
    f ( x ) = x T Q x + A T x + b f(x) = x^T \mathcal Q x + \mathcal A^Tx + b f(x)=xTQx+ATx+b
    其中 Q ∈ S + n \mathcal Q \in \mathcal S_{+}^n QS+n。在凸集的简单认识(上)中介绍过, S + n \mathcal S_{+}^n S+n描述的可行域半定矩阵锥:所有 n n n阶半正定矩阵组成的集合
    其中集合 S n \mathcal S^n Sn描述所有 n n n对称矩阵组成的集合
    S + n { X ∈ S n ∣ X ≽ 0 } \mathcal S_{+}^n \{\mathcal X \in \mathcal S^n \mid \mathcal X \succcurlyeq 0\} S+n{XSnX0}
    并且 S + n \mathcal S_{+}^n S+n是一个凸集;也就是说:矩阵 Q \mathcal Q Q必然至少是一个半正定矩阵。相反,如果对称矩阵 Q \mathcal Q Q特征值存在负值(如不定矩阵)甚至是负定矩阵,那么对应二次型 x T Q x x^T \mathcal Qx xTQx展开后其二次项系数可能是负值,对应的二次函数就不是凸函数。
  • 最小二乘函数:在线性回归一节中介绍了最小二乘法 ( Least Square Method ) (\text{Least Square Method}) (Least Square Method)它通常在线性回归任务中描述模型预测结果真实标签之间差异性的考量
    L ( W ) = ∑ i = 1 N ∥ W T x ( i ) − y ( i ) ∥ 2 2 \mathcal L(\mathcal W) = \sum_{i=1}^N \|\mathcal W^T x^{(i)} - y^{(i)}\|_2^2 L(W)=i=1NWTx(i)y(i)22
    其中 ( x ( i ) , y ( i ) ) ∈ D = { ( x ( i ) , y ( i ) ) } i = 1 N (x^{(i)},y^{(i)}) \in \mathcal D = \{(x^{(i)},y^{(i)})\}_{i=1}^N (x(i),y(i))D={(x(i),y(i))}i=1N。而最小二乘函数定义为如下形式:
    f ( x ) = ∥ A x − b ∥ 2 2 f(x) = \|\mathcal Ax - b\|_2^2 f(x)=Axb22
    实际上,该函数可将其描述为二次函数
    f ( x ) = ∥ A x − b ∥ 2 2 = ( A x − b ) T ( A x − b ) = ( A x ) T A x − b T A x − ( A x ) T b + b T b = x T A T A x + b T A x − x T A T b + b T b \begin{aligned} f(x) & = \|\mathcal A x - b\|_2^2 \\ & = (\mathcal Ax - b)^T (\mathcal A x - b) \\ & = (\mathcal Ax)^T \mathcal Ax - b^T\mathcal Ax - (\mathcal Ax)^T b + b^Tb \\ & = x^T \mathcal A^T \mathcal A x + b^T \mathcal Ax - x^T \mathcal A^T b + b^T b \\ \end{aligned} f(x)=Axb22=(Axb)T(Axb)=(Ax)TAxbTAx(Ax)Tb+bTb=xTATAx+bTAxxTATb+bTb
    很明显,对应上式中的二次型是: x T A T A x x^T \mathcal A^T \mathcal A x xTATAx,而矩阵 A T A \mathcal A^T \mathcal A ATA必然至少是一个半正定矩阵。因此:最小二乘函数一定是凸函数
  • m m m范数函数:在正则化——拉格朗日乘数法角度中介绍过明可夫斯基距离 ( Minikowski Distance ) (\text{Minikowski Distance}) (Minikowski Distance)。关于向量 x ( i ) ∈ R p x^{(i)} \in \mathbb R^p x(i)Rp p p p维空间原点之间的明可夫斯基距离表示如下:
    ∥ x ( i ) ∥ p = [ ∑ k = 1 p ∣ x k ( i ) − 0 ∣ m ] 1 m \|x^{(i)}\|_p = \left[\sum_{k=1}^p |x_k^{(i)} - 0|^m\right]^{\frac{1}{m}} x(i)p=[k=1pxk(i)0m]m1
    可以将上述函数描述为关于向量 x ( i ) x^{(i)} x(i)的函数 f [ x ( i ) ] f[x^{(i)}] f[x(i)]
    f ( x ) = [ ∑ k = 1 p ∣ x k ∣ m ] 1 m f(x) = \left[\sum_{k=1}^p |x_k|^m\right]^{\frac{1}{m}} f(x)=[k=1pxkm]m1
    其中关于 m ≥ 0 m \geq 0 m0时,函数 f ( x ) f(x) f(x) m m m不同取值的函数图像示例表示如下:
    其中当 m = 0 m=0 m=0时, f ( x ) = ∥ x ∥ 0 f(x) = \|x\|_0 f(x)=x0 x x x非零分量的个数。它是一个非凸函数~
    m取不同值时明可夫斯基距离结果
    根据凸函数定义可以看出: m ≥ 1 m \geq 1 m1时,该函数是凸函数;该函数围城的区域是凸集。因而,在 m ≥ 1 m \geq 1 m1时, m m m范函数才是凸函数。

凸函数的基本性质

  • 如果 f ( x ) f(x) f(x)凸函数,那么 f ( x ) f(x) f(x)自身在其定义域内一定是连续函数

  • 如果 f ( x ) f(x) f(x)凸函数 ⇔ ∀ x , y ∈ R n \Leftrightarrow \forall x,y \in \mathbb R^n x,yRn一元函数 ϕ ( α ) \phi(\alpha) ϕ(α)表示如下:
    ϕ ( α ) = f ( x + α ⋅ y ) \phi(\alpha) = f(x + \alpha \cdot y) ϕ(α)=f(x+αy)
    并且该函数是凸函数

    如果从几何意义的角度解释:由于向量 x , y x,y x,y已知,那么向量 x + α ⋅ y x + \alpha \cdot y x+αy可看作是:从向量 x x x所在位置出发,沿着向量 y y y的方向,移动一段距离后的向量结果。只不过这个距离由 α \alpha α控制。对应图像表示如下:

    • 如果 α \alpha α负值,相当于沿着向量 y y y的反方向移动相应的距离。
    • 下图中的 y y y更多表示移动的方向;而 α ∈ R \alpha \in \mathbb R αR控制移动的距离。 x+ay函数图像示例

    那么关于 ϕ ( α ) = f ( x + α ⋅ y ) \phi(\alpha) = f(x + \alpha \cdot y) ϕ(α)=f(x+αy)它的函数图像示例如下:
    其中黄色平面描述 x + α ⋅ y x + \alpha \cdot y x+αy的函数图像,而 f ( x + α ⋅ y ) f(x + \alpha \cdot y) f(x+αy)则表示 x + α ⋅ y x+\alpha \cdot y x+αy的函数图像与凸函数 f ( ⋅ ) f(\cdot) f()对应函数图像切面产生的图像黄色虚线,可以看出,这个切面图像也是一个凸函数
    几何角度认识f(x+ay)

  • 凸函数的一阶条件 f ( x ) f(x) f(x) C \mathcal C C上的凸函数充要条件是:
    f ( y ) ≥ f ( x ) + [ ∇ f ( x ) ] T ( y − x ) ∀ x , y ∈ C f(y) \geq f(x) + [\nabla f(x)]^T (y - x) \quad \forall x,y \in \mathcal C f(y)f(x)+[f(x)]T(yx)x,yC
    该条件的几何图像描述表示如下:
    假设将 x x x固定住,此时 ∇ f ( x ) \nabla f(x) f(x)是一个常量,它表示函数 f ( ⋅ ) f(\cdot) f() x x x点处的斜率从而不等式右侧是关于 y y y的一次函数,并且经过点 [ x , f ( x ) ] [x,f(x)] [x,f(x)]。可以发现: f ( y ) f(y) f(y)的图像总是在 ϕ ( y ) \phi(y) ϕ(y)的上方(可以重合)
    凸函数一阶条件图像示例
    相反,非凸函数并不具备这个性质。示例如下:
    此时 f ( y ) < ϕ ( y ) f(y) < \phi(y) f(y)<ϕ(y)
    非凸函数反例示例
    其证明过程见开头链接,这里不再赘述。

  • 凸函数的二阶条件:假设 C ⊂ R n \mathcal C \sub \mathbb R^n CRn非空开凸集,并且函数 f ( x ) f(x) f(x) C \mathcal C C二阶连续可微,则有:
    f ( x ) is Convex  ⇔ ∇ 2 f ( x ) ≽ 0 , ∀ x ∈ C f(x)\text{ is Convex } \Leftrightarrow \nabla^2 f(x) \succcurlyeq 0, \forall x \in \mathcal C f(x) is Convex 2f(x)0,xC
    如果 x x x是一个标量,那么它关于函数 f ( ⋅ ) f(\cdot) f() x x x点处的 Hessian Matrix ⇒ ∇ 2 f ( x ) \text{Hessian Matrix} \Rightarrow \nabla^2 f(x) Hessian Matrix2f(x)则退化成二阶导数 f ′ ′ ( x ) f''(x) f′′(x)。这意味着: f ′ ′ ( x ) ≥ 0 ⇒ f ′ ( x ) f''(x) \geq 0 \Rightarrow f'(x) f′′(x)0f(x)的变化率随着 x x x的增加,处于一个增加/稳定的状态

    同上,这里的证明见开头链接,这里不再赘述。

几种保持函数凸性的运算

在函数 f ( x ) f(x) f(x)是凸函数的基础上,对 f ( x ) f(x) f(x)执行一些运算/变换,运算结果其凸函数性质保持不变

  • 透视函数 ( Perspective Function ) (\text{Perspective Function}) (Perspective Function):若 f ( x ) f(x) f(x)凸函数 x ∈ R n x \in \mathbb R^n xRn。令:
    此时 G ( ⋅ ) \mathcal G(\cdot) G()函数内的变量有 n + 1 n+1 n+1个。
    G ( x , t ) = t ⋅ f ( x t ) t > 0 \mathcal G(x,t) = t \cdot f \left(\frac{x}{t} \right) \quad t > 0 G(x,t)=tf(tx)t>0
    G ( x , t ) \mathcal G(x,t) G(x,t)也是凸函数
    这里假设 f ( x ) f(x) f(x)是一元函数,且 f ( x ) = x 2 f(x) = x^2 f(x)=x2,那么对应的 G ( x , t ) = x 2 t \begin{aligned}\mathcal G(x,t) = \frac{x^2}{t}\end{aligned} G(x,t)=tx2。该二元函数对应的函数图像表示如下:
    即虚线描述的范围,如一个展开的光幕~凑合看吧。其中 [ 0 , 1 ] [0,1] [0,1]的部分这里没有表示~
    透视函数示例
  • 非负组合:若 f i ( x ) ( i = 1 , 2 , ⋯ , m ) f_i(x)(i=1,2,\cdots,m) fi(x)(i=1,2,,m)均是凸函数,对于 W i ≥ 0 ( i = 1 , 2 , ⋯ , m ) \mathcal W_i \geq 0(i=1,2,\cdots,m) Wi0(i=1,2,,m),有:
    G ( x ) = ∑ i = 1 m W i ⋅ f i ( x ) \mathcal G(x) = \sum_{i=1}^m \mathcal W_i \cdot f_i(x) G(x)=i=1mWifi(x)
    那么 G ( x ) \mathcal G(x) G(x)是凸函数
    可以观察 G ( x ) \mathcal G(x) G(x)函数在 x x x点处的 Hessian Matrix ⇒ ∇ 2 G ( x ) \text{Hessian Matrix} \Rightarrow \nabla^2 \mathcal G(x) Hessian Matrix2G(x)
    ∇ 2 G ( x ) = ∑ i = 1 m W i ⋅ ∇ 2 f i ( x ) \nabla^2 \mathcal G(x) = \sum_{i=1}^m \mathcal W_i \cdot \nabla^2 f_i(x) 2G(x)=i=1mWi2fi(x)
    很明显, ∇ 2 f i ( x ) ( i = 1 , 2 , ⋯ , m ) \nabla^2 f_i(x)(i=1,2,\cdots,m) 2fi(x)(i=1,2,,m)必然是半正定的;各 ∇ 2 f i ( x ) \nabla^2 f_i(x) 2fi(x)对应的线性组合 ( W i ≥ 0 ) (\mathcal W_i \geq 0) (Wi0),其最终结果必然也是半正定的
  • 一组凸函数求最大值:已知 f i ( x ) ( i = 1 , 2 , ⋯ , m ) f_i(x)(i=1,2,\cdots,m) fi(x)(i=1,2,,m)是凸函数,有:
    G ( x ) = max ⁡ { f i ( x ) } i = 1 , 2 , ⋯ , m \mathcal G(x) = \max \{f_i(x)\} \quad i=1,2,\cdots,m G(x)=max{fi(x)}i=1,2,,m
    那么 G ( x ) \mathcal G(x) G(x)是凸函数。示例图像表示如下:
    最大值实际上是求交集的一种情况。
    凸函数求最大值

凸集与凸函数之间的关联关系

  • 工具 1 1 1 - 水平集。其定义对应数学符号描述表示如下:
    L a = { x ∣ f ( x ) ≤ a , x ∈ C } \mathcal L_a = \{x \mid f(x) \leq a,x \in \mathcal C\} La={xf(x)a,xC}
    任意函数都可以定义水平集,其中 a a a被称作水平值。以二元凸函数为例,给定水平集 a a a,相当于水平集所描述平面横截二元函数图像,并将处在水平集下方的函数图像进行投影。对应图像表示如下:
    水平集(投影描述)示例
    可以明显观察到:投影产生的集合明显是一个凸集。可以使用凸集定义进行证明:

    • 假设 f ( ⋅ ) f(\cdot) f()凸函数,存在值 a a a,其水平集表示为 L a \mathcal L_a La
    • ∀ x , y ∈ L a ; ∀ λ ∈ [ 0 , 1 ] \forall x,y \in \mathcal L_a;\forall \lambda \in [0,1] x,yLa;λ[0,1],仅需要判断 λ ⋅ x + ( 1 − λ ) ⋅ y \lambda \cdot x + (1 - \lambda) \cdot y λx+(1λ)y是否也在 L a \mathcal L_a La即可。观察 f [ λ ⋅ x + ( 1 − λ ) ⋅ y ] f[\lambda \cdot x + (1 - \lambda) \cdot y] f[λx+(1λ)y]的结果:
      f [ λ ⋅ x + ( 1 − λ ) ⋅ y ] ≤ λ ⋅ f ( x ) + ( 1 − λ ) ⋅ f ( y ) f[\lambda \cdot x + (1 - \lambda) \cdot y] \leq \lambda \cdot f(x) + (1 - \lambda) \cdot f(y) f[λx+(1λ)y]λf(x)+(1λ)f(y)
      由于 f ( x ) ≤ a f(x) \leq a f(x)a f ( y ) ≤ a f(y) \leq a f(y)a因而 λ ⋅ f ( x ) + ( 1 − λ ) ⋅ f ( y ) ≤ a \lambda \cdot f(x) + (1 - \lambda) \cdot f(y) \leq a λf(x)+(1λ)f(y)a恒成立。从而 λ ⋅ x + ( 1 − λ ) ⋅ y \lambda \cdot x + (1 - \lambda) \cdot y λx+(1λ)y也在 L a \mathcal L_a La内。因而 L a \mathcal L_a La必然是一个凸集
      \quad

    相反呢 ? ? ?如果任意取 a a a,函数 f ( x ) f(x) f(x)对应的水平集均是凸集,那么 f ( ⋅ ) f(\cdot) f()是否为凸函数 ? ? ?不一定。如下图描述的函数:
    反例示例

  • 工具 2 2 2 - EpiGragh \text{EpiGragh} EpiGragh。关于函数 f ( x ) f(x) f(x) EpiGragh \text{EpiGragh} EpiGragh定义表示如下:
    Epi ( f ) = { ( x y ) ∣ f ( x ) ≤ y , x ∈ C } \text{Epi}(f) = \left\{\begin{pmatrix}x \\ y\end{pmatrix} \mid f(x) \leq y,x \in \mathcal C \right\} Epi(f)={(xy)f(x)y,xC}
    其中 y y y是一个变量,仅满足: f ( x ) ≤ y f(x) \leq y f(x)y即可。很明显,若 x ∈ R n x \in \mathbb R^n xRn,那么 ( x y ) \begin{pmatrix}x \\ y\end{pmatrix} (xy)是一个 n + 1 n+1 n+1维向量。而 Epi(f) \text{Epi(f)} Epi(f)就是由该向量组成的集合。如果 f ( x ) f(x) f(x)是一个一维函数,那么它对应的 EpiGragh \text{EpiGragh} EpiGragh示例如下:
    由于 y y y进满足 f ( x ) ≤ y f(x) \leq y f(x)y即可,因此阴影部分可以无限向上延伸 ( y ⇒ ∞ ) (y \Rightarrow \infty) (y),这里没有画出来。
    EpiGragh示例
    其中阴影部分 Epi(f) \text{Epi(f)} Epi(f)描述的集合。很明显,它比 x x x要高一维

    关于 EpiGraph \text{EpiGraph} EpiGraph的一个充要条件
    f ( ⋅ ) is Convex Function ⇔ Epi ( f ) is Convex Set f(\cdot) \text{ is Convex Function} \Leftrightarrow \text{Epi}(f) \text{ is Convex Set} f() is Convex FunctionEpi(f) is Convex Set

Reference \text{Reference} Reference
最优化理论与方法-第三讲-凸函数:定义与基本性质

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

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

相关文章

设计模式—简单工厂

目录 一、前言 二、简单工厂模式 1、计算器例子 2、优化后版本 3、结合面向对象进行优化&#xff08;封装&#xff09; 3.1、Operation运算类 3.2、客户端 4、利用面向对象三大特性&#xff08;继承和多态&#xff09; 4.1、Operation类 4.2、加法类 4.3、减法类 4…

QUdpSocket Class

继承自 QAbstractSocket 类 QUdpSocket类提供UDP套接字。 UDP(用户数据报协议)是一种轻量级、不可靠、面向数据报、无连接的协议。它可以在可靠性不重要的情况下使用。QUdpSocket是QAbstractSocket的一个子类&#xff0c;它允许您发送和接收UDP数据报。 使用这个类最常见的方法…

【探索SpringCloud】服务发现-Nacos服务端数据结构和模型

前言 上一文中&#xff0c;我们从官方的图示了解到Nacos的服务数据结构。但我关心的是&#xff0c;Nacos2.x不是重构了吗&#xff1f;怎么还是这种数据结构&#xff1f;我推测&#xff0c;必然是为了对Nacos1.x的兼容&#xff0c;实际存储应该不是这样的。于是&#xff0c;沿着…

VueRouter的基本使用

路由的基本使用 文章目录 路由的基本使用01-VueRouterVueRouter的使用 &#xff08; 5 2&#xff09;综合代码 拓展&#xff1a;组件存放问题 什么是路由呢&#xff1f; 在生活中的路由&#xff1a;设备和IP的映射关系 在Vue中&#xff1a;路径 和 组件 的 映射 关系。 01-Vu…

并发测试工具 apache-jmeter使用发送post请求JSON数据

目录 1 下载安装 2 汉化 3 创建高并发测试 配置线程组 创建web请求 创建监听器 结果树 汇总报告 为web请求添加token 添加Content-Type用于发送json 4 启动测试 5 查看结果 1 下载安装 官网Apache JMeter - Download Apache JMeter 解压运行 2 2 汉化 打开软件…

【Mysql系列】(一)MySQL语句执行流程

首发博客地址 首发博客地址 系列文章地址 参考文章 MySQL 逻辑架构 连接器 连接命令一般是这么写的 mysql -h$ip -P$port -u$user -p 那么 什么是连接器&#xff1f; MySQL 连接器&#xff08;MySQL Connector&#xff09;是用于连接和与 MySQL 数据库进行交互的驱动程序。它提…

远程管理通道安全SSH协议主机验证过程

可以使用SSH协议进行远程管理通道安全保护&#xff0c;其中涉及的主要安全功能包括主机验证、数据加密性和数据完整性保护。 这里要注意的是【主机验证】和【身份验证】的区别&#xff0c;主机验证是客户端确认所访问的服务端是目标访问对象&#xff0c;比如从从客户端A(192.16…

MongoDB 的简介

MongoDB 趋势 对于 MongoDB 的认识 Q&A QA什么是 MongoDB&#xff1f; 一个以 JSON 为数据模型的文档数据库一个以 JSON 为数据模型的文档数据库文档来自于“JSON Document”&#xff0c;并非我们一般理解的 PDF&#xff0c;WORD谁开发 MongDB&#xff1f; 上市公司 MongoD…

【USRP】产品型号、参数、架构全解析系列 1:B200 / B210 / B200mini / B205mini

一、 USRP 简介 通用软件无线电外设( USRP ) 是由 Ettus Research 及其母公司National Instruments设计和销售的一系列软件定义无线电。USRP 产品系列由Matt Ettus领导的团队开发&#xff0c;被研究实验室、大学和业余爱好者广泛使用。 大多数 USRP 通过以太网线连接到主机&a…

每日一题 1372二叉树中的最长交错路径

题目 给你一棵以 root 为根的二叉树&#xff0c;二叉树中的交错路径定义如下&#xff1a; 选择二叉树中 任意 节点和一个方向&#xff08;左或者右&#xff09;。如果前进方向为右&#xff0c;那么移动到当前节点的的右子节点&#xff0c;否则移动到它的左子节点。改变前进方…

flutter plugins插件【三】【Flutter Intl】

3、 Flutter Intl 多语言国际化 在Android Studio中菜单Tools找到flutter intl创建多语言配置。 创建后会在pubspec.yaml出现 flutter_intl:enabled: true 在工程的lib会生成l10n与generated文件夹 l10n包含 intl_en.arb intl_zn.arb 我们在intl_en.arb添加 { home: &quo…

青翼科技基于VITA57.1的16路数据收发处理平台产品手册

FMC211是一款基于VITA57.1标准规范的实现16路LVDS数据采集、1路光纤数据收发处理FMC子卡模块。 该板卡支持2路CVBS&#xff08;复合视频&#xff09;视频输入&#xff0c;能够自动检测标准的模拟基带电视信号&#xff0c;并将其转变为8位ITU-R.656接口信号或者4:2:2分量视频信…

Leetcode 面试题 17.01 不用加号的加法

设计一个函数把两个数字相加。不得使用 或者其他算术运算符。 示例: 输入: a 1, b 1 输出: 2 提示&#xff1a; a, b 均可能是负数或 0结果不会溢出 32 位整数 我的答案&#xff1a; 一、信息 1.设计一个函数把两个数相加 2.不得使用或者其他运算符 3.a,b均为负数或…

企业工程项目管理系统源码-专注项目数字化管理-Java工程管理-二次开发

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

什么是 Web 应用程序安全测试?

Web 应用程序安全测试是一种严格的实践&#xff0c;旨在识别、分析和纠正基于 Web 的应用程序中的漏洞。 此过程涉及使用一套全面的工具和方法来评估 Web 应用程序的安全性和完整性。它包括渗透测试、漏洞评估和代码审查等实践。 Web 应用程序安全测试的主要目标是阻止潜在的…

沃尔玛,eBay买家号成号率低如何解决?

eBay是一个很庞大的系统&#xff0c;买家号必须在本土环境才会安全。要想养出高权重的买家号&#xff0c;需要花大量的时间跟精力&#xff0c;一旦养出一批高质量且时间周期较长的买家号&#xff0c;就可以做很多事情&#xff0c;比如可以帮产品上排名&#xff0c;提高产品的权…

2020ICPC南京站

K K Co-prime Permutation 题意&#xff1a;给定n和k&#xff0c;让你构造n的排列&#xff0c;满足gcd(pi, i)1的个数为k。 思路&#xff1a;因为x和x-1互质&#xff0c;1和任何数互质&#xff0c;任何数和它本身不互质 当k为奇数时&#xff0c;p11&#xff0c;后面k-1个数…

python3.11教程2:基础数据类型(数字和字符串)、组合数据类型(集合、元组、列表、字典)

文章目录 五、基本数据类型5.1 整数和浮点数5.1.1 整数和浮点数的类型5.1.2 进制和进制转换5.1.3 round函数 5.2 运算符5.2.1 常用运算符、运算符函数和逻辑运算符5.2.2 位运算符5.2.3 运算符的优先级及其进阶使用 5.3 布尔类型5.4 字符串5.3.1 字符串的基本操作5.3.2 字符串函…

CAN总线学习——物理层、数据链路层、CANopen协议

1、CAN总线介绍 1.1、CAN总线描述 (1)CAN总线支持多节点通信&#xff0c;但是节点不分区主从&#xff0c;也就是不存在一个节点来负责维护总线的通信&#xff1b;这点可以和I2C总线对对比&#xff0c;I2C是一主多从模式&#xff1b; (2)是差分、异步、串行总线&#xff0c;采用…

Android安卓实战项目(13)---记账APP详细记录每天的收入和支出并且分类统计【生活助手类APP】强烈推荐自己也在用!!!(源码在文末)

Android安卓实战项目&#xff08;13&#xff09;—记账APP详细记录每天的收入和支出并且分类统计【生活助手类APP】强烈推荐自己也在用&#xff01;&#xff01;&#xff01;&#xff08;源码在文末&#x1f415;&#x1f415;&#x1f415;&#xff09; 一.项目运行介绍 B站…