《机器学习数学基础》补充资料:欧几里得空间的推广

ops/2025/2/25 13:30:27/

在《机器学习数学基础》第 1 章介绍了向量空间,并且说明了机器学习问题通常是在欧几里得空间。然而,随着机器学习技术的发展,特别是 AI 技术开始应用于科学研究中,必然会涉及到其他类型的空间。本文即在《机器学习数学基础》一书所讲解的内容基础之上,简要介绍希尔伯特空间、函数空间的有关概念。

希尔伯特空间

在数学裡,希尔伯特空间(英语:Hilbert space)即完备的内积空间,也就是一个带有内积完备向量空间。

例如 R ∞ \mathbb{R}^\infty R 中的向量 v \pmb{v} v 含有无限多个分量,即:

v = [ v 1 v 2 ⋮ ] \pmb{v}=\begin{bmatrix}v_1\\v_2\\\vdots\end{bmatrix} v= v1v2

若要使得以下定义依然成立:

∥ v ∥ 2 = v 1 2 + v 2 2 + ⋯ \begin{Vmatrix}\pmb{v}\end{Vmatrix}^2=v_1^2+v_2^2+\cdots v 2=v12+v22+

则上述无穷级数应该收敛至一个有限数值,例如: v = [ 1 1 / 2 1 / 3 ⋮ ] \pmb{v}=\begin{bmatrix}1\\1/2\\1/3\\\vdots\end{bmatrix} v= 11/21/3

这样,向量的长度是有限的,对于空间中有限长度的向量 x \pmb{x} x y \pmb{y} y ,则还会有: ∥ x + y ∥ ≤ ∥ x ∥ + ∥ y ∥ \begin{Vmatrix}\pmb{x}+\pmb{y}\end{Vmatrix}\le\begin{Vmatrix}\pmb{x}\end{Vmatrix}+\begin{Vmatrix}\pmb{y}\end{Vmatrix} x+y x + y ,且 a x a\pmb{x} ax (其中 a a a 是一个有限的标量)仍然是一个有限量。

由此容易证明向量空间的 8 条法则依然成立(《机器学习数学基础》第15页)。

这样的空间,就是希尔伯特空间,是一个保持一般几何性质的无限维向量空间。

希尔伯特空间是有限维欧几里得空间的一个推广,使之不局限于实数的情形和有限的维数,但又不失完备性(不像一般的非欧几里得空间那样破坏了完备性)。与欧几里得空间相仿,希尔伯特空间也是一个内积空间,其上有距离和角的概念(及由此引申而来的正交性与垂直性的概念)。此外,希尔伯特空间还是一个完备的空间。

微积分中的大部分概念都可以无障碍地推广到希尔伯特空间中。

希尔伯特空间以大卫·希尔伯特的名字命名,他在对积分方程的研究中研究了希尔伯特空间。冯·诺伊曼在其 1929 年出版的关于无界自伴算子的著作中,最早使用了“希尔伯特空间”这个名词。

一个抽象的希尔伯特空间中的元素往往被称为向量。在实际应用中,它可能代表了一列复数或是一个函数。

例如在量子力学中,一个物理系统可以表示为一个复希尔伯特空间,其中的向量是描述系统可能状态的波函数。

函数空间

设正弦函数 f ( x ) = sin ⁡ ( x ) f(x)=\sin(x) f(x)=sin(x) ,定义域为 0 ≤ x ≤ 2 π 0\le x\le2\pi 0x2π ,视此函数为无限维向量,向量的各个分量即为连续区间内的函数值 sin ⁡ ( x ) \sin(x) sin(x) 。当向量的分量是连续时,其平方和可写成积分形式(即 f f f 的长度平方):

∥ f ∥ 2 = ∫ 0 2 π ( f ( x ) ) 2 d x = ∫ 0 2 π ( sin ⁡ x ) 2 d x = π \begin{Vmatrix}f\end{Vmatrix}^2=\int_0^{2\pi}(f(x))^2dx=\int_0^{2\pi}(\sin x)^2dx=\pi f 2=02π(f(x))2dx=02π(sinx)2dx=π

