线性可分SVM摘记

news2024/11/29 2:37:42

线性可分SVM摘记

  • 0. 线性可分
  • 1. 训练样本到分类面的距离
  • 2. 函数间隔和几何间隔、(硬)间隔最大化
  • 3. 支持向量

\qquad 线性可分的支持向量机是一种二分类模型,支持向量机通过核技巧可以成为非线性分类器。本文主要分析了线性可分的支持向量机模型,主要取自于李航《统计学习方法》第七章。

0. 线性可分

\qquad 如下图所示,考虑训练数据“线性可分”的情况:
\qquad 在这里插入图片描述
\qquad 假设分类面 w T x + b = 0 \boldsymbol w^T\boldsymbol x+b=0 wTx+b=0 可以将两类数据完整分开,任一训练样本 x \boldsymbol x x输出值(目标值) y y y 满足:

y = sgn ( w T x + b ) = { + 1 , w T x + b > 0   ( x ∈ ℓ 1 ) − 1 , w T x + b < 0   ( x ∈ ℓ 2 ) \qquad\qquad\qquad y=\text{sgn}(\boldsymbol w^T\boldsymbol x+b)=\begin{cases}+1,\quad\boldsymbol w^T\boldsymbol x+b>0\ (\boldsymbol x\in\ell_1)\\-1,\quad\boldsymbol w^T\boldsymbol x+b<0\ (\boldsymbol x\in\ell_2)\end{cases} y=sgn(wTx+b)={+1,wTx+b>0 (x1)1,wTx+b<0 (x2)
\qquad

1. 训练样本到分类面的距离

\qquad 任一样本 x \boldsymbol x x 到分类面的垂直距离为: r = y ( w T x + b ) ∥ w ∥ r=\dfrac{y(\boldsymbol w^T\boldsymbol{x}+b)}{\Vert\boldsymbol w\Vert} r=wy(wTx+b)

∙ \quad\bullet  正例 x i \boldsymbol x_i xi(满足 w T x i + b > 0 ,   y i = + 1 \boldsymbol w^T\boldsymbol x_i+b>0,\ y_i=+1 wTxi+b>0, yi=+1

\qquad\qquad 在这里插入图片描述

\qquad 假设 x i \boldsymbol x_i xi 到分类面的距离为 r i r_i ri,向量 x ˉ \bar{\boldsymbol x} xˉ 在分类面(满足 w T x ˉ + b = 0 \boldsymbol{w}^T\bar{\boldsymbol{x}}+b=0 wTxˉ+b=0),显然 x i = x ˉ + r i w ∥ w ∥ \boldsymbol x_i=\bar{\boldsymbol x}+r_i\dfrac{\boldsymbol w}{\Vert\boldsymbol w\Vert} xi=xˉ+riww

\qquad 那么
w T x i + b = w T ( x ˉ + r i w ∥ w ∥ ) + b = w T x ˉ + b + w T r i w ∥ w ∥ = r i w T w ∥ w ∥ = r i ∥ w ∥ \qquad\qquad\qquad\begin{aligned}\boldsymbol w^T\boldsymbol x_i+b&=\boldsymbol w^T(\bar{\boldsymbol x}+r_i\frac{\boldsymbol w}{\Vert\boldsymbol w\Vert})+b\\ &=\boldsymbol w^T\bar{\boldsymbol x}+b+\boldsymbol w^Tr_i\frac{\boldsymbol w}{\Vert\boldsymbol w\Vert}\\ &=r_i\frac{\boldsymbol w^T\boldsymbol w}{\Vert\boldsymbol w\Vert}\\ &=r_i\Vert\boldsymbol w\Vert\end{aligned} wTxi+b=wT(xˉ+riww)+b=wTxˉ+b+wTriww=riwwTw=riw

\qquad 可得到正例 x i \boldsymbol x_i xi 到分类面的垂直距离 r i = w T x i + b ∥ w ∥ r_i=\dfrac{\boldsymbol w^T\boldsymbol x_i+b}{\Vert\boldsymbol w\Vert} ri=wwTxi+b

\qquad
∙ \quad\bullet  负例 x j \boldsymbol x_j xj(满足 w T x j + b < 0 ,   y j = − 1 \boldsymbol w^T\boldsymbol x_j+b<0,\ y_j=-1 wTxj+b<0, yj=1

\qquad\qquad 在这里插入图片描述

\qquad 假设 x j \boldsymbol x_j xj 到分类面的距离为 r j r_j rj,向量 x ˉ \bar{\boldsymbol x} xˉ 在分类面(满足 w T x ˉ + b = 0 \boldsymbol w^T\bar{\boldsymbol x}+b=0 wTxˉ+b=0),显然 x j = x ˉ − r j w ∥ w ∥ \boldsymbol x_j=\bar{\boldsymbol x}-r_j\dfrac{\boldsymbol w}{\Vert\boldsymbol w\Vert} xj=xˉrjww

\qquad 那么
w T x j + b = w T ( x ˉ − r j w ∥ w ∥ ) + b = w T x ˉ + b − w T r j w ∥ w ∥ = − r j w T w ∥ w ∥ = − r j ∥ w ∥ \qquad\qquad\qquad\begin{aligned}\boldsymbol w^T\boldsymbol x_j+b&=\boldsymbol w^T(\bar{\boldsymbol x}-r_j\frac{\boldsymbol w}{\Vert\boldsymbol w\Vert})+b\\ &=\boldsymbol w^T\bar{\boldsymbol x}+b-\boldsymbol w^Tr_j\frac{\boldsymbol w}{\Vert\boldsymbol w\Vert}\\ &=-r_j\frac{\boldsymbol w^T\boldsymbol w}{\Vert\boldsymbol w\Vert}\\ &=-r_j\Vert\boldsymbol w\Vert\end{aligned} wTxj+b=wT(xˉrjww)+b=wTxˉ+bwTrjww=rjwwTw=rjw
\qquad 可得到负例 x j \boldsymbol x_j xj 到分类面的垂直距离 r j = − w T x j + b ∥ w ∥ r_j=-\dfrac{\boldsymbol w^T\boldsymbol x_j+b}{\Vert\boldsymbol w\Vert} rj=wwTxj+b
\qquad

2. 函数间隔和几何间隔、(硬)间隔最大化

\qquad 由于任一训练样本 x i \boldsymbol x_i xi 的输出值 y y y 满足: y = { + 1 , w T x i + b > 0    ( ∀   x i ∈ ℓ 1 ) − 1 , w T x i + b < 0    ( ∀   x i ∈ ℓ 2 ) y=\begin{cases}+1,\quad\boldsymbol w^T\boldsymbol x_i+b>0\ \ (\forall\ \boldsymbol x_i\in\ell_1)\\-1,\quad\boldsymbol w^T\boldsymbol x_i+b<0\ \ (\forall\ \boldsymbol x_i\in\ell_2)\end{cases} y={+1,wTxi+b>0  ( xi1)1,wTxi+b<0  ( xi2),可定义两种间隔 ( margin ) (\text{margin}) (margin)来描述“训练样本 x i \boldsymbol x_i xi 到分类面的远近”。

\qquad
∙ \quad\bullet  函数间隔 ( functional margin ) (\text{functional margin}) (functional margin)

γ ^ i = y i ( w T x i + b ) = ∣ w T x i + b ∣ \qquad\qquad\hat{\gamma}_i=y_i(\boldsymbol w^T\boldsymbol x_i+b)=\vert\boldsymbol w^T\boldsymbol x_i+b\vert γ^i=yi(wTxi+b)=wTxi+b

函数间隔只能够相对地描述“训练样本 x i \boldsymbol x_i xi 到分类面的远近”。
例如, H 1 :   w T x + b = 0 \mathcal H_1:\ \boldsymbol w^T\boldsymbol x+b=0 H1: wTx+b=0 H 2 :   λ w T x + λ b = 0 \mathcal H_2:\ \lambda\boldsymbol w^T\boldsymbol x+\lambda b=0 H2: λwTx+λb=0 实际上是指同一个分类面(假设 λ > 0 \lambda>0 λ>0
 
对训练样本 x i \boldsymbol x_i xi 而言,却有 { γ ^ 1 i = ∣ w T x i + b ∣ γ ^ 2 i = λ ∣ w T x i + b ∣ \begin{cases}\hat{\gamma}_{1i}=\vert\boldsymbol w^T\boldsymbol x_i+b\vert\\ \hat{\gamma}_{2i}=\lambda\vert\boldsymbol w^T\boldsymbol x_i+b\vert \end{cases} {γ^1i=wTxi+bγ^2i=λwTxi+b,函数间隔 γ ^ 2 i = λ γ ^ 1 i \hat{\gamma}_{2i}=\lambda\hat{\gamma}_{1i} γ^2i=λγ^1i

\qquad
∙ \quad\bullet  几何间隔 ( geometricl margin ) (\text{geometricl margin}) (geometricl margin)

γ i = y i r i = y i ( w T x i + b ) ∥ w ∥ = ∣ w T x i + b ∣ ∥ w ∥ \qquad\qquad \gamma_i=y_ir_i=\dfrac{y_i(\boldsymbol w^T\boldsymbol x_i+b)}{\Vert\boldsymbol w\Vert}=\dfrac{\vert\boldsymbol w^T\boldsymbol x_i+b\vert}{\Vert\boldsymbol w\Vert} γi=yiri=wyi(wTxi+b)=wwTxi+b

几何间隔就是“训练样本 x i \boldsymbol x_i xi 到分类面的垂直距离”,也就是“规范化的函数间隔”。
 
上例中, { γ 1 i = γ ^ 1 i ∥ w ∥ = ∣ w T x i + b ∣ ∥ w ∥ γ 2 i = γ ^ 2 i ∥ λ w ∥ = λ ∣ w T x i + b ∣ ∥ λ w ∥ = ∣ w T x i + b ∣ ∥ w ∥ \begin{cases}\gamma_{1i}=\dfrac{\hat{\gamma}_{1i}}{\Vert\boldsymbol w\Vert}=\dfrac{\vert\boldsymbol w^T\boldsymbol x_i+b\vert}{\Vert\boldsymbol w\Vert} \\ \\\gamma_{2i}=\dfrac{\hat{\gamma}_{2i}}{\Vert\lambda\boldsymbol w\Vert}=\dfrac{\lambda\vert\boldsymbol w^T\boldsymbol x_i+b\vert}{\Vert\lambda\boldsymbol w\Vert}=\dfrac{\vert\boldsymbol w^T\boldsymbol x_i+b\vert}{\Vert\boldsymbol w\Vert} \end{cases} γ1i=wγ^1i=wwTxi+bγ2i=λwγ^2i=λwλwTxi+b=wwTxi+b,几何间隔 γ 1 i = γ 2 i \gamma_{1i}=\gamma_{2i} γ1i=γ2i,仍然相等。

\qquad 显然,函数间隔几何间隔之间的关系为:

γ = γ ^ ∥ w ∥ \qquad\qquad\textcolor{crimson}{\gamma=\dfrac{\hat{\gamma}}{\Vert\boldsymbol w\Vert}} γ=wγ^

\qquad
∙ \quad\bullet  以最大化训练样本的几何间隔为目标函数,并定义约束最优化问题

\qquad 约束最优化问题(1)

max ⁡ w , b   γ   s . t .     y i ( w T x i + b ) ∥ w ∥ ≥ γ , ∀   x i \qquad\qquad\qquad\textcolor{indigo}{\begin{aligned}&\max_{\boldsymbol w,b}\ \gamma\\ &\ s.t.\ \ \ \dfrac{y_i(\boldsymbol w^T\boldsymbol x_i+b)}{\Vert\boldsymbol w\Vert}\ge \gamma,\quad \forall\ \boldsymbol x_i\end{aligned}} w,bmax γ s.t.   wyi(wTxi+b)γ, xi

也就是,在确保所有训练样本到分类面的垂直距离都大于 γ \gamma γ 的前提下,尽可能让(几何)间隔最大。

\qquad 利用两种间隔之间的关系 γ = γ ^ ∥ w ∥ \gamma=\dfrac{\hat{\gamma}}{\Vert\boldsymbol w\Vert} γ=wγ^,在约束最优化问题(1)中使用函数间隔 γ ^ \hat{\gamma} γ^ 来描述几何间隔 γ \gamma γ,也就是

\qquad 约束最优化问题(2)

max ⁡ w , b   γ ^ ∥ w ∥   s . t .     y i ( w T x i + b ) ≥ γ ^ , ∀   x i \qquad\qquad\qquad\textcolor{indigo}{\begin{aligned}&\max_{\boldsymbol w,b}\ \dfrac{\hat{\gamma}}{\Vert\boldsymbol w\Vert}\\ &\ s.t.\ \ \ y_i(\boldsymbol w^T\boldsymbol x_i+b) \ge \hat{\gamma},\quad \forall\ \boldsymbol x_i\end{aligned}} w,bmax wγ^ s.t.   yi(wTxi+b)γ^, xi

\qquad  
\qquad 考虑满足约束最优化问题(2)的同一个分类面的两种表示 H 1 : ( w , b ) \mathcal H_1:(\boldsymbol w,b) H1:(w,b) H 2 : ( λ w , λ b ) \mathcal H_2:(\lambda\boldsymbol w,\lambda b) H2:(λw,λb),对于任一训练样本 x i \boldsymbol x_i xi 而言( λ > 0 \lambda>0 λ>0),那么:

\qquad H 1 :   w T x + b = 0 \quad\textcolor{firebrick}{\mathcal H_1}:\ \boldsymbol w^T\boldsymbol x+b=0 H1: wTx+b=0   (函数间隔为 γ ^ = ∣ w T x i + b ∣ \hat\gamma=\vert\boldsymbol w^T\boldsymbol x_i+b\vert γ^=wTxi+b

⟹ { 目标函数值: γ ^ ∥ w ∥ 约束函数:  y i ( w T x i + b ) ≥ γ ^ , ∀   x i \qquad\qquad\quad\Longrightarrow\quad\begin{cases}目标函数值:\quad\dfrac{\hat\gamma}{\Vert\boldsymbol w\Vert}\\ 约束函数: \quad y_i(\boldsymbol w^T\boldsymbol x_i+b) \ge \hat\gamma,\quad \forall\ \boldsymbol x_i\end{cases} 目标函数值:wγ^约束函数: yi(wTxi+b)γ^, xi

\qquad H 2 :   λ w T x + λ b = 0 \quad\textcolor{firebrick}{\mathcal H_2}:\ \lambda\boldsymbol w^T\boldsymbol x+\lambda b=0 H2: λwTx+λb=0 (函数间隔为 λ γ ^ \lambda\hat\gamma λγ^

⟹ { 目标函数值: λ γ ^ ∥ λ w ∥ 约束函数:  y i λ ( w T x i + b ) ≥ λ γ ^ , ∀   x i \qquad\qquad\quad\Longrightarrow\quad\begin{cases}目标函数值:\quad\dfrac{\lambda\hat\gamma}{\Vert\lambda\boldsymbol w\Vert}\\ 约束函数: \quad y_i\lambda(\boldsymbol w^T\boldsymbol x_i+b) \ge \lambda\hat\gamma,\quad \forall\ \boldsymbol x_i\end{cases} 目标函数值:λwλγ^约束函数: yiλ(wTxi+b)λγ^, xi
\qquad
\qquad 显然,权值 ( w , b ) (\boldsymbol w,b) (w,b) 与其同比例的缩放值 ( λ w , λ b ) (\lambda\boldsymbol w,\lambda b) (λw,λb) 对于约束最优化问题(2)而言是没有影响的。

\qquad
∙ \quad\bullet  构造凸二次规划问题

\qquad 约束最优化问题(2)中,可以简单地取函数间隔 γ ^ = 1 \hat\gamma=1 γ^=1

假设待求解的权值为 ( w , b ) (\boldsymbol w,b) (w,b), 样本 x \boldsymbol x x w T x + b = 0 \boldsymbol w^T\boldsymbol x+b=0 wTx+b=0 的几何间隔为 γ ^ ∥ w ∥ \dfrac{\hat\gamma}{\Vert\boldsymbol w\Vert} wγ^
函数间隔 γ ^ = 1 \hat\gamma=1 γ^=1 时的几何间隔写为 1 ∥ λ ′ w ∥ \dfrac{1}{\Vert\lambda^{\prime}\boldsymbol w\Vert} λw1,也就是 ( w , b ) (\boldsymbol w,b) (w,b) 缩放为了 ( λ ′ w , λ ′ b ) ,   λ ′ = 1 / γ (\lambda^{\prime}\boldsymbol w,\lambda^{\prime}b),\ \lambda^{\prime}=1/\gamma (λw,λb), λ=1/γ
w T x + b = 0 \boldsymbol w^T\boldsymbol x+b=0 wTx+b=0 λ ′ w T x + λ ′ b = 0 \lambda^{\prime}\boldsymbol w^T\boldsymbol x+\lambda^{\prime}b=0 λwTx+λb=0 是同一个分类面

\qquad 那么,约束最优化问题(2)就可以写为:

max ⁡ w , b   γ ^ ∥ w ∥   s . t .     y i ( w T x i + b ) ≥ γ ^ ,   ∀   x i ⟹ γ ^ = 1 max ⁡ w , b   1 ∥ w ∥   s . t .     y i ( w T x i + b ) ≥ 1 ,   ∀   x i \qquad\qquad\textcolor{darkblue}{\begin{aligned}&\max_{\boldsymbol w,b}\ \dfrac{\hat\gamma}{\Vert\boldsymbol w\Vert}\\ &\ s.t.\ \ \ y_i(\boldsymbol w^T\boldsymbol x_i+b) \ge \hat\gamma,\ \forall\ \boldsymbol x_i\end{aligned}}\quad\overset{\hat\gamma=1}\Longrightarrow\qquad\textcolor{royalblue}{\begin{aligned}&\max_{\boldsymbol w,b}\ \dfrac{1}{\Vert\boldsymbol w\Vert}\\ &\ s.t.\ \ \ y_i(\boldsymbol w^T\boldsymbol x_i+b) \ge 1,\ \forall\ \boldsymbol x_i\end{aligned}} w,bmax wγ^ s.t.   yi(wTxi+b)γ^,  xiγ^=1w,bmax w1 s.t.   yi(wTxi+b)1,  xi

\qquad
\qquad 又由于 max ⁡   1 ∥ w ∥ ⟺ min ⁡   1 2 ∥ w ∥ 2 \max\ \dfrac{1}{\Vert\boldsymbol w\Vert}\Longleftrightarrow\min\ \dfrac{1}{2}\Vert\boldsymbol w\Vert^2 max w1min 21w2,因此可以构造出一个凸二次规划问题

\qquad 约束最优化问题(3)

min ⁡ w , b   1 2 ∥ w ∥ 2   s . t .     y i ( w T x i + b ) ≥ 1 , ∀   x i \qquad\qquad\qquad\textcolor{indigo}{\begin{aligned}&\min_{\boldsymbol w,b}\ \dfrac{1}{2}\Vert\boldsymbol w\Vert^2\\ &\ s.t.\ \ \ y_i(\boldsymbol w^T\boldsymbol x_i+b) \ge 1,\quad \forall\ \boldsymbol x_i\end{aligned}} w,bmin 21w2 s.t.   yi(wTxi+b)1, xi

\qquad

3. 支持向量

\qquad 支持向量 ( support vector ) (\text{support\ vector}) (support vector) 是指距离分类面最近的训练样本(红色 + 点),两个(红色点线)超平面 w T x + b = 1 \boldsymbol w^T\boldsymbol x+b=1 wTx+b=1 w T x + b = − 1 \boldsymbol w^T\boldsymbol x+b=-1 wTx+b=1 之间的距离,称为间隔 ( margin ) (\text{margin}) (margin)
\qquad 在这里插入图片描述
\qquad 考察该凸二次规划最优化问题

min ⁡ w , b   1 2 ∥ w ∥ 2   s . t .     y i ( w T x i + b ) ≥ 1 , ∀   x i \qquad\qquad\qquad\begin{aligned}&\min_{\boldsymbol w,b}\ \dfrac{1}{2}\Vert\boldsymbol w\Vert^2\\ &\ s.t.\ \ \ y_i(\boldsymbol w^T\boldsymbol x_i+b) \ge 1,\quad \forall\ \boldsymbol x_i\end{aligned} w,bmin 21w2 s.t.   yi(wTxi+b)1, xi

\qquad 支持向量也是使得约束条件的等式成立的点,即: y ( w T x + b ) = 1 y(\boldsymbol w^T\boldsymbol x+b)=1 y(wTx+b)=1。在线性可分的情况下,选择不同的点作为支持向量,就可以确定不同的分离超平面 w T x + b = 0 \boldsymbol w^T\boldsymbol x+b=0 wTx+b=0

  • (正例的)支持向量 x i , y i = + 1 :   y i ( w T x i + b ) = 1 ⇒ H 1 : w T x i + b = 1 \boldsymbol x_i,y_i=+1:\ y_i(\boldsymbol w^T\boldsymbol x_i+b)=1 \qquad\Rightarrow\quad H_1:\boldsymbol w^T\boldsymbol x_i+b=1 xi,yi=+1: yi(wTxi+b)=1H1:wTxi+b=1
    其余的 (正例的)训练样本满足 w T x i + b > 1 \boldsymbol w^T\boldsymbol x_i+b>1 wTxi+b>1
  • (负例的)支持向量 x j , y j = − 1 : y j ( w T x j + b ) = 1 ⇒ H 2 : w T x j + b = − 1 \boldsymbol x_j,y_j=-1:y_j(\boldsymbol w^T\boldsymbol x_j+b)=1 \qquad\Rightarrow\quad H_2:\boldsymbol w^T\boldsymbol x_j+b=-1 xj,yj=1:yj(wTxj+b)=1H2:wTxj+b=1
    其余的 (负例的)训练样本满足 w T x i + b < − 1 \boldsymbol w^T\boldsymbol x_i+b<-1 wTxi+b<1
  • 两个超平面 H 1 H_1 H1 H 2 H_2 H2 之间的间隔为 2 ∥ w ∥ \dfrac{2}{\Vert\boldsymbol w\Vert} w2

\qquad
\qquad
【写在最后】SVM的资料太多了,越写越觉得没什么特别的内容值得去写。攒在草稿箱里太久,发出来就当留个记录吧。

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

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

相关文章

Lesson 08 string类 (上)

C&#xff1a;渴望力量吗&#xff0c;少年&#xff1f; 文章目录 一、STL1. 概念2. STL的六大组件3. STL的重要性 二、string类的介绍与使用1. 介绍2. 使用&#xff08;1&#xff09;string类对象的常见构造&#xff08;2&#xff09;string类对象的容量操作&#xff08;3&…

jetson nano 串口通信

目录 1.UART通信介绍 2.电脑端准备工作 2.1 安装串口调试助手 2.2 硬件接线 3.Jetson Nano端准备工作 3.1安装库文件 3.2修改主板上电启动串口权限 4.示例程序-发送及接收 4.1 开启串口调试助手 4.2 导入示例程序 4.3 执行程序 4.4 查看效果 4.4.1 串口调试端 4.4…

交流负载的原理与应用

交流负载是指能够消耗交流电能的设备或系统&#xff0c;在电力系统中&#xff0c;交流负载是不可或缺的一部分&#xff0c;它们将电能转化为其他形式的能量&#xff0c;以满足人们生产和生活的需求。交流负载的原理与应用涉及到许多方面&#xff0c;包括电气工程、电子技术、自…

RT_Thread_内核包版本与芯片包版本不一致的编译报错排查

按时间线写的&#xff0c;建议看完&#xff0c;因为中间有的步骤不必重蹈覆辙。 1、安装RT_Thread Studio、STM32F4的SDK&#xff0c;新建工程编译报错error: struct serial_configure has no member named flowcontrol 1.1、报错含义 结构体struct serial_configure没有flow…

C语言——I /深入理解指针(三)

一、字符指针变量 在指针的类型中我们知道有⼀种指针类型为字符指针 char* ; ⼀般使⽤: int main() { char ch w; char *pc &ch; *pc w; return 0; } 还有⼀种使⽤⽅式如下&#xff1a; int main() { const char* pstr "hello bit.";//这⾥是把⼀个字…

牛客算法题 HJ100 等差数列 golang语言实现

算法题目 HJ100 等差数列 描述 等差数列 2&#xff0c;5&#xff0c;8&#xff0c;11&#xff0c;14。。。。 &#xff08;从 2 开始的 3 为公差的等差数列&#xff09; 输出求等差数列前n项和数据范围&#xff1a; 1 ≤ &#xfffd; ≤ 10001≤n≤1000 输入描述&#xff…

docker-compose Install OrangeHRM

OrangeHRM 前言 OrangeHRM 是一个全面的人力资源管理(HRM) 系统,它包含任何企业所需的所有基本功能。OrangeHRM旨在支持任何规模的团队,包括初创企业、中小企业以及大型跨国组织。 OrangeHRM 提前条件 OrangeHRMdocker & docker-composer 安装or

MYSQL存储

注意&#xff1a; 1.如果没有指定的SESSION/GLOBAL&#xff0c;默认是SESSION&#xff0c;会话变量。 2.mysql服务重新启动之后&#xff0c;所设置的全局参数会失效&#xff0c;要想不失效&#xff0c;可以在/etc/my.cnf中配置。 变量 用户定义变量是用户根据需要自己定义变量…

STM32F407-14.3.5-01捕获_比较通道

捕获/比较通道 每一个捕获/比较通道都是围绕着一个捕获/比较寄存器(包含影子寄存器) 包括: 捕获的输入部分(数字滤波、多路复用和预分频器)&#xff0c; 输出部分(比较器和输出控制)。 中文参考手册中框图分成了三大模块, 把框图合并成了一个整体,以便更好的理解捕获输…

2022年03月 Scratch图形化(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共10题,每题2分,共30分) 第1题 由1,2,3,4,5,0这六个数字经过排列组合能够组成多少个六位数偶数?注意:每一位都不相同,最高位不能为0。 A:720 B:360 C:312 D:88 答案:C 逻辑知识单选题 第2题 运行以下程…

贪心算法策略实现

贪心算法 贪心算法&#xff1a;基于某种情况进行一个排序。 贪心算法得到的是优良解&#xff0c;而非全局最优解。需要证明局部最优解 全局最优解 经典贪心算法 —— 会议问题 对于这个问题 &#xff0c;我们提出贪心策略&#xff1a; 策略1&#xff1a;按照会议的持续时间长…

SpringBoot : ch09 整合Redis

前言 当你的应用程序需要一个快速、可扩展的内存数据库时&#xff0c;Redis是一个非常流行的选择。通过将Redis与Spring Boot集成&#xff0c;你可以轻松地利用Redis的功能&#xff0c;例如缓存、会话存储和消息队列等&#xff0c;从而提升应用程序的性能和可伸缩性。 在本教…

FUSB302MPX USB Type-C端口控制器 芯片功能介绍

FUSB302MPX是带PD的可编USB Type-C控制器,除了默认的SRC功能,器件还支持可编程性低的DRP/SRC/SNK.器件具有USB Type-C检测包括附着/分离和取向.FUSB302MPX集成了USB BMC供电协议的物理层,允许高达100W功率和角色互换.BMC PD区块完全支持Type-C指标的替代接口.器件具有自主DRP切…

git rebase冲突说明(base\remote\local概念说明)

主线日志及修改 $ git log master -p commit 31213fad6150b9899c7e6b27b245aaa69d2fdcff (master) Author: Date: Tue Nov 28 10:19:53 2023 08004diff --git a/123.txt b/123.txt index 294d779..a712711 100644 --- a/123.txtb/123.txt-1,3 1,4 123 4^Mcommit a77b518156…

UE 事件分发机制(一) day9

观察者模式原理 观察者模式通常有观察者与被观察者&#xff0c;当被观察者状态发生改变时&#xff0c;它会通知所有的被观察者对象&#xff0c;使他们能够及时做出响应&#xff0c;所以也被称作“发布-订阅模式”。总得来说就是你关注了一个主播&#xff0c;主播的状态改变会通…

Rabbitmq发送邮件并消费邮件

&#x1f4d1;前言 本文主要是【Rabbitmq】——Rabbitmq发送邮件并消费邮件的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1…

小程序开发中SSL证书的重要作用

随着互联网技术的发展&#xff0c;越来越多的企业和个人开始开发自己的小程序来满足各种需求。然而&#xff0c;在这个过程中&#xff0c;安全性和稳定性成为了开发者必须关注的重点之一。为了保障用户的隐私安全和体验效果&#xff0c;越来越多的小程序开发者开始采用SSL证书进…

Sentaurus TCAD半导体器件入门常用案例合集

Sentaurus TCAD是用于模拟半导体器件和工艺的工具之一&#xff0c;可以帮助工程师设计电路元件&#xff0c;优化半导体工艺和器件性能。主要功能包括&#xff1a;半导体器件建模&#xff08;用于建立各种半导体器件的物理模型工艺模拟&#xff09;、半导体器件的制造工艺模拟&a…

VT-VRPA2-1-1X/V0/T5控制4WRE6比例方向阀放大板

带阀芯位移反馈不带集成式放大器比例方向阀控制放大器&#xff0c;替代力士乐同型号产品&#xff0c;可以完全互换使用&#xff1b;适用于控制力士乐系列带电位置反馈的4WRE6通径和4WRE10通径2X系列比例方向阀&#xff1b;0~10V、4~20mA指令控制信号任意可选&#xff1b;直接安…

电气制图用什么软件?CAD和Eplan哪个更胜一筹?

身为电气工程师&#xff0c;每天打交道最多的可能不是自家对象&#xff0c;而是时时刻刻攥在手里的电气图。目前市面上制作电路图的软件形形色色&#xff0c;但是AutoCAD Electrical和Eplan是目前大家使用率最高的两款电气制图软件。 EPLAN是一款专业的电气设计软件&#xff0…