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

凸优化笔记-基本概念

原文

文章目录

      • 最小二乘问题
    • 仿射
      • affine hull
      • affine dimension
    • 凸集
      • 锥集
      • 超平面和半空间
      • 单纯形
      • 整半定锥
      • 保凸性的操作
      • 透视函数
    • 凸函数的条件
      • 1阶判定条件
      • 2阶判定条件
    • Epigraph 外图

m i n i m i z e f 0 ( x ) minimize\ \ \ f_0(x) minimize   f0(x)
s u b j e c t t o f i ( x ) ≤ b i , i = 1 , . . . , m subject\ to\ \ \ f_i(x)\le b_i, i = 1,...,m subject to   fi(x)bi,i=1,...,m

凸优化问题
f i ( α x + β y ) ≤ α f i ( x ) + β f i ( y ) , x , y ∈ R n , α + β = 1 , α ≥ 0 , β ≥ 0 f_i(\alpha x+\beta y) \le \alpha f_i(x)+\beta f_i(y), \ x,y\in R^n, \alpha +\beta = 1,\alpha \ge 0,\beta\ge 0 fi(αx+βy)αfi(x)+βfi(y), x,yRn,α+β=1,α0,β0
所有的函数都是凸函数时这个规划问题成为凸优化问题。

最小二乘问题

无约束条件下
m i n i m i z e ∣ ∣ A x − b ∣ ∣ 2 2 minimize ||Ax-b||_2^2 minimize∣∣Axb22
A T A x = A T b A^TAx = A^Tb ATAx=ATb
x = ( A T A ) − 1 A T b x = (A^TA)^{-1}A^Tb x=(ATA)1ATb
A ∈ R k × n , k ≥ n A\in R^{k\times n},k\ge n ARk×n,kn
此处可以猜想一下,举例如k个点拟合一条直线。k个方程求解n个自变量。
带权的最小二乘
Σ w i ( a i T x − b ) \Sigma w_i(a_i^Tx-b) Σwi(aiTxb)

regularization
Σ i = 1 k ( a i T x − b i ) 2 + ρ Σ i = 1 n x i 2 \Sigma_{i=1}^k(a_i^Tx-b_i)^2 + \rho \Sigma_{i=1}^n x_i^2 Σi=1k(aiTxbi)2+ρΣi=1nxi2

线性规划
切比雪夫近似问题
m i n i m i z e m a x i = 1... k ∣ a i T x − b i ∣ minimize\ max_{i=1...k}\ |a_i^Tx-b_i| minimize maxi=1...k aiTxbi
与最小二乘不同,不使用平方而是使用极大值——一阶矩?1范数
不可微
转化为
m i n i m i z e t minimize\ t minimize t
s u b j e c t t o a i T x − t ≤ b i , − a i T x − t ≤ − b i subject\ to\ a_i^Tx-t\le b_i,-a_i^Tx-t\le-b_i subject to aiTxtbi,aiTxtbi
内点法?

仿射

仿射集合:一个集合 C 在一个向量空间中被称为仿射集合,如果对于集合 CC 中的任意两个点 x 和 y,以及任意实数 α,其中 0≤α≤1,集合 CC 都包含点 (1−α)x+αy。

线性方程组的解集是一个仿射集合

A x = b Ax=b Ax=b的解 x 1 ≠ x 2 x_1\not=x_2 x1=x2
A x 1 = b , A x 2 = b Ax_1=b,Ax_2=b Ax1=b,Ax2=b
A ( α x 1 + β x 2 ) = A ( α x 1 ) + A ( β x 2 ) = ( α + β ) b = b A(\alpha x_1 +\beta x_2) =A(\alpha x_1)+A(\beta x_2)= (\alpha+\beta)b = b A(αx1+βx2)=A(αx1)+A(βx2)=(α+β)b=b

affine hull

The set of all affine combinations of points in some set C ⊆ Rn is called the affine hull of C, and denoted aff C

在欧几里得空间 Rn 中,一个集合 C 的仿射包(affine hull)是指所有包含在集合 C 中的点的仿射组合的集合。换句话说,它是通过 C中任意有限个点 x1,x2,…,xk的所有可能的线性组合的集合。
仿射包的理解?

aff C = { θ 1 x 1 + . . . + θ n x n ∣ x k ∈ C , Σ θ i = 1 } \textbf{aff}\ C = \{\theta_1x_1+...+\theta_nx_n |x_k\in C,\Sigma\theta_i=1 \} aff C={θ1x1+...+θnxnxkC,Σθi=1}

affine dimension

集合C的仿射维度定义为他的仿射包(?)
例:对单位圆上的点
{ x ∈ R 2 ∣ x 1 2 + x 2 2 = 1 } \{x\in R^2|x_1^2+x_2^2 = 1 \} {xR2x12+x22=1}
其仿射包是 R 2 R^2 R2(单位圆上的点通过线性组合可以产生)

相对内部(relative interior)
r e l i n t C = { x ∈ C ∣ B ( x , r ) ∩ aff C ⊆ C f o r s o m e r > 0 } relint\ C = \{x\in C|B(x,r)\cap\textbf{aff}C\subseteq C\ for\ some\ r > 0\} relint C={xCB(x,r)affCC for some r>0}
就是这些点的邻域与aff C的交集仍然在C中。
c l C r e l i n t C cl\ C \\ \ relint\ C cl C relint C 为边界

三维空间中的正方形
C = { x ∈ R 3 ∣ ∣ x 1 ∣ ≤ 1 , ∣ x 2 ∣ ≤ 2 , x 3 = 0 } C = \{x\in R^3||x_1|\le1,|x_2|\le2,x_3 = 0\} C={xR3∣∣x11,x22,x3=0}
其仿射包是什么呢?是由平面上的点组成的所有线性组合,那么自然是整个平面。那么dimension应该是2

凸集

x 1 ∈ C , x 2 ∈ C , 0 ≤ θ ≤ 1 , θ x 1 + ( 1 − θ ) x 2 ∈ C x_1\in C,x_2\in C,0\le\theta\le1,\theta x_1+(1-\theta)x_2\in C x1C,x2C,0θ1,θx1+(1θ)x2C
则为凸集
仿射集都是凸集

凸组合:
θ 1 x 1 + θ 2 x 2 + . . . + θ n x n , θ i ≥ 0 \theta_1 x_1+\theta_2x_2+...+\theta_nx_n,\theta_i\ge0 θ1x1+θ2x2+...+θnxn,θi0

凸包:
conv C = { θ 1 x 1 + . . . + θ k x k ∣ x i ∈ C , θ i ≥ 0 , i = 1 , . . . , k , θ 1 + . . . + θ k = 1 } \textbf{conv} C = \{\theta_1x_1+...+\theta_kx_k|x_i\in C,\theta_i\ge 0,i=1,...,k,\theta_1+...+\theta_k = 1\} convC={θ1x1+...+θkxkxiC,θi0,i=1,...,k,θ1+...+θk=1}
设 CC 是一个集合,那么 CC 的凸包 conv©conv© 是包含 CC 中所有点的最小凸集合。换句话说,conv©conv© 是包含 CC 的所有点的最小凸集合,且没有其他凸集合包含 CC 中的所有点。

线性组合、仿射组合与凸组合
对比一下,都是
θ 1 x 1 + . . . + θ k x k \theta_1x_1+...+\theta_kx_k θ1x1+...+θkxk
但是线性组合对 θ i \theta_i θi无要求,仿射要求 Σ θ i = 1 \Sigma\theta_i=1 Σθi=1,凸组合要求 Σ θ i = 1 \Sigma\theta_i=1 Σθi=1,且 θ i ≥ 0 \theta_i\ge 0 θi0
条件越来越强。
![./凸优化问题/凸优化笔记-基本概念/请添加图片描述

锥集

对任意 x ∈ C x\in C xC,都有 θ x ∈ C \theta x\in C θxC
锥的顶点在原点。
凸锥====== 又凸又锥(比如一个立在原点的在最粗的地方切开的洋葱头?)

θ 1 x 1 + . . . + θ k x k , θ i ≥ 0 \theta_1x_1+...+\theta_kx_k,\theta_i\ge 0 θ1x1+...+θkxk,θi0
conic combination
锥组合
锥包
{ θ 1 x 1 + . . . + θ k x k ∣ x i ∈ C , θ i ≥ 0 , i = 1 , . . . , k } \{\theta_1x_1+...+\theta_kx_k|x_i\in C,\theta_i\ge 0,i=1,...,k\} {θ1x1+...+θkxkxiC,θi0,i=1,...,k}
C的锥包是能包含C的最小的锥集

![./凸优化问题/凸优化笔记-基本概念/请添加图片描述

超平面和半空间

超平面
a T x = b a^Tx = b aTx=b
半空间
{ x ∣ a T x ≥ b } \{x|a^Tx\ge b\} {xaTxb}

椭球
ϵ = { x ∣ ( x − x c ) T P − 1 ( x − x c ) ≤ 1 } \epsilon = \{x|(x-x_c)^TP^{-1}(x-x_c)\le 1\} ϵ={x(xxc)TP1(xxc)1}
P是对称且正定的,对称轴的长度由特征值的根号给出 λ i \sqrt{\lambda_i} λi

多面体
P = { x ∣ A x ≼ b , C x = d } P=\{x|Ax≼ b,Cx = d\} P={xAxb,Cx=d}
A = [ a 1 T . . . a m T ] , C = [ c 1 T . . . c p T ] A = \begin{bmatrix}a_1^T\\.\\.\\.\\a_m^T\end{bmatrix},C = \begin{bmatrix}c_1^T\\.\\.\\.\\c_p^T\end{bmatrix} A= a1T...amT ,C= c1T...cpT

单纯形

n维单纯形有n+1个顶点,如1维线段,2维三角形,三维四面体

单位单纯形 x ⪰ 0 , 1 T x ≤ 1 x\succeq0,\textbf 1^Tx\le1 x0,1Tx1 , n维度
概率单纯形 x ⪰ 0 , 1 T x = 1 x\succeq 0,\textbf 1^Tx=1 x0,1Tx=1, n-1维度

整半定锥

对称矩阵集合 S n = { X ∈ R n × n ∣ X = X T } S^n=\{X\in R^{n\times n}|X=X^T\} Sn={XRn×nX=XT}
其维度为 ( n + 1 ) n / 2 (n+1)n/2 (n+1)n/2,可以想想有多少个独立的元素。

非负
S + n = { X ∈ R n × n ∣ X = X T , X ⪰ 0 } S^n_+=\{X\in R^{n\times n}|X=X^T,X\succeq0\} S+n={XRn×nX=XT,X0}

S + n + = { X ∈ R n × n ∣ X = X T , X ≻ 0 } S^n_++=\{X\in R^{n\times n}|X=X^T,X\succ 0\} S+n+={XRn×nX=XT,X0}
convex set:都是
convex cone: S + n + S^n_++ S+n+不是,因为没有0

保凸性的操作

仿射变换、凸集的交集、求和、笛卡尔内积

设有线性矩阵不等式(LMI)
A ( x ) = x 1 A 1 + . . . + x n A n ⪯ B A(x)=x_1A_1+...+x_nA_n\preceq B A(x)=x1A1+...+xnAnB
其解集是convex的
仿射变换呢?

透视函数

降低维度 P : R n + 1 → R n P:R^{n+1}\to R^n P:Rn+1Rn
可以等效为一个小孔成像摄像机

接受平面位置在 x 3 = − 1 x_3 = -1 x3=1
小孔在原点,被测物 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3
则相点为 − ( x 1 / x 3 , x 2 / x 3 , 1 ) -(x_1/x_3,x_2/x_3,1) (x1/x3,x2/x3,1)
d o m P = R n × R + + dom P = R^n\times R_{++} domP=Rn×R++
P ( z , t ) = z / t P(z,t)=z/t P(z,t)=z/t
如果domP中的C是凸点,他的像
P ( C ) = { P ( x ) ∣ x ∈ C } P(C)=\{P(x)|x\in C\} P(C)={P(x)xC}
也是凸的

凸函数的条件

1阶判定条件

若f可微,当且仅当dom f凸,而且
f ( y ) ≥ f ( x ) + ∇ f ( x ) T ( y − x ) f(y)\ge f(x)+\nabla f(x)^T(y-x) f(y)f(x)+f(x)T(yx)
![./凸优化问题/凸优化笔记-基本概念/请添加图片描述

其几何意义为函数上的点永远比某一条切线上的点高(或重合)
(该形式为泰勒一阶展开)

2阶判定条件

∇ f ⪰ 0 \nabla f \succeq 0 f0

  • R n R^n Rn上的范数都是凸的(由范数的三角不等式得到)
    ∣ ∣ u 1 ∣ ∣ + ∣ ∣ u 2 ∣ ∣ ≥ ∣ ∣ u 1 + u 2 ∣ ∣ ||u_1||+||u_2|| \ge ||u_1+u_2|| ∣∣u1∣∣+∣∣u2∣∣∣∣u1+u2∣∣
  • 最大值函数是凸的
    m a x ( x ) + m a x ( y ) > m a x ( x + y ) max(x) + max(y) >max(x+y) max(x)+max(y)>max(x+y)
  • 二次overlinear函数
    f ( x , y ) = x 2 / y , y > 0 ∇ 2 f = [ 2 / y − 2 x / y 2 − 2 x / y 2 2 x 2 / y 3 ] , d e t ( ∇ 2 f ) = 2 y 3 ∣ y 2 − x y − x y 2 x 2 ∣ = 2 y 2 ∗ ( 2 x 2 y 2 − x 2 y 2 ) > 0 f(x,y) = x^2/y,y>0\ \ \ \ \ \ \nabla^2 f = \begin{bmatrix}2/y & -2x/y^2 \\-2x/y^2 & 2x^2/y^3\end{bmatrix}, det(\nabla^2 f) = \frac{2}{y^3}\begin{vmatrix}y^2&-xy\\-xy&2x^2\end{vmatrix}=\frac{2}{y^2}*(2x^2y^2-x^2y^2)>0 f(x,y)=x2/y,y>0      2f=[2/y2x/y22x/y22x2/y3],det(2f)=y32 y2xyxy2x2 =y22(2x2y2x2y2)>0
  • 对数求和指数
    f ( x ) = log ⁡ ( e x p ( x 1 ) + e x p ( x 2 ) + . . . + e x p ( x n ) ) f(x) = \log(exp(x_1)+exp(x_2)+...+exp(x_n)) f(x)=log(exp(x1)+exp(x2)+...+exp(xn))
    ∂ f ∂ x i = exp ⁡ ( x i ) Σ j = 0 j = n exp ⁡ ( x j ) \frac{\partial f}{\partial x_i} = \frac{\exp(x_i)}{\Sigma_{j =0} ^{j=n} \exp(x_j)} xif=Σj=0j=nexp(xj)exp(xi)
    z = ( e x p ( x 1 ) , e x p ( x 2 ) , . . . , e x p ( x n ) ) , Σ j = 0 j = n exp ⁡ ( x j ) = 1 T z z = (exp(x_1),exp(x_2),...,exp(x_n)),\ \Sigma_{j =0} ^{j=n} \exp(x_j)= \textbf{1}^Tz z=(exp(x1),exp(x2),...,exp(xn)), Σj=0j=nexp(xj)=1Tz
    求Hessian矩阵
    ∂ 2 f ∂ x i ∂ x j = − exp ⁡ ( x i ) exp ⁡ ( x j ) ( 1 T z ) 2 , i ≠ j \frac{\partial^2f}{\partial x_i\partial x_j}=-\frac{\exp(x_i)\exp(x_j)}{(\textbf{1}^Tz)^2},i\not = j xixj2f=(1Tz)2exp(xi)exp(xj),i=j
    ∂ 2 f ∂ x i 2 = exp ⁡ ( x i ) 1 T z − exp ⁡ ( x i ) 2 ( 1 T z ) 2 \frac{\partial^2 f}{\partial x_i^2} = \frac{\exp(x_i)}{\textbf{1}^Tz} - \frac{\exp(x_i)^2}{(\textbf{1}^Tz)^2} xi22f=1Tzexp(xi)(1Tz)2exp(xi)2
    i=j时二阶导导前半部分可以组成一个对角阵列,后半部分和不等时的形式相同
    ∇ 2 f = 1 ( 1 T z ) 2 ( ( 1 T z ) d i a g ( z ) − z z T ) \nabla^2f=\frac{1}{(\textbf{1}^Tz)^2 } ((\textbf{1}^Tz )diag(z)-zz^T) 2f=(1Tz)21((1Tz)diag(z)zzT)
    对任意v,有
    v T ∇ 2 f v = 1 ( 1 T z ) 2 ( Σ j = 0 j = n z j Σ j = 0 j = n v j 2 z j − v T z z T v ) = 1 ( 1 T z ) 2 ( Σ j = 0 j = n z j Σ j = 0 j = n v j 2 z j − ( Σ j = 0 j = n z j v j ) 2 ) v^T\nabla^2f\ v=\frac{1}{(\textbf{1}^Tz)^2 } (\Sigma_{j =0} ^{j=n} z_j \Sigma_{j =0} ^{j=n} v_j^2z_j-v^Tzz^Tv)= \frac{1}{(\textbf{1}^Tz)^2 } (\Sigma_{j =0} ^{j=n} z_j \Sigma_{j =0} ^{j=n} v_j^2z_j-(\Sigma_{j =0} ^{j=n}z_jv_j)^2) vT2f v=(1Tz)21(Σj=0j=nzjΣj=0j=nvj2zjvTzzTv)=(1Tz)21(Σj=0j=nzjΣj=0j=nvj2zj(Σj=0j=nzjvj)2)
    此处使用Cauchy-Schwarz不等式, a i = v i z i , b i = z i , ( a T a ) ( b T b ) ≥ ( a T b ) 2 a_i = v_i\sqrt{z_i},b_i = \sqrt{z_i},(a^Ta) (b^Tb)\ge (a^Tb)^2 ai=vizi ,bi=zi ,(aTa)(bTb)(aTb)2,可得上式不小于0。

Epigraph 外图

函数f的graph定义为
{ ( x , f ( x ) ) ∣ x ∈ dom f } \{(x,f(x))|x\in \textbf{dom}\ f\} {(x,f(x))xdom f}
R n + 1 \textbf{R}^{n+1} Rn+1的子集
其epigraph为
epi f = { ( x , t ) ∣ x ∈ dom f , f ≤ t } \textbf{epi}\ f=\{ (x,t) | x\in \textbf{dom} \ f,f\le t\} epi f={(x,t)xdom f,ft}
(‘Epi’ means ‘above’ so epigraph means ‘above the graph’.)
亚图为
hypo f = { ( x , t ) ∣ x ∈ dom f , f ≥ t } \textbf{hypo}f = \{ (x,t) | x\in \textbf{dom} \ f,f\ge t \} hypof={(x,t)xdom f,ft}

请添加图片描述

这个图能建立凸集和凸函数的关系。当且仅当外图(epi f)是凸的时候函数是凸的。
当且仅当亚图(hypo f)是凸的时候函数是凹的

  • 矩阵分式函数
    f ( x , Y ) = x T Y − 1 x , dom f = R n × S + + n f(x,Y) = x^TY^{-1}x,\ \ \ \textbf{dom} \ f=\textbf{R}^n\times\textbf{S}^n_{++} f(x,Y)=xTY1x,   dom f=Rn×S++n

epi f = { ( x , Y , t ) ∣ Y ≻ 0 , f ( x , Y ) ≤ t } \textbf{epi} f =\{(x,Y,t)|Y\succ0, f(x,Y)\le t \} epif={(x,Y,t)Y0,f(x,Y)t}
x T Y − 1 x ≤ t x^TY^{-1}x\le t xTY1xt
此处需要用到舒尔补(Schur complement)
M = [ A B C D ] M = \begin{bmatrix}A&B\\C&D\end{bmatrix} M=[ACBD]
如果A可逆,则其舒尔补为 D − C A − 1 B D-CA^{-1}B DCA1B
代入有
M = [ Y x x T t ] ⪰ 0 M = \begin{bmatrix}Y&x\\x^T&t\end{bmatrix}\succeq 0 M=[YxTxt]0

相关文章:

凸优化笔记-基本概念

原文 文章目录 最小二乘问题 仿射affine hullaffine dimension 凸集锥集超平面和半空间单纯形整半定锥保凸性的操作透视函数 凸函数的条件1阶判定条件2阶判定条件 Epigraph 外图 m i n i m i z e f 0 ( x ) minimize\ \ \ f_0(x) minimize f0​(x) s u b j e c t t o f i ( …...

1858. 数组查找及替换

问题描述 给定某整数数组和某一整数 b 。 要求删除数组中可以被 b 整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在 𝐴‘ 到 Z 的 ASCII 之间,替换为对应字母。 元素个数不超过 100,𝑏 在 1 …...

计算机视觉与面部识别:技术、应用与未来发展

引言 在当今数字化时代,计算机视觉技术迅速发展,成为人工智能领域的一个重要分支。计算机视觉旨在让机器理解和解释视觉信息,模拟人类的视觉系统。它在各行各业中发挥着重要作用,从自动驾驶汽车到智能监控系统,再到医疗…...

懒人精灵安卓版纯本地离线文字识别插件

目的 懒人精灵是一款可以模拟鼠标和键盘操作的自动化工具。它可以帮助用户自动完成一些重复的、繁琐的任务,节省大量人工操作的时间。懒人精灵也包含图色功能,识别屏幕上的图像,根据图像的变化自动执行相应的操作。本篇文章主要讲解下更优秀的…...

在线教育数仓项目(数据采集部分1)

文章目录 数据仓库概念项目需求及架构设计项目需求分析系统数据流程设计框架版本选型集群规模估算集群资源规划设计 数据生成模块目标数据页面事件曝光启动播放错误 数据埋点主流埋点方式(了解)埋点数据上报时机埋点数据日志结构 服务器和JDK准备服务器准…...

帕金森病(PD)诊断:三种基于语音的深度学习方法

帕金森病(Parkinson’s disease, PD)是世界上第二大流行的神经退行性疾病,全球影响着超过1000万人,仅次于阿尔茨海默症。人们通常在65岁左右被诊断出患有此病。PD的一些症状包括震颤、肌肉僵硬和运动迟缓。这些症状往往出现在较晚…...

【资料分享】2024钉钉杯大数据挑战赛A题思路解析+代码演示

2024第三届钉钉杯大学生大数据挑战赛今天已经开赛,【A题】思路解析代码,资料预览:...

【优质精选】12节大模型系列教学课程之二:RAG 原理与应用

课程二:RAG 原理与应用 12节大模型系列教学课程之二:RAG 原理与应用 课程详细内容RAG 技术的基础知识RAG 的工作原理RAG 提高生成质量和准确性的原理RAG 在问答系统中的应用RAG 在文本创作中的应用RAG 在其他领域的应用探索RAG 技术的挑战与应对策略RAG …...

vue3前端开发-小兔鲜项目-产品详情基础数据渲染

vue3前端开发-小兔鲜项目-产品详情基础数据渲染!这一次内容比较多,我们分开写。第一步先完成详情页面的基础数据的渲染。然后再去做一下右侧的热门产品的列表内容。 第一步,还是老规矩,先准备好接口函数。方便我们的页面组件拿到对…...

Docker入门指南:Linux系统下的完整安装步骤与常见问题解答

本文以centos7演示。 Docker安装 可参考官方安装文档:Install Docker Engine on CentOS | Docker Docs 一图流: # 移除旧版本docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logro…...

Netty实现数据上下行

Netty实现数据上下行 使用LVSNGinxNetty实现数据接入 在数据上行的时候,通过使用车辆唯一标识码(vin)和连接通道绑定 Netty一些配置参数如下: #netty项目使用的端口 server.port8017 #使用启用epoll(在Linux上拥有更好的传输性…...

【React】事件绑定:深入解析高效处理用户交互的最佳实践

文章目录 一、什么是事件绑定?二、基本事件绑定三、绑定 this 上下文四、传递参数五、事件对象六、事件委托七、常见事件处理八、优化事件处理 React 是现代前端开发中最受欢迎的框架之一,其组件化和高效的状态管理能力使得构建复杂的用户界面变得更加容…...

SpringCloud:使用OpenFeign优化前面的Nacos实现高效购物车商品信息处理

在现代电商系统中,购物车的性能直接影响用户的购物体验。为了提升系统性能和用户满意度,我们可以使用Spring Cloud的OpenFeign和负载均衡器来高效地处理购物车中的商品信息。本文将详细介绍如何在Spring Cloud中集成这些组件,并实现一个高效的…...

计算机三级嵌入式笔记(二)——嵌入式处理器

目录 考点1 嵌入式处理器的结构类型 考点2 嵌入式处理器简介 考点3 ARM处理器概述 考点4 处理器和处理器核 考点5 ARM 处理器的分类 考点6 经典 ARM 处理器 考点7 ARM Cortex 嵌入式处理器 考点8 ARM Cortex实时嵌入式处理器 考点9 ARM Cortex 应用处理器 考点10 AR…...

【GoLang】Golang 快速入门(第一篇)

目录 1.简介: 2.设计初衷: 3.Go语言的 特点 4.应用领域: 5.用go语言的公司: 6. 开发工具介绍以及环境搭建 1.工具介绍: 2.VSCode的安装: 3.安装过程: 4.Windows下搭建Go开发环境--安装和配置SDK 1.搭建Go开发环境 - 安装…...

Linux中的三类读写函数

文件IO和标准IO的区别 遵循标准: 文件IO遵循POSIX标准,主要在类UNIX环境下使用。标准IO遵循ANSI标准,具有更好的可移植性,可以在不同的操作系统上重新编译后运行。可移植性: 文件IO的可移植性相对较差,因为…...

MATLAB基础应用精讲-【数模应用】二元Probit回归分析

目录 前言 知识储备 二元Logistic模型和Probit模型 Logistic模型的形式 Probit模型 优势比(OR) 准二项分布族 算法原理 数学模型 二元因变量和线性概率模型 probit和logit回归 logit和probit模型的估计和推断 稳健性检验 二元logit回归分析全流程 一、案例数…...

找工作准备刷题Day10 回溯算法 (卡尔41期训练营 7.24)

回溯算法今天这几个题目做过,晚上有面试,今天水一水。 第一题:Leetcode77. 组合 题目描述 解题思路 从题目示例来看,k个数是不能重合的,但是题目没有明确说明这一点。 使用回溯算法解决此问题,利用树形…...

如何有效的进行小程序的优化

如今小程序已经成为了许多开发者开展业务,提供服务的重要平台 。所以如何有效的优化小程序成为了开发者关注的首要问题,以下是一份详细的小程序优化方案: 一、目标设定 明确小程序优化的主要目标,例如提高用户留存率、增加用户活…...

FPGA-ROM IP核的使用(2)

前言 接着昨天的进行一个小的实验验证ROM IP核。 实验效果 读取上一期生成的IP核中的数据,并将其显示在数码管上。 具体流程 ROM IP核存放数据0~255,之后每隔0.2s,从0的地址开始读数据,并显示在数码管上;接着先后…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

龙虎榜——20250610

上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙

WebGL:在浏览器中解锁3D世界的魔法钥匙 引言:网页的边界正在消失 在数字化浪潮的推动下,网页早已不再是静态信息的展示窗口。如今,我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室,甚至沉浸式的V…...

boost::filesystem::path文件路径使用详解和示例

boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类&#xff0c;封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解&#xff0c;包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...