上式说明,我们可以测量函数的长度,即可以将此函数看做向量,从而形成了向量空间,此向量空间的维数无限,显然是希尔伯特空间,也就是一个函数空间。

如果 f ( x ) = sin ⁡ ( x ) , g ( x ) = cos ⁡ ( x ) f(x)=\sin(x), g(x)=\cos(x) f(x)=sin(x),g(x)=cos(x) ,计算内积:

⟨ f , g ⟩ = ∫ 0 2 π f ( x ) g ( x ) d x = ∫ 0 2 π sin ⁡ ( x ) cos ⁡ ( x ) d x = 0 \langle f, g\rangle=\int_0^{2\pi}f(x)g(x)dx=\int_0^{2\pi}\sin(x)\cos(x)dx=0 f,g=02πf(x)g(x)dx=02πsin(x)cos(x)dx=0

故正弦和余弦正交。

线性函数

设函数 f f f 是: f : V → W f:V\to W f:VW ,对于任意向量 x \pmb{x} x y \pmb{y} y ,以及任意实数 c c c ,若满足:

f ( x + y ) = f ( x ) + f ( y ) f ( c x ) = c f ( x ) \begin{split}f(\pmb{x}+\pmb{y})&=f(\pmb{x})+f(\pmb{y})\\f(c\pmb{x})&=cf(\pmb{x})\end{split} f(x+y)f(cx)=f(x)+f(y)=cf(x)

f f f 是线性函数。

  • 几何向量空间

    A \pmb{A} A m × n m\times n m×n 阶实矩阵, x ∈ R n \pmb{x}\in\mathbb{R}^n xRn f ( x ) = A x f(\pmb{x})=\pmb{Ax} f(x)=Ax 是一个由 R n \mathbb{R}^n Rn 映至 R m \mathbb{R}^m Rm 的线性函数,则:

    f ( x + y ) = A ( x + y ) = A x + A y = f ( x ) + f ( y ) f ( c x ) = A ( c x ) = c ( A x ) = c f ( x ) \begin{split}f(\pmb{x}+\pmb{y})&=\pmb{A}(\pmb{x}+\pmb{y})=\pmb{Ax}+\pmb{Ay}=f(\pmb{x})+f(\pmb{y})\\f(c\pmb{x})&=\pmb{A}(c\pmb{x})=c(\pmb{Ax})=cf(\pmb{x})\end{split} f(x+y)f(cx)=A(x+y)=Ax+Ay=f(x)+f(y)=A(cx)=c(Ax)=cf(x)

  • 多项式空间

    P \mathcal{P} P 为所有多項式形成的向量空间,微分算子 D = d / d x D=d/dx D=d/dx 可視為由 P \mathcal{P} P 映至 P \mathcal{P} P 的函数,例如, D ( 2 − x + x 3 ) = − 1 + 3 x 2 D(2-x+x^3)=-1+3x^2 D(2x+x3)=1+3x2。微分算子 D D D 是一个线性函数,利用导数基本性质,可知:

    D ( p ( x ) + q ( x ) ) = D ( p ( x ) ) + D ( q ( x ) ) D ( c p ( x ) ) = c D ( p ( x ) ) \begin{aligned} D(p(x)+q(x))&=D(p(x))+D(q(x))\\ D(cp(x))&=cD(p(x))\end{aligned} D(p(x)+q(x))D(cp(x))=D(p(x))+D(q(x))=cD(p(x))

    求二次导数,记作: D D = D 2 DD=D^2 DD=D2 ,易知 D 2 p = p ′ ′ D^2p= p'' D2p=p′′ 是线性函数,推广至更高次冪, D , D 2 , … , D k D,D^2,\ldots,D^k D,D2,,Dk 全部都是线性函数。

  • 连续函数空间

    C ( − ∞ , ∞ ) C(-\infty,\infty) C(,) 表示所有连续函数形成的空间, L : C ( − ∞ , ∞ ) → C ( − ∞ , ∞ ) L:C(-\infty,\infty)\rightarrow C(-\infty,\infty) L:C(,)C(,) ,函数 u ( x ) , q ( x ) ∈ C ( − ∞ , ∞ ) u(x), q(x)\in C(-\infty,\infty) u(x),q(x)C(,) ,考虑以下的例子:

    L ( u ( x ) ) = q ( x ) u ( x ) L(u(x))=q(x)u(x) L(u(x))=q(x)u(x) ,则 L L L 是线性函数。

    证明:

    L ( u ( x ) + v ( x ) ) = q ( x ) ( u ( x ) + v ( x ) ) = L ( u ( x ) ) + L ( v ( x ) ) L ( c u ( x ) ) = q ( x ) ( c u ( x ) ) = c ( q ( x ) u ( x ) ) = c L ( u ( x ) ) \begin{aligned} L(u(x)+v(x))&=q(x)(u(x)+v(x))=L(u(x))+L(v(x))\\ L(cu(x))&=q(x)(cu(x))=c(q(x)u(x))=cL(u(x))\end{aligned} L(u(x)+v(x))L(cu(x))=q(x)(u(x)+v(x))=L(u(x))+L(v(x))=q(x)(cu(x))=c(q(x)u(x))=cL(u(x))

    將微分算子 D D D 线性函数 L L L 结合成一个方程式便得到微分方程 D ( u ( x ) ) = L ( u ( x ) ) = q ( x ) u ( x ) D(u(x))=L(u(x))=q(x)u(x) D(u(x))=L(u(x))=q(x)u(x)

    例如,设 y = u ( x ) y=u(x) y=u(x) q ( x ) = x q(x)=x q(x)=x ,就有 D y = x y Dy=xy Dy=xy 或写成: y ′ = x y y'=xy y=xy 。求解微分方程等于找 y y y 使得 D y = L y Dy=Ly Dy=Ly,由此可以逐步建立微分方程与线性代数的关联。

零空间

f : V → W f:V\to W f:VW 是一个线性函数,所有满足 f ( x ) = 0 f(\pmb{x})=\pmb{0} f(x)=0 x \pmb{x} x 所形成的集合构成 V V V 里的一个子空间,称为零空间或核 [ 2 ] ^{[2]} [2],记作 N ( f ) N(f) N(f) ker f \text{ker}f kerf

u , v ∈ N ( f ) \pmb{u},\pmb{v}\in N(f) u,vN(f) ,根据线性函数的基本性质,有:

f ( u + v ) = f ( u ) + f ( v ) = 0 + 0 = 0 f ( c u ) = c f ( u ) = c 0 = 0 \begin{aligned} f(\pmb{u}+\pmb{v})&=f(\pmb{u})+f(\pmb{v})=\pmb{0}+\pmb{0}=\pmb{0}\\ f(c\pmb{u})&=cf(\pmb{u})=c\pmb{0}=\pmb{0}\end{aligned} f(u+v)f(cu)=f(u)+f(v)=0+0=0=cf(u)=c0=0

这说明 N ( f ) N(f) N(f) 满足向量加法和数量乘法封闭原则,所以 N ( f ) N(f) N(f) V V V 的子空间。

f ( x ) = 0 f(\pmb{x})=\pmb{0} f(x)=0 称为齐次方程(homogeneouos equation)。齐次现象方程至少有一个零解, f ( 0 ) = 0 f(\pmb{0})=\pmb{0} f(0)=0 ,也就是说零空间 N ( f ) N(f) N(f) 必定包含零向量。

理由如下:

f ( 0 ) = f ( x − x ) = f ( x ) − f ( x ) = 0 f(\pmb{0})=f(\pmb{x}-\pmb{x})=f(\pmb{x})-f(\pmb{x})=\pmb{0} f(0)=f(xx)=f(x)f(x)=0 ,或者 f ( 0 ) = f ( 0 x ) = 0 ⋅ f ( x ) = 0 f(\pmb{0})=f(0\pmb{x})=0\cdot f(\pmb{x})=\pmb{0} f(0)=f(0x)=0f(x)=0

  • 齐次线性方程组

x + y − z = 0 x − y + z = 0 \begin{aligned} x+y-z&=0\\ x-y+z&=0\end{aligned} x+yzxy+z=0=0

或改写为矩阵形式:

f ( x ) = A x = [ ⁣ ⁣ 1 1 − 1 1 − 1 1 ⁣ ⁣ ] [ x y z ] = [ 0 0 ] f(\mathbf{x})=A\mathbf{x}=\left[\!\!\begin{array}{crr} 1&1&-1\\ 1&-1&1 \end{array}\!\!\right]\begin{bmatrix} x\\ y\\ z \end{bmatrix}=\begin{bmatrix} 0\\ 0 \end{bmatrix} f(x)=Ax=[111111] xyz =[00]

利用高斯消元法,得: ( x , y , z ) = t ( 0 , 1 , 1 ) (x,y,z)=t(0,1,1) (x,y,z)=t(0,1,1) t t t 为任意实数,所以, A A A 的零空間由向量 [ 0 1 1 ] \begin{bmatrix} 0\\ 1\\ 1 \end{bmatrix} 011 张成,零空間 N ( f ) N(f) N(f) 与其表示矩阵 A A A 的零空間 N ( A ) N(A) N(A) 指的是同一回事。

  • 微分算子

微分算子 D = d / d x D=d/dx D=d/dx 作用在 C ( − ∞ , ∞ ) C(-\infty,\infty) C(,) D D D 的零空间包含所有一次导数为零的实函数,由导数性质可知 N ( D ) N(D) N(D) 是一个包含所有常函数 y ( x ) = c y(x)=c y(x)=c 的子空间。

  • 齐次微分方程

对于下面的齐次微分方程:

y ′ ′ − 3 y ′ + 2 y = 0 y''-3y'+2y=0 y′′3y+2y=0

也可以用微分算子表示为: ( D 2 − 3 D + 2 ) y = 0 (D^2-3D+2)y=0 (D23D+2)y=0

线性算子的线性组合仍为线性算子,故: L = D 2 − 3 D + 2 L=D^2-3D+2 L=D23D+2 也是线性。

求解齐次微分方程 L y = 0 Ly=0 Ly=0 ,即相当于计算 L L L 的零空间。

线性算子 L L L 的零空间由线性无关的函数 e x e^x ex e 2 x e^{2x} e2x 张成, e x e^x ex e 2 x e^{2x} e2x 是零空间 N ( L ) N(L) N(L) 的基底函数,故齐次解为其线性組合 y = c 1 e x + c 2 e 2 x y=c_1e^x+c_2e^{2x} y=c1ex+c2e2x 。从线性函数的角度,齐次解必定落在 L L L 的零空间内,亦即

L y = l ( c 1 e x + c 2 e 2 x ) = c 1 L ( e x ) + c 2 L ( e 2 x ) = c 1 0 + c 2 0 = 0 Ly=l(c_1e^x+c_2e^{2x})=c_1L(e^x)+c_2L(e^{2x})=c_10+c_20=0 Ly=l(c1ex+c2e2x)=c1L(ex)+c2L(e2x)=c10+c20=0

特征值与特征向量

假设一种线性变换 L : V → V L:V\rightarrow V L:VV ,还有向量 x ∈ V \pmb{x}\in V xV ,通常 x \pmb{x} x L ( x ) L(\pmb{x}) L(x) 之间没有什么特别的关系,但是,在某个条件下,会有如下关系:

L ( x ) = λ x L(\pmb{x})=\lambda\pmb{x} L(x)=λx

这就是特征向量 x \pmb{x} x 和特征值 λ \lambda λ

注意:零向量不是特征向量。这是因为,对于任意线性变换而言,任何 λ \lambda λ 都会满足 L ( 0 ) = λ ⋅ 0 = 0 L(\pmb{0})=\lambda\cdot\pmb{0}=\pmb{0} L(0)=λ0=0

如果特征值为零,则只要存在 x ≠ 0 \pmb{x}\neq\pmb{0} x=0 满足 L ( x ) = 0 x = 0 L(\pmb{x})=0\pmb{x}=\pmb{0} L(x)=0x=0 就行。显然,若线性变换 L L L 有零特征值,则 L L L 的零空间必定包含非零向量。

  • 矩阵变换

L : R n → R n L:\pmb{R}^n\rightarrow\pmb{R}^n L:RnRn 为线性变换,以矩陣表示为: L ( x ) = A x L(\pmb{x})=A\pmb{x} L(x)=Ax

例如: A = [ 1 4 2 8 ] A=\begin{bmatrix} 1&4\\ 2&8 \end{bmatrix} A=[1248]

容易解出其特征值 λ = 0 , 9 \lambda=0, 9 λ=0,9 ,特征向量分别为: [ 4 − 1 ] \begin{bmatrix} 4\\-1 \end{bmatrix} [41] [ 1 2 ] \begin{bmatrix} 1\\ 2 \end{bmatrix} [12]

注意,其次方程 A x = 0 A\pmb{x}=\pmb{0} Ax=0 对应 λ = 0 \lambda=0 λ=0 ,故特征向量 [ 4 − 1 ] \begin{bmatrix} 4\\-1 \end{bmatrix} [41] 张成 A A A 的零空间。

  • 微分算子

假设以下微分算式:

D e x = e x , D e 2 x = 2 e 2 x , D e − 3 x = − 3 e − 3 x De^{x}=e^{x}, De^{2x}=2e^{2x}, De^{-3x}=-3e^{-3x} Dex=ex,De2x=2e2x,De3x=3e3x

函数 e x , e 2 x , e − 3 x e^{x}, e^{2x},e^{-3x} ex,e2x,e3x 是微分算子 D D D 的特征向量,对应特征值分别为 1 , 2 , − 3 1,2,-3 1,2,3

推广: r r r 是任意数, D k e r x = r k e r x D^ke^{rx}=r^ke^{rx} Dkerx=rkerx ,则 e r x e^{rx} erx D k D^k Dk 的特征向量,对应的特征值为 r k r^k rk

  • 齐次微分方程

考虑一个常系数齐次微分方程(前面用过的): y ′ ′ − 3 y ′ + 2 y = 0 y''-3y'+2y=0 y′′3y+2y=0

若有 L = D 2 − 3 D + 2 L=D^2-3D+2 L=D23D+2 ,则可以写为: L y = ( D 2 − 3 D + 2 ) y = 0 Ly=(D^2-3D+2)y=0 Ly=(D23D+2)y=0

如前所述,求齐次微分方程的解,就等于计算 L L L 的零空间,也就是找出特征值为 λ = 0 \lambda=0 λ=0 的特征向量,如下:

L e r x = ( r 2 − 3 r + 2 ) e r x = 0 Le^{rx}=(r^2-3r+2)e^{rx}=0 Lerx=(r23r+2)erx=0

因为 e r x ≠ 0 e^{rx}\ne0 erx=0 ,则必有 λ = r 2 − 3 r + 2 = 0 \lambda=r^2-3r+2=0 λ=r23r+2=0 ,则 r = 1 , 2 r=1,2 r=1,2 ,特征向量为 e x , e 2 x e^x, e^{2x} ex,e2x ,所对应的特征值均为 0 0 0

故:求解齐次微分方程的本质就是问线性算子 L L L 的哪些特征向量对应零特征值 [ 1 ] ^{[1]} [1]

非齐次方程

f : V → W f:V\to W f:VW 是一个线性函数,对应的非齐次方程: f ( x ) = b f(\pmb{x})=\pmb{b} f(x)=b

下面证明叠加原理:若 x p \pmb{x}_p xp 是上述非齐次方程的一个特解(particular solution), x h \pmb{x}_h xh 是齐次方程 f ( x ) f(\pmb{x}) f(x) 的一个解(称为齐次解),则 x p + x h \pmb{x}_p+\pmb{x}_h xp+xh 是非齐次方程的通解(或一般解,general solution)。

证明:

因为 x p \pmb{x}_p xp 是一个特解,则 f ( x p ) = b f(\pmb{x}_p)=\pmb{b} f(xp)=b

又因为 f f f 是线性函数,所以: f ( x − x p ) = f ( x ) − f ( x p ) = b − b = 0 f(\pmb{x}-\pmb{x}_p)=f(\pmb{x})-f(\pmb{x}_p)=\pmb{b}-\pmb{b}=\pmb{0} f(xxp)=f(x)f(xp)=bb=0

x − x p \pmb{x}-\pmb{x}_p xxp 是齐次解,即 x − x p = x h \pmb{x}-\pmb{x}_p=\pmb{x}_h xxp=xh x h \pmb{x}_h xh 是零空间中的一个向量,故 x = x p + x h \pmb{x}=\pmb{x}_p+\pmb{x}_h x=xp+xh 是通解。

  • 非齐次线性方程组

以下述非齐次线性方程组为例:

{ x + y − z = 2 x − y + z = 4 \begin{cases}x+y-z=2\\x-y+z=4\end{cases} {x+yz=2xy+z=4

其一个特解: x = 3 , y = 1 , z = 2 x=3,y=1,z=2 x=3,y=1,z=2 ,前面已经计算过对应的齐次线性方程组的解: ( x , y , z ) = t ( 0 , 1 , 1 ) (x,y,z)=t(0,1,1) (x,y,z)=t(0,1,1) ,其中 t t t 是任意实数。故此非齐次线性方程组的通解是: ( x , y , z ) = ( 3 , 1 , 2 ) + t ( 0 , 1 , 1 ) (x,y,z)=(3,1,2)+t(0,1,1) (x,y,z)=(3,1,2)+t(0,1,1)

  • 常系数微分方程

以下面的非齐次微分方程为例: y ′ ′ − 3 y ′ + 2 y = e x y''-3y'+2y=e^x y′′3y+2y=ex

用微分算子表示为: L y = ( D 2 − 3 D + 2 ) y = e x Ly=(D^2-3D+2)y=e^x Ly=(D23D+2)y=ex

用待定系数法求出一个特解:

∵ ( D − 1 ) e x = 0 \because\quad(D-1)e^x=0 (D1)ex=0

对于任何解 y ( x ) y(x) y(x) ,有:

( D − 1 ) ( D 2 − 3 D + 2 ) y = ( D − 1 ) 2 ( D − 2 ) y = 0 (D-1)(D^2-3D+2)y=(D-1)^2(D-2)y=0 (D1)(D23D+2)y=(D1)2(D2)y=0

根据齐次微分方程的求解, y ( x ) y(x) y(x) 的形式必为:

y ( x ) = c 1 e x + c 2 e 2 x + c 3 x e x y(x)=c_1e^x+c_2e^{2x}+c_3xe^x y(x)=c1ex+c2e2x+c3xex

显然,前两项是齐次解, y h ( x ) = c 2 e x + c 2 e 2 x y_h(x)=c_2e^x+c_2e^{2x} yh(x)=c2ex+c2e2x 。设 y p ( x ) = c 3 x e x y_p(x)=c_3xe^x yp(x)=c3xex ,计算:

y p ′ ( x ) = c 3 ( x e x + e x ) y p ′ ′ ( x ) = c 3 ( x e x + 2 e x ) \begin{split}y'_p(x)&=c_3(xe^x+e^x)\\y''_p(x)&=c_3(xe^x+2e^x)\end{split} yp(x)yp′′(x)=c3(xex+ex)=c3(xex+2ex)

代入到非齐次微分方程中,得:

c 3 ( x e x + 2 e x ) − 3 c 3 ( x e x + e x ) + 2 c 3 ( x e x ) = e x c_3(xe^x+2e^x)-3c_3(xe^x+e^x)+2c_3(xe^x)=e^x c3(xex+2ex)3c3(xex+ex)+2c3(xex)=ex

c 3 = − 1 c_3=-1 c3=1

得到特解: y p = − x e x y_p=-xe^x yp=xex

故通解为: y ( x ) = c 1 e x + c 2 e 2 x − x e x y(x)=c_1e^x+c_2e^{2x}-xe^x y(x)=c1ex+c2e2xxex

参考资料

[1]. 线代启示录:从几何向量空间到函数空间

[2]. 线性代数基本定理


http://www.ppmy.cn/ops/161210.html

相关文章

深入剖析:基于红黑树实现自定义 map 和 set 容器

🌟 快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。🌟 在 C 标准模板库(STL)的大家庭里,map和set可是超级重要的关联容器成员呢😎&#x…

GAMES104:18 网络游戏的架构基础-学习笔记

文章目录 课前QA一,网络协议Network Protocols1.0 Socket1.1 传输控制协议TCP(Transmission Control Protocol)1.2 用户数据报协议UDP(User Datagram Protocol)1.3 Reliable UDP1.3.1 自动重传请求ARQ(Automatic Repeat Request)1.3.1.1 滑窗…

华为昇腾910b服务器部署DeepSeek翻车现场

最近到祸一台HUAWEI Kunpeng 920 5250,先看看配置。之前是部署的讯飞大模型,发现资源利用率太低了。把5台减少到3台,就出了他 硬件配置信息 基本硬件信息 按照惯例先来看看配置。一共3块盘,500G的系统盘, 2块3T固态…

Maven——Maven开发经验总结(1)

摘要 本文总结了 Maven 开发中的多个关键经验,包括如何根据版本号决定推送到 releases 或 snapshots 仓库,如何在构建过程中跳过测试,父项目如何控制子项目依赖版本,父项目依赖是否能传递到子项目,如何跳过 Maven dep…

自定义SpringBoot Starter

✅自定义SpringBoot Starter SpringBoot 的 starter 可以帮我们简化配置,非常的方便,定义起来其实也不复杂,我的项目中定义了很多 starter,比如business-job就是一个 stater,以他为例,介绍下如何定义 star…

《炒股养家心法.pdf》 kimi总结

《炒股养家心法.pdf》这篇文章详细阐述了一位超级游资炒股养家的心得与技巧,展示了其从40万到10亿的股市传奇。以下是文章中炒股技巧和心得的详细总结: 1.核心理念 市场情绪的理解:炒股养家强调,股市的本质是群体博弈&#xff0c…

在 Mac mini M2 上本地部署 DeepSeek-R1:14B:使用 Ollama 和 Chatbox 的完整指南

随着人工智能技术的飞速发展,本地部署大型语言模型(LLM)已成为许多技术爱好者的热门选择。本地部署不仅能够保护隐私,还能提供更灵活的使用体验。本文将详细介绍如何在 Mac mini M2(24GB 内存)上部署 DeepS…

Python常见面试题的详解16

1. 如何强行关闭客户端和服务器之间的连接? 在网络编程中,有时需要强行中断客户端和服务器之间的连接。对于基于 TCP 协议的连接,由于其面向连接的特性,需要采取特定的步骤来确保连接被正确关闭;而 UDP 是无连接协议&a…