探究主成分分析方法数学原理

目录

1、简介

2、实现原理

3、实现步骤

4、公式分析

5、实例分析

6、⭐协方差矩阵补充说明

7、LaTex文本


⭐创作不易,您的一键三连,就是支持我写作的最大动力!🥹

关于代码如何实现,请看这篇文章:[机器学习]特征工程:主成分分析_逐梦苍穹的博客-CSDN博客icon-default.png?t=N6B9https://blog.csdn.net/qq_60735796/article/details/132324240

1、简介

主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维和特征提取技术用于将高维数据转化为低维表示,同时保留数据的主要特征。

它通过线性变换将原始特征投影到新的坐标轴上,使得投影后的特征具有最大的方差,从而达到降低数据维度的目的。

PCA 的主要思想是寻找数据中的主要方向,即数据的主成分,这些主成分是数据变化最大的方向。通过保留最重要的主成分,可以将数据的维度减少,从而减少存储和计算的成本,同时可以降低数据中的噪声和冗余信息,提高模型的泛化能力。

2、实现原理

PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法。

PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。

PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切相关的。

其中,第一个新坐标轴选择是原始数据中方差最大的方向,第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大的,第三个轴是与第1,2个轴正交的平面中方差最大的。

依次类推,可以得到n个这样的坐标轴。

通过这种方式获得的新的坐标轴,我们发现,大部分方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0。

于是,我们可以忽略余下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴。

事实上,这相当于只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的特征维度,实现对数据特征的降维处理。

3、实现步骤

PCA 的工作步骤如下:

  1. 标准化数据
  2. 计算数据的协方差矩阵。
  3. 对协方差矩阵进行特征值分解,得到特征值和特征向量。
  4. 将特征值按从大到小的顺序排列,选择前几个特征值对应的特征向量作为主成分。
  5. 将原始数据投影到选定的主成分上,得到降维后的数据。

4、公式分析

①特征样本均值:\overline{x}= \frac{1}{n}\sum_{i=1}^{n}{x_i}

②特征样本方差:{S}^2= \frac{1}{n-1}\sum_{i=1}^{n}{(x_i-\overline{x})^2}

③特征方差:{S}^2= \frac{1}{n}\sum_{i=1}^{n}{(x_i-\overline{x})^2}

④协方差:\text{Cov}(X, Y) = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})

⑤协方差矩阵:\text{Cov}(X_1,X_2,...X_p) = \begin{bmatrix} \text{Cov}(X_1, X_1) & \text{Cov}(X_1, X_2) & \dots & \text{Cov}(X_1, X_p) \\ \text{Cov}(X_2, X_1) & \text{Cov}(X_2, X_2) & \dots & \text{Cov}(X_2, X_p) \\ \vdots & \vdots & \ddots & \vdots \\ \text{Cov}(X_p, X_1) & \text{Cov}(X_p, X_2) & \dots & \text{Cov}(X_p, X_p) \end{bmatrix}

⑥样本去中心化协方差:\boldsymbol{\Sigma} = \frac{1}{n} \mathbf{X}^T \mathbf{X}

⑦特征向量:Av=\lambda v

⑧特征值:令 |C-λE| =0

⑨特征向量标准化(先求特征向量的长度):\mathbf{v}_{\text{std}} = \frac{\mathbf{v}}{||\mathbf{v}||}

5、实例分析

给出平面直角坐标系上的五个点:(-1,-2),(-1, 0),( 0, 0),( 2, 1),( 0, 1),

所以矩阵为:x= \begin{pmatrix} -1 & -1 & 0 & 2 & 0 \\ -2 & 0 & 0 & 1 & 1 \end{pmatrix}

描点画图:

下面使用主成分分析方法进行降维,结果如下:

下面是主成分分析的实现过程:

①去中心化。由于这组数据的两个指标的平均值都为0,所以该样本就是去中心化样本。

所以该样本为:

X=x= \begin{pmatrix} -1 & -1 & 0 & 2 & 0 \\ -2 & 0 & 0 & 1 & 1 \end{pmatrix}

②计算标准差。这里的特征标准差都一致,所以这一步可以不用。

③计算协方差,这里因为数据去中心化了,所以使用的公式为:\boldsymbol{C} = \frac{1}{n} \mathbf{X}^T \mathbf{X} 

(后面细讲这个公式)

协方差计算过程为:

\boldsymbol{C} = \frac{1}{n} \mathbf{X} \mathbf{X}^T=\frac{1}{5}\begin{pmatrix} -1 & -1 & 0 & 2 & 0 \\ -2 & 0 & 0 & 1 & 1 \end{pmatrix} \begin{pmatrix} -1 & -2 \\ -1 & 0 \\ 0 & 0 \\ 2 & 1 \\ 0 & 1 \\ \end{pmatrix} =\begin{pmatrix} \frac{6}{5} & \frac{4}{5} \\ \frac{4}{5} & \frac{6}{5} \\ \end{pmatrix}

④特征值和特征向量:Cv=λv。

计算过程:

\begin{pmatrix} \frac{6}{5} & \frac{4}{5} \\ \frac{4}{5} & \frac{6}{5} \\ \end{pmatrix}\begin{pmatrix} v_1\\ v_2\\ \end{pmatrix}=\lambda\begin{pmatrix} v_1\\ v_2\\ \end{pmatrix}

整理一下,得出:

\begin{array}{l} \left\{\begin{matrix} \frac{6v_1}{5}+\frac{4v_2}{5}=\lambda v_1 \\ \frac{4v_1}{5}+\frac{6v_2}{5}=\lambda v_2 \end{matrix}\right. \end{array}

进行化简,得到:

\begin{array}{l} \left\{\begin{matrix} (\frac{6}{5}-\lambda )v_1+\frac{4v_2}{5}=0 \\ \frac{4v_1}{5}+(\frac{6}{5}-\lambda)v_2=0 \end{matrix}\right. \end{array}

行列式求解:

\begin{vmatrix} \frac{6}{5}-\lambda & \frac{4}{5}\\ \frac{4}{5}& \frac{6}{5}-\lambda \\ \end{vmatrix} =0

因式分解得:

\left(\lambda-\frac{2}{5}\right)\left(\lambda-2\right) =0

解得:λ1=2,λ2=2/5

特征值依次带入行列式的矩阵,乘以对应的特征向量,得:

\begin{pmatrix} \frac{6}{5}-\lambda & \frac{4}{5} \\ \frac{4}{5} & \frac{6}{5}-\lambda \\ \end{pmatrix}\begin{pmatrix} v_{i1}\\ v_{i2}\\ \end{pmatrix}=\begin{pmatrix} 0\\ 0\\ \end{pmatrix}

λ1=2,λ2=2/5依次带入,得到:

\begin{pmatrix} \frac{6}{5}-2 & \frac{4}{5} \\ \frac{4}{5} & \frac{6}{5}-2 \\ \end{pmatrix}\begin{pmatrix} v_{11}\\ v_{12}\\ \end{pmatrix}= \begin{pmatrix} -\frac{4}{5} & \frac{4}{5} \\ \frac{4}{5} & -\frac{4}{5} \\ \end{pmatrix}\begin{pmatrix} v_{11}\\ v_{12}\\ \end{pmatrix}= \begin{pmatrix} 0\\ 0\\ \end{pmatrix}

最终特征向量v1为:C_1\begin{pmatrix} 1 \\ 1 \\ \end{pmatrix}

同理可得最终特征向量v2为:C_2\begin{pmatrix} -1 \\ 1 \\ \end{pmatrix}

其中对应的特征向量分别是一个通解,C1和C2可以取任意实数。那么标准化后的特征向量为:

v1:

\mathbf{v}_{\text{1}} = \frac{\mathbf{v_1}}{||\mathbf{v}||}= \frac{ \begin{pmatrix} 1 \\ 1 \end{pmatrix} }{ \sqrt{1^2+1^2} }=\frac{ \begin{pmatrix} 1 \\ 1 \end{pmatrix} }{ \sqrt{2} }=\begin{pmatrix} \frac{1}{\sqrt{2} } \\ \frac{1}{\sqrt{2} } \end{pmatrix}

v2:

\mathbf{v}_{\text{2}} = \frac{\mathbf{v_1}}{||\mathbf{v}||}= \frac{ \begin{pmatrix} -1 \\ 1 \end{pmatrix} }{ \sqrt{(-1)^2+1^2} }=\frac{ \begin{pmatrix} -1 \\ 1 \end{pmatrix} }{ \sqrt{2} }=\begin{pmatrix} -\frac{1}{\sqrt{2} } \\ \frac{1}{\sqrt{2} } \end{pmatrix}

所以特征矩阵为:

P=\begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{pmatrix}

⑤选取主成分:

取p1和p2:

p_1=\begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{pmatrix}

p_2=\begin{pmatrix} -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{pmatrix}

最后结果公式为:Y=PX,带入p1,得Y=p1X:

Y=p_1X=\begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{pmatrix} \begin{pmatrix} -1 & -1 & 0 & 2 & 0 \\ -2 & 0 & 0 & 1 & 1 \end{pmatrix} =\begin{pmatrix} -\frac{3}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0 & \frac{3}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{pmatrix}

带入p2同理,但是最终主成分分析的结果,应取带入p1为佳,投影到一维坐标之后,矩阵元素点到新坐标原点的距离之和,, 带入p1大于p2。

6、⭐协方差矩阵补充说明

样本去中心化协方差:\boldsymbol{C} = \frac{1}{n} \mathbf{X} \mathbf{X}^T

我们来推导一下协方差矩阵公式\boldsymbol{C} = \frac{1}{n} \mathbf{X} \mathbf{X}^T的原理:

假设我们有一个数据矩阵 X,其中每一行表示一个观测样本,每一列表示一个特征。假设数据已经被中心化,即每个特征的均值为零。

协方差矩阵的元素 Cov(Xi,Xj) 表示随机变量 Xi 和 Xj 之间的协方差。协方差的计算公式为:

\text{Cov}(X, Y) = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})

其中,xki 表示第 k 个样本的第 i 个特征值,xˉi 表示第 i 个特征的均值,n 表示观测样本数。

我们可以把数据矩阵 X 写成如下形式:

X=\begin{pmatrix} a_{11} & a_{12} &\cdots & a_{1p} \\ a_{21} & a_{22} & \cdots & a_{2p} \\ \vdots & \ddots & \vdots & \vdots\\ a_{n1} & a_{n2}&\cdots & a_{np} \end{pmatrix}

其中,每一行对应一个观测样本,每一列对应一个特征。

我们现在考虑协方差矩阵的一个元素Cov(Xi,Xj):

\text{Cov}(X_i, Y_i) = \frac{1}{n} \sum_{k=1}^{n} (x_{ki} - \bar{x_i})(x_{ki} - \bar{x_j})

我们可以把这个元素的计算写成矩阵形式,将每一列表示一个特征向量,得到如下形式:

\text{Cov}(X_i, Y_i) = \frac{1}{n} (X_{i} - \bar{x_i})^T(X_{j} - \bar{x_j})

其中,Xi 是第 i 个特征的列向量,xˉi 是第 i 个特征的均值列向量。

现在我们可以考虑协方差矩阵的计算,可以表示为矩阵乘积的形式:

\boldsymbol{\Sigma}= \frac{1}{n} (X_{} - \bar{x})^T(X_{} - \bar{x})

其中,X 是数据矩阵,xˉ 是均值矩阵,每一列表示对应特征的均值。

将 X 展开成列向量形式,我们可以得到:

\boldsymbol{\Sigma}= \frac{1}{n} X^TX

这就得到了协方差矩阵的计算公式。需要注意的是,这个公式是在数据已经中心化的基础上进行推导的。

在实际应用中,如果数据没有被中心化,还需要额外的操作来考虑均值的影响。

7、LaTex文本

文中所有公式对应的LaTex表达式都放这里了:

4、公式分析
①特征样本均值:\overline{x}= \frac{1}{n}\sum_{i=1}^{n}{x_i}
②特征样本方差:{S}^2= \frac{1}{n-1}\sum_{i=1}^{n}{(x_i-\overline{x})^2}
③特征方差:{S}^2= \frac{1}{n}\sum_{i=1}^{n}{(x_i-\overline{x})^2}
④协方差:\text{Cov}(X, Y) = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})
⑤协方差矩阵:\text{Cov}(X_1,X_2,...X_p) = \begin{bmatrix}
\text{Cov}(X_1, X_1) & \text{Cov}(X_1, X_2) & \dots & \text{Cov}(X_1, X_p) \\
\text{Cov}(X_2, X_1) & \text{Cov}(X_2, X_2) & \dots & \text{Cov}(X_2, X_p) \\
\vdots & \vdots & \ddots & \vdots \\
\text{Cov}(X_p, X_1) & \text{Cov}(X_p, X_2) & \dots & \text{Cov}(X_p, X_p)
\end{bmatrix}
⑥样本去中心化协方差:\boldsymbol{\Sigma} = \frac{1}{n} \mathbf{X}^T \mathbf{X}
⑦特征向量:Av=\lambda v
⑧特征值:令 |C-λE| =0
⑨特征向量标准化(先求特征向量的长度):\mathbf{v}_{\text{std}} = \frac{\mathbf{v}}{||\mathbf{v}||}给出平面直角坐标系上的五个点:(-1,-2),(-1, 0),( 0, 0),( 2, 1),( 0, 1),
所以矩阵为:x=
\begin{pmatrix}  -1 & -1 & 0 & 2 & 0 \\  -2 & 0 & 0 & 1 & 1  
\end{pmatrix} 下面是主成分分析的实现过程:
①去中心化。由于这组数据的两个指标的平均值都为0,所以该样本就是去中心化样本。
所以该样本为:
X=x=
\begin{pmatrix}  -1 & -1 & 0 & 2 & 0 \\  -2 & 0 & 0 & 1 & 1  
\end{pmatrix} 
②计算标准差。这里的特征标准差都一致,所以这一步可以不用。
③计算协方差,这里因为数据去中心化了,所以使用的公式为:\boldsymbol{C} = \frac{1}{n} \mathbf{X}^T \mathbf{X} (后面细讲这个公式)
协方差计算过程为:
\boldsymbol{C} = \frac{1}{n} \mathbf{X} \mathbf{X}^T=\frac{1}{5}\begin{pmatrix}  -1 & -1 & 0 & 2 & 0 \\  -2 & 0 & 0 & 1 & 1  \end{pmatrix} \begin{pmatrix}  -1 & -2 \\  -1 & 0 \\ 0 & 0    \\ 2 & 1 \\ 0 & 1 \\ \end{pmatrix} =\begin{pmatrix}  \frac{6}{5} & \frac{4}{5} \\   \frac{4}{5} & \frac{6}{5} \\ \end{pmatrix}
④特征值和特征向量:Cv=λv。
计算过程:
\begin{pmatrix}  \frac{6}{5} & \frac{4}{5} \\  \frac{4}{5} & \frac{6}{5} \\ 
\end{pmatrix}\begin{pmatrix}  v_1\\  v_2\\ 
\end{pmatrix}=\lambda\begin{pmatrix}  v_1\\  v_2\\ 
\end{pmatrix}
整理一下,得出:
\begin{array}{l} \left\{\begin{matrix} 
\frac{6v_1}{5}+\frac{4v_2}{5}=\lambda v_1 \\
\frac{4v_1}{5}+\frac{6v_2}{5}=\lambda v_2
\end{matrix}\right.    
\end{array} 
进行化简,得到:
\begin{array}{l} \left\{\begin{matrix} 
(\frac{6}{5}-\lambda )v_1+\frac{4v_2}{5}=0 \\
\frac{4v_1}{5}+(\frac{6}{5}-\lambda)v_2=0
\end{matrix}\right.    
\end{array} 
行列式求解:\begin{vmatrix}  \frac{6}{5}-\lambda &  \frac{4}{5}\\  \frac{4}{5}& \frac{6}{5}-\lambda \\  
\end{vmatrix} =0
因式分解得:
\left(\lambda-\frac{2}{5}\right)\left(\lambda-2\right) =0
解得:λ1=2,λ2=2/5
特征值依次带入行列式的矩阵,乘以对应的特征向量,得:
\begin{pmatrix}  \frac{6}{5}-\lambda & \frac{4}{5} \\  \frac{4}{5} & \frac{6}{5}-\lambda \\ 
\end{pmatrix}\begin{pmatrix}  v_{i1}\\  v_{i2}\\ 
\end{pmatrix}=\begin{pmatrix}  0\\  0\\ 
\end{pmatrix}
把λ1=2,λ2=2/5依次带入,得到:
\begin{pmatrix}  \frac{6}{5}-2 & \frac{4}{5} \\  \frac{4}{5} & \frac{6}{5}-2 \\ 
\end{pmatrix}\begin{pmatrix}  v_{11}\\  v_{12}\\ 
\end{pmatrix}=
\begin{pmatrix}  -\frac{4}{5} & \frac{4}{5} \\  \frac{4}{5} & -\frac{4}{5} \\ 
\end{pmatrix}\begin{pmatrix}  v_{11}\\  v_{12}\\ 
\end{pmatrix}=
\begin{pmatrix}  0\\  0\\ 
\end{pmatrix}
最终特征向量v1为:C_1\begin{pmatrix}  1  \\  1 \\ 
\end{pmatrix}
同理可得最终特征向量v2为:C_2\begin{pmatrix}  -1  \\  1 \\ 
\end{pmatrix}
其中对应的特征向量分别是一个通解,C1和C2可以取任意实数。那么标准化后的特征向量为:
v1:
\mathbf{v}_{\text{1}} = \frac{\mathbf{v_1}}{||\mathbf{v}||}=
\frac{
\begin{pmatrix}  1 \\  1  
\end{pmatrix} 
}{
\sqrt{1^2+1^2} 
}=\frac{
\begin{pmatrix}  1 \\  1  
\end{pmatrix} 
}{
\sqrt{2} 
}=\begin{pmatrix}  \frac{1}{\sqrt{2} } \\  \frac{1}{\sqrt{2} }   
\end{pmatrix} 
v2:
\mathbf{v}_{\text{2}} = \frac{\mathbf{v_1}}{||\mathbf{v}||}=
\frac{
\begin{pmatrix}  -1 \\  1  
\end{pmatrix} 
}{
\sqrt{(-1)^2+1^2} 
}=\frac{
\begin{pmatrix}  -1 \\  1  
\end{pmatrix} 
}{
\sqrt{2} 
}=\begin{pmatrix}  -\frac{1}{\sqrt{2} } \\  \frac{1}{\sqrt{2} }   
\end{pmatrix} 
所以特征矩阵为:
P=\begin{pmatrix}  \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\  -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}  
\end{pmatrix} 
⑤选取主成分:
取p1和p2:
p_1=\begin{pmatrix}  \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}  
\end{pmatrix} 
p_2=\begin{pmatrix}  -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}  
\end{pmatrix} 
最后结果公式为:Y=PX,带入p1,得Y=p1X:
Y=p_1X=\begin{pmatrix}  \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}  
\end{pmatrix} \begin{pmatrix}  -1 & -1 & 0 & 2 & 0 \\  -2 & 0 & 0 & 1 & 1  
\end{pmatrix} =\begin{pmatrix}  -\frac{3}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0 & \frac{3}{\sqrt{2}} & -\frac{1}{\sqrt{2}} 
\end{pmatrix} 
带入p2同理,但是最终主成分分析的结果,应取带入p1为佳,投影到一维坐标之后,矩阵元素点到新坐标原点的距离之和,, 带入p1大于p2。6、⭐协方差矩阵补充说明
样本去中心化协方差:\boldsymbol{C} = \frac{1}{n} \mathbf{X} \mathbf{X}^T
我们来推导一下协方差矩阵公式\boldsymbol{C} = \frac{1}{n} \mathbf{X} \mathbf{X}^T的原理:
假设我们有一个数据矩阵 X,其中每一行表示一个观测样本,每一列表示一个特征。假设数据已经被中心化,即每个特征的均值为零。
协方差矩阵的元素 Cov(Xi,Xj) 表示随机变量 Xi 和 Xj 之间的协方差。协方差的计算公式为:
\text{Cov}(X, Y) = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})
其中,xki 表示第 k 个样本的第 i 个特征值,xˉi 表示第 i 个特征的均值,n 表示观测样本数。
我们可以把数据矩阵 X 写成如下形式:
X=\begin{pmatrix}  a_{11} & a_{12} &\cdots & a_{1p} \\  a_{21} & a_{22} & \cdots & a_{2p} \\\vdots & \ddots & \vdots & \vdots\\  a_{n1} & a_{n2}&\cdots & a_{np}  
\end{pmatrix} 
其中,每一行对应一个观测样本,每一列对应一个特征。
我们现在考虑协方差矩阵的一个元素Cov(Xi,Xj):
\text{Cov}(X_i, Y_i) = \frac{1}{n} \sum_{k=1}^{n} (x_{ki} - \bar{x_i})(x_{ki} - \bar{x_j})
我们可以把这个元素的计算写成矩阵形式,将每一列表示一个特征向量,得到如下形式:
\text{Cov}(X_i, Y_i) = \frac{1}{n}  (X_{i} - \bar{x_i})^T(X_{j} - \bar{x_j})
其中,Xi 是第 i 个特征的列向量,xˉi 是第 i 个特征的均值列向量。
现在我们可以考虑协方差矩阵的计算,可以表示为矩阵乘积的形式:
\boldsymbol{\Sigma}=  \frac{1}{n}  (X_{} - \bar{x})^T(X_{} - \bar{x})
其中,X 是数据矩阵,xˉ 是均值矩阵,每一列表示对应特征的均值。
将 X 展开成列向量形式,我们可以得到:
\boldsymbol{\Sigma}=  \frac{1}{n}  X^TX
这就得到了协方差矩阵的计算公式。需要注意的是,这个公式是在数据已经中心化的基础上进行推导的。
在实际应用中,如果数据没有被中心化,还需要额外的操作来考虑均值的影响。

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

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

相关文章

depcheck 检查依赖插件使用及报错

1.全局安装 npm i depcheck -g 2.使用depcheck 指令进行依赖检查 报错 : 无法加载 xxx\npm\depcheck.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_Execution_Policies。…

UWB现场安装通常涉及以下步骤

UWB现场安装通常涉及以下步骤: 1.确定区域需求:首先,确定需要进行UWB定位的区域和目标。这可能是一个室内环境、仓库、工厂或其他特定的工作场所。 2.设计系统布局:根据区域的特点和目标定位需求,设计系统的布局和基…

VMware虚拟安装Ubuntu,然后切换Ubuntu内核版本

无论你选择哪种方法,一旦进入 GRUB 引导菜单,你应该能够选择需要的内核版本并启动系统。 打开终端:你可以通过按下 Ctrl Alt T 快捷键来打开终端。 使用 sudo:切换内核需要管理员权限,因此你需要使用 sudo 命令。首…

[JavaWeb]【二】Vue Ajax Elemnet Vue路由打包部署

目录 一 什么是Vue 1.1 Vue快速入门 1.2 常用指令 1.2.1 v-bind && v-model 1.2.2 v-on 1.2.3 v-if && v-show 1.2.4 v-for 1.2.5 案例 1.3 生命周期 二 Ajax 2.1 Ajax介绍 2.2 同步与异步 2.3 原生Ajax(繁琐,过时了&#xff09…

远程debug竟如此简单

一张图告诉你如何远程debug idea选择 remote 模式,host 填上 远程服务的ip,port 填上 debug 端口 红框 框起来的是 idea自动生成的 jvm启动参数,需要 启动的时候 在服务器环境变量加上。 比如,用命令行启动: java -…

常见的逻辑运算符

计算机组成原理常见的逻辑运算符及其真值规则 逻辑运算名称 符号 规则 与运算 同真则真,有假则假 或运算 有真则真,同假则假 非运算 非真为假,非假为真 异或逻辑 相同为假,不同为真 与非逻辑 将与运算…

【高危】 jeecg-boot/积木报表基于H2驱动的任意代码执行漏洞

漏洞描述 JeecgBoot 是一款开源的的低代码开发平台,积木报表是其中的低代码报表组件。 JeecgBoot 受影响版本中,由于 jeecg-boot/jmreport/testConnection Api 接口未进行身份验证,并且未对 dbUrl 参数进行限制,当应用端存在H2数…

BGP基础

BGP 一、BGP基础二、BGP的发展历史三、BGP在企业中的应用四、距离矢量型协议和路径矢量型协议五、BGP的特征六、BGP的对等关系七、BGP的数据包八、BGP的状态机九、BGP的工作过程十、BGP的路由黑洞十一、BGP的环路问题 EBGP水平分割IBGP水平分割 十二、BGP的基本配置 1、BGP的对…

pycharm调整最大堆发挥最大

python程序运行时,怎么提高效率,设置pycharm最大堆过程如下; 一、进入设置pycharm最大堆; 二、进入设置pycharm最大堆; 如果8g设置为6g左右,占75%左右最佳

Docker容器基础

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、Docker概述1、docker是什么2、Docker的设计宗旨3、容器在内核中支持2种重要技术: 三、Docker的核心概念四、Docker相关命令1.安装依赖包2.设置阿里云…

【学习笔记之opcua】使用Python获取opcua数据

Python与OPC UA的应用 示例代码 将代码放入spyder中运行后,出现下面这个错误 没有‘opcua’,那我们就下载pip install opcua 之后出现下面这个错误 问问题大不,安装语句写错了 正经安装语句是 !pip install opcua 读取opcua协议数据测试 …

jenkins gitlab 安装

目录 一 准备安装环境 二 安装gitlab软件 三 配置gitlab 四 重新加载配置启动gitlab 五 修改密码 五 创建用户组 一 准备安装环境 sudo yum update sudo yum install -y curl policycoreutils-python openssh-server安装 Postfix 邮件服务器,以便 Git…