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

线性代数|机器学习-P18快速下降奇异值

文章目录

  • 1. 为什么要低秩矩阵
    • 1.1 矩阵A的秩定义
    • 1.2 矩阵压缩PCA
  • 2. 低秩矩阵图像处理
  • 3. 秩的相关性质
    • 3.1 秩的公差轴表示
    • 3.2 Eckart-Young 定理
  • 4. 低秩矩阵
    • 4.1 低秩矩阵描述
    • 4.2 函数低秩矩阵形式
    • 4.3通项小结
    • 4.4 函数采样拟合
  • 5. 西尔维斯特方程
    • 5.1 希尔伯特矩阵举例
    • 5.2 范德蒙矩阵举例
    • 5.3 西尔维斯特方程

1. 为什么要低秩矩阵

1.1 矩阵A的秩定义

如果矩阵X为n行n列实数矩阵,其有n个特征值如下:
σ 1 ≥ σ 2 ≥ ⋯ ≥ σ k ≥ σ k + 1 ≥ ⋯ ≥ σ n \begin{equation} \sigma_1\ge\sigma_2\ge\cdots\ge\sigma_k\ge\sigma_{k+1}\ge\cdots\ge\sigma_{n} \end{equation} σ1σ2σkσk+1σn

  • 如果满足如下条件
    σ k + 1 = 0 , σ k > 0 \begin{equation} \sigma_{k+1}=0,\sigma_k>0 \end{equation} σk+1=0,σk>0
    那么可得:
    r a n k ( X ) = k , X = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + ⋯ + σ k u k v k T \begin{equation} rank(X)=k,X=\sigma_1u_1v_1^T+\sigma_2u_2v_2^T+\cdots+\sigma_ku_kv_k^T \end{equation} rank(X)=k,X=σ1u1v1T+σ2u2v2T++σkukvkT

1.2 矩阵压缩PCA

我们的世界里面有很多数据,如果我们原封不动的发送数据,那么会导致数据量的增大,我们希望对数据进行压缩后再打包压缩,这样的话我们能够在带宽一定的情况下发送更多的数据,举例,假设我们有一个矩阵X,我们可以经过SVD奇异值分解得到如下:

  • 假设矩阵 n × n n\times n n×n 矩阵的秩为k
    X = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + ⋯ + σ k u k v k T + σ k + 1 u k + 1 v k + 1 T + ⋯ + σ n u n v n T \begin{equation} X=\sigma_1u_1v_1^T+\sigma_2u_2v_2^T+\cdots+\sigma_ku_kv_k^T+\sigma_{k+1}u_{k+1}v_{k+1}^T+\cdots+\sigma_nu_nv_n^T\end{equation} X=σ1u1v1T+σ2u2v2T++σkukvkT+σk+1uk+1vk+1T++σnunvnT

  • 我们知道矩阵X的奇异值关系如下:
    σ 1 ≥ σ 2 ≥ ⋯ ≥ σ k ≥ σ k + 1 ≥ ⋯ ≥ σ n \begin{equation} \sigma_1\ge\sigma_2\ge\cdots\ge\sigma_k\ge\sigma_{k+1}\ge\cdots\ge\sigma_{n} \end{equation} σ1σ2σkσk+1σn

  • 如果矩阵X的秩为k,那么可得:
    σ k + 1 = ⋯ = σ n = 0 \begin{equation} \sigma_{k+1}=\cdots=\sigma_{n}=0 \end{equation} σk+1==σn=0

  • 在没有低秩压缩的情况下,我们发送数据大小 S 1 S_1 S1为,直接长=n宽=n相乘
    S 1 = n ∗ n = n 2 \begin{equation} S_1=n*n=n^2 \end{equation} S1=nn=n2

  • SVD奇异值分解后可得:
    X = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + ⋯ + σ k u k v k T \begin{equation} X=\sigma_1u_1v_1^T+\sigma_2u_2v_2^T+\cdots+\sigma_ku_kv_k^T \end{equation} X=σ1u1v1T+σ2u2v2T++σkukvkT

  • 在低秩压缩的后下,我们发送数据大小 S 2 S_2 S2为,其中每个
    S 2 = ( n + n ) ∗ k = 2 n k \begin{equation} S_2=(n+n)*k=2nk \end{equation} S2=(n+n)k=2nk
    在这里插入图片描述

  • 那么我们可以得到如下:
    2 n k ≤ n 2 → k ≤ n 2 \begin{equation} 2nk\leq n^2\rightarrow k\leq\frac{n}{2} \end{equation} 2nkn2k2n

  • 那问题来了,我们能够做得更好吗?我们能够用更小的数据来压缩吗?

2. 低秩矩阵图像处理

假设我们有一张日本国旗的图像表示如下,我们

在这里插入图片描述

  • 如图所示,我们可以依据对称性,将一个日本国旗拆解为如下三个部分,每个部分的秩表示如下,注意要取整:
    r 1 = ( 1 − 2 2 ) r ; r 2 = ( 1 − 2 2 ) r ; r 3 = 1 \begin{equation} r_1=(1-\frac{\sqrt{2}}{2})r;r_2=(1-\frac{\sqrt{2}}{2})r;r_3=1 \end{equation} r1=(122 )r;r2=(122 )r;r3=1
  • 那么拆解后,数据的秩表示如下:
    r k = ( 2 − 2 ) r + 1 \begin{equation} r_k=(2-\sqrt{2})r+1 \end{equation} rk=(22 )r+1
  • 小结:对于一个原始的日本国旗图像来说,我们通过对称的原理,不断的对称分解得到三个最小的无法对称的三个小图像,这样我们可以将原来的日本国旗图像最后分解为三个小图像发给对方,当对方收到三个小图像后,可以通过对称原理进行还原,这样数据就压缩了,我们可以进行数据低秩压缩处理。
  • 整体思路如下:
    在这里插入图片描述

3. 秩的相关性质

3.1 秩的公差轴表示

假设我们有一个公差 0 < ϵ < 1 0<\epsilon<1 0<ϵ<1, 如果满足 σ k + 1 ≤ ϵ σ 1 ( x ) , σ k ≥ ϵ σ 1 ( x ) \sigma_{k+1}\le \epsilon\sigma_1(x),\sigma_{k}\ge \epsilon\sigma_1(x) σk+1ϵσ1(x),σkϵσ1(x),则 r a n k ϵ = k rank_{\epsilon}=k rankϵ=k

  • 我们知道 0 < ϵ < 1 0<\epsilon<1 0<ϵ<1,两百年乘以 σ 1 ( x ) \sigma_1(x) σ1(x) 可得:
    0 < ϵ σ 1 ( x ) < σ 1 ( x ) \begin{equation} 0<\epsilon\sigma_1(x)<\sigma_1(x) \end{equation} 0<ϵσ1(x)<σ1(x)
  • 也就是说 ϵ σ 1 ( x ) \epsilon\sigma_1(x) ϵσ1(x) 可以取到所有大于零的奇异值
    在这里插入图片描述
  • 也就是说我们能够在 σ k ( x ) \sigma_k(x) σk(x)这个点上面找到奇异值的正负边界,那么我们就能够知道秩为k。

3.2 Eckart-Young 定理

假设矩阵B有和矩阵 A k A_k Ak一样的值为k,那么可得如下结论:
在这里插入图片描述
∣ ∣ A − B ∣ ∣ ≥ ∣ ∣ A − A k ∣ ∣ \begin{equation} ||A-B|| \geq ||A-A_k|| \end{equation} ∣∣AB∣∣∣∣AAk∣∣

  • 画图证明:
    假设我们定义矩阵A为一个向量, A k A_k Ak为矩阵A向量的子向量,定义矩阵B的秩为k,那么矩阵B向量的长度和向量 A k A_k Ak长度一样,方向不同,具体如下图所述:
    在这里插入图片描述
    -由于 0 ° < θ < 90 ° 0°<\theta<90° <θ<90°,所以可得 90 ° < β < 180 ° 90°<\beta<180° 90°<β<180°,也就是说在新的三角形中, β \beta β是钝角,那么钝角对应的边最大,所以可得 ∣ ∣ C ∣ ∣ ≥ ∣ ∣ D ∣ ∣ ||C||\ge ||D|| ∣∣C∣∣∣∣D∣∣,可以得到结论如下:
    ∣ ∣ A − B ∣ ∣ ≥ ∣ ∣ A − A k ∣ ∣ \begin{equation} ||A-B||\geq ||A-A_k|| \end{equation} ∣∣AB∣∣∣∣AAk∣∣
  • 那么 σ k + 1 = ∣ ∣ A − A k ∣ ∣ \sigma_{k+1}=||A-A_k|| σk+1=∣∣AAk∣∣暂时不会,后面补充吧!!

4. 低秩矩阵

4.1 低秩矩阵描述

  • 4.1 hilbert 希尔伯特矩阵
    我们定义希尔伯特矩阵如下:
    H j k = 1 j + k − 1 \begin{equation} H_{jk}=\frac{1}{j+k-1} \end{equation} Hjk=j+k11

  • 4.2 Vandermonde 范德蒙矩阵
    我们定义范德蒙矩阵如下:
    V n = [ 1 x 1 x 1 2 ⋯ x 1 n − 1 1 x 2 x 2 2 ⋯ x 2 n − 1 ⋮ ⋮ ⋮ ⋯ ⋮ 1 x n x n 2 ⋯ x n n − 1 ] \begin{equation} V_{n}=\begin{bmatrix} 1&x_1&x_1^2&\cdots&x_1^{n-1}\\\\ 1&x_2&x_2^2&\cdots&x_2^{n-1}\\\\ \vdots&\vdots&\vdots&\cdots&\vdots\\\\ 1&x_n&x_n^2&\cdots&x_n^{n-1} \end{bmatrix} \end{equation} Vn= 111x1x2xnx12x22xn2x1n1x2n1xnn1

  • 其中 A n = [ a i j ] A_n=[a_{ij}] An=[aij]时一个 n × n n\times n n×n阶矩阵,每个元素为 a i j = x i j − 1 a_{ij}=x_i^{j-1} aij=xij1
    经常我们需要求解 V n − 1 V_{n}^{-1} Vn1,但是因为 V n V_n Vn是低秩矩阵,所以很难求解其逆矩阵,那为什么这么难求这些低秩矩阵的逆呢?原因居然是世界是平滑的,所以存在很多低秩的矩阵。

4.2 函数低秩矩阵形式

假设我们有一个函数表示如下:
P ( x , y ) = 1 + x + x y → X j k = P ( j , k ) \begin{equation} P(x,y)=1+x+xy\rightarrow X_{jk}=P(j,k) \end{equation} P(x,y)=1+x+xyXjk=P(j,k)

  • 那么矩阵X可以表示如下:
    X = [ 1 1 ⋮ 1 ] [ 1 1 ⋯ 1 ] + [ 1 2 ⋮ n ] [ 1 1 ⋯ 1 ] + [ 1 2 ⋮ n ] [ 1 2 ⋯ n ] \begin{equation} X=\begin{bmatrix} 1\\\\1\\\\\vdots\\\\1 \end{bmatrix}\begin{bmatrix} 1&1&\cdots&1 \end{bmatrix}+\begin{bmatrix} 1\\\\2\\\\\vdots\\\\n \end{bmatrix}\begin{bmatrix} 1&1&\cdots&1 \end{bmatrix}+\begin{bmatrix} 1\\\\2\\\\\vdots\\\\n \end{bmatrix}\begin{bmatrix} 1&2&\cdots&n \end{bmatrix} \end{equation} X= 111 [111]+ 12n [111]+ 12n [12n]
  • 那么可以得到矩阵X的秩小于3,即 R a n k ( X ) ≤ 3 Rank(X)\le3 Rank(X)3

4.3通项小结

假设我们有如下函数
p ( x , y ) = ∑ s = 0 m − 1 ∑ t = 0 m − 1 a s t x s y t , X j k = p ( j , k ) \begin{equation} p(x,y)=\sum_{s=0}^{m-1}\sum_{t=0}^{m-1}a_{st}x^sy^t,X_{jk}=p(j,k) \end{equation} p(x,y)=s=0m1t=0m1astxsyt,Xjk=p(j,k)

  • 那么我们可以得到矩阵X的秩有如下关系:
    r a n k ( X ) ≤ m 2 \begin{equation} rank(X)\leq m^2 \end{equation} rank(X)m2

4.4 函数采样拟合

假设我们有一个矩阵X且 X j k = 1 j + k − 1 , f ( x , y ) = 1 x + y − 1 X_{jk}=\frac{1}{j+k-1},f(x,y)=\frac{1}{x+y-1} Xjk=j+k11,f(x,y)=x+y11,我们希望通过在 f ( x , y ) f(x,y) f(x,y)函数中采样的方法得到一个近似的函数 p ( x , y ) p(x,y) p(x,y),使得我们能够在进行了有限的采样后,我们只需要用 p ( x , y ) p(x,y) p(x,y)近似于原函数 f ( x , y ) f(x,y) f(x,y)
∣ f ( x , y ) − p ( x , y ) ∣ ≤ ϵ n ∣ ∣ x ∣ ∣ 2 \begin{equation} |f(x,y)-p(x,y)|\leq \frac{\epsilon}{n}||x||_2 \end{equation} f(x,y)p(x,y)nϵ∣∣x2

  • 是不是很神奇,用有限的采样可以拟合出来原来的函数。
    假设我们有一个希尔伯特矩阵,其秩为1000,假设我们有一个公差 ϵ = 1 0 − 15 \epsilon=10^{-15} ϵ=1015,Reade's 大神得到秩为
    r a n k ϵ ( H 1000 ) ≤ 719 \begin{equation} rank_{\epsilon}(H_{1000})\leq 719 \end{equation} rankϵ(H1000)719

5. 西尔维斯特方程

Sylvester 方程:
A X + X B = C \begin{equation} AX+XB=C \end{equation} AX+XB=C

其中A、B及C是已知的矩阵,问题是要找出符合条件的X。其中所有矩阵的系数都是复数。为了要使方程成立,矩阵的行和列需要满足一定条件,A和B都要是方阵,大小分别是n和m,而X和C要是n行m列的矩阵,n和m也可以相等,四个矩阵都是大小相同的方阵。
西尔维斯特方程有唯一解X的充分必要条件是A和-B没有共同的特征值。
AX+XB=C也可以视为是(可能无穷维中)巴拿赫空间中有界算子的方程。此情形下,唯一解X的充份必要条件几乎相同:唯一解X的充份必要条件是A和-B的谱互为不交集

5.1 希尔伯特矩阵举例

[ 1 2 3 2 ⋱ n − 1 2 ] H − H [ − 1 2 − 3 2 ⋱ − n + 1 2 ] = [ 1 1 ⋯ 1 1 1 ⋯ 1 ⋮ ⋮ ⋯ ⋮ 1 1 ⋯ 1 ] \begin{equation} \begin{bmatrix} \frac{1}{2}\\\\ &\frac{3}{2}\\\\ &&\ddots\\\\ &&&n-\frac{1}{2} \end{bmatrix}H-H\begin{bmatrix} -\frac{1}{2}\\\\ &-\frac{3}{2}\\\\ &&\ddots\\\\ &&&-n+\frac{1}{2} \end{bmatrix}=\begin{bmatrix} 1&1&\cdots&1\\\\ 1&1&\cdots&1\\\\ \vdots&\vdots&\cdots&\vdots\\\\ 1&1&\cdots&1 \end{bmatrix} \end{equation} 2123n21 HH 2123n+21 = 111111111

  • 我们那H中的第i,j项目来说;
    H i j = 1 i + j − 1 \begin{equation} H_{ij}=\frac{1}{i+j-1} \end{equation} Hij=i+j11
    ( i − 1 2 ) ⋅ 1 i + j − 1 − ( − j + 1 2 ) 1 i + j − 1 = i + j − 1 i + j − 1 = 1 \begin{equation} (i-\frac{1}{2})\cdot\frac{1}{i+j-1}-(-j+\frac{1}{2})\frac{1}{i+j-1}=\frac{i+j-1}{i+j-1}=1 \end{equation} (i21)i+j11(j+21)i+j11=i+j1i+j1=1
  • 既然每个元素结果为1,所以最后结果为全1矩阵。

5.2 范德蒙矩阵举例

A = [ x 1 x 2 ⋱ x n ] ; B = [ 0 0 ⋯ − 1 1 0 0 ⋯ ⋅ 0 1 0 ⋱ 0 0 0 1 0 ] ; C = [ 0 0 0 x 1 n + 1 0 0 0 x 2 n + 1 0 0 0 ⋮ 0 0 0 x n n + 1 ] ; \begin{equation} A=\begin{bmatrix}x_1\\\\ &x_2\\\\ &&\ddots\\\\ &&&x_n\end{bmatrix}; B=\begin{bmatrix} 0&0&&\cdots&-1\\\\ 1&0&0&\cdots&\cdot\\\\ 0&1&0&\ddots&0\\\\ 0&0&1&&0\end{bmatrix}; C=\begin{bmatrix} 0&0&0&x_1^n+1\\\\ 0&0&0&x_2^n+1\\\\ 0&0&0&\vdots\\\\ 0&0&0&x_n^n+1 \end{bmatrix}; \end{equation} A= x1x2xn ;B= 01000010001100 ;C= 000000000000x1n+1x2n+1xnn+1 ;

5.3 西尔维斯特方程

如果 X满足如下方程:
A X − X B = C \begin{equation} AX-XB=C \end{equation} AXXB=C

  • A,B是正规矩阵,E为A的特征值集合,F为B的的特征值集合,那么可以得到如下:
    σ r k + 1 ( X ) ≤ Z k [ σ ( A ) , σ ( B ) ] σ 1 ( X ) → r a n k ( C ) = r ; \begin{equation} \sigma_{rk+1}(X)\le Z_{k}[\sigma(A),\sigma(B)]\sigma_1(X)\rightarrow rank(C)=r; \end{equation} σrk+1(X)Zk[σ(A),σ(B)]σ1(X)rank(C)=r;

相关文章:

线性代数|机器学习-P18快速下降奇异值

文章目录 1. 为什么要低秩矩阵1.1 矩阵A的秩定义1.2 矩阵压缩PCA 2. 低秩矩阵图像处理3. 秩的相关性质3.1 秩的公差轴表示3.2 Eckart-Young 定理 4. 低秩矩阵4.1 低秩矩阵描述4.2 函数低秩矩阵形式4.3通项小结4.4 函数采样拟合 5. 西尔维斯特方程5.1 希尔伯特矩阵举例5.2 范德蒙…...

本地离线模型搭建指南-中文大语言模型底座选择依据

搭建一个本地中文大语言模型&#xff08;LLM&#xff09;涉及多个关键步骤&#xff0c;从选择模型底座&#xff0c;到运行机器和框架&#xff0c;再到具体的架构实现和训练方式。以下是一个详细的指南&#xff0c;帮助你从零开始构建和运行一个中文大语言模型。 本地离线模型搭…...

【代码随想录】【算法训练营】【第51天】 [115]不同的子序列 [583]两个字符串的删除操作 [72]编辑距离

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 51&#xff0c;周四&#xff0c;又是不能坚持的一天~ 题目详情 [115] 不同的子序列 题目描述 115 不同的子序列 解题思路 前提&#xff1a; 思路&#xff1a; 重点&#xff1a; 代码实现 …...

24下半年软考集合!30s打破信息差!

01软考是什么&#xff1f; 软考&#xff0c;全称为计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff0c;也称为计算机资格考试&#xff0c;是由国家人力资源和社会保障部、工业和信息化部领导的国家级考试。它既是国家级资格证书&#xff0c;又是职称资…...

如何在Xcode中设置库路径

在Xcode中设置库路径的过程可以分为以下几个步骤&#xff0c;下面将结合参考文章中的信息&#xff0c;以清晰、分点表示和归纳的方式给出指导&#xff1a; 1. 确定库的类型和来源 动态库&#xff08;.dylib或.framework&#xff09;或静态库&#xff08;.a&#xff09;&#…...

小程序的基本使用

【 0 】前言 【 0 】 这个就是js代码的存放地方 app.json // pages/banner/banner.js Page({/*** 页面的初始数据*/data: {},/*** 生命周期函数--监听页面加载*/onLoad(options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示…...

[保姆级教程]uniapp设置字体引入字体格式

文章目录 在 UniApp 中设置和引入自定义字体&#xff08;如 .ttf、.woff、.woff2 等格式&#xff09;通常涉及几个步骤。 准备字体文件&#xff1a; 首先&#xff0c;你需要有字体文件。这些文件通常以 .ttf、.woff 或 .woff2 格式提供。确保有权使用这些字体&#xff0c;并遵守…...

【Webpack】前端工程化之Webpack与模块化开发

目 录 前言模块化开发Stage1 - 文件划分方式Stage2 - 命名空间方式Stage3 - IIFE&#xff08;立即调用函数表达式&#xff09;Stage 4 - IIFE 依赖参数模块化的标准规范 使用Webpack实现模块化打包安装WebpackWebpack基本配置Webpack构建流程Webpack热更新Webpack打包优化 前言…...

【Android】记录在自己的AMD处理器无法使用Android studio 虚拟机处理过程

文章目录 问题&#xff1a;无法在AMD平台打开Android studio 虚拟机&#xff0c;已解决平台&#xff1a;AMD 5700g系统&#xff1a;win10专业版1、在 amd平台上使用安卓虚拟机需要安装硬件加速器2、关闭win10上的系统服务 问题&#xff1a;无法在AMD平台打开Android studio 虚拟…...

LearnOpenGL - Android OpenGL ES 3.0 使用 FBO 进行离屏渲染

系列文章目录 LearnOpenGL 笔记 - 入门 01 OpenGLLearnOpenGL 笔记 - 入门 02 创建窗口LearnOpenGL 笔记 - 入门 03 你好&#xff0c;窗口LearnOpenGL 笔记 - 入门 04 你好&#xff0c;三角形OpenGL - 如何理解 VAO 与 VBO 之间的关系LearnOpenGL - Android OpenGL ES 3.0 绘制…...

人工智能虚拟仿真系统,解决算法难、编程难、应用场景难三大难题

近年来&#xff0c;人工智能技术迅猛发展&#xff0c;广泛渗透至各行业&#xff0c;市场份额持续扩大&#xff0c;预示着智能化转型的广阔前景。该行业本质上属于知识高度密集型&#xff0c;近年来的迅猛发展进一步加剧了对专业人才的迫切需求。 然而&#xff0c;我国目前在人工…...

CTE(公共表表达式)和视图在查询时的性能影响

在SQL查询优化和数据库设计中&#xff0c;CTE&#xff08;公共表表达式&#xff09;和视图都是常用的工具。尽管它们在功能和使用场景上有很多相似之处&#xff0c;但在查询性能方面可能存在显著差异。本文将探讨CTE和视图在查询时的性能影响&#xff0c;帮助您在实际项目中做出…...

新能源行业必会基础知识-----电力市场概论笔记-----绪论

新能源行业知识体系-------主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/139946830 目录 1. 电力市场的定义2. 对传统电力系统理论的挑战 1. 电力市场的定义 1. 我国电力市场的进程 我国新一轮电力体制改革的5大亮点&…...

003 SpringBoot操作ElasticSearch7.x

文章目录 5.SpringBoot集成ElasticSearch7.x1.添加依赖2.yml配置3.创建文档对象4.继承ElasticsearchRepository5.注入ElasticsearchRestTemplate 6.SpringBoot操作ElasticSearch1.ElasticsearchRestTemplate索引操作2.ElasticsearchRepository文档操作3.ElasticsearchRestTempl…...

npm install报错Maximum call stack size exceeded

npm 报错 方案&#xff1a; npm cache clean --force npm install...

第1章 基础知识

第1章 基础知识 1.1 机器语言 机器语言就是机器指令的集合&#xff0c;机器指令展开来讲就是一台机器可以正确执行的命令 1.2 汇编语言的产生 汇编语言的主题是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上&#xff0c;汇编指令是机器指令便于记忆的书写格式。…...

python脚本 限制 外部访问 linux服务器端口

注意&#xff1a;该脚本会清空linux防火墙的filter表的规则和用户自定义链路 脚本的效果是将端口限制为仅服务器内部访问 可以提供ip地址白名单 具体脚本&#xff1a; #!/usr/bin/python3 import argparse, subprocess, sys, redef popen(cmd):global resulttry:result su…...

Redis-哨兵模式-主机宕机-推选新主机的过程

文章目录 1、为哨兵模式准备配置文件2、启动哨兵3、主机6379宕机3.4、查看sentinel控制台日志3.5、查看6380主从信息 4、复活63794.1、再次查看sentinel控制台日志 1、为哨兵模式准备配置文件 [rootlocalhost redis]# ll 总用量 244 drwxr-xr-x. 2 root root 150 12月 6 2…...

游戏工厂:AI(AIGC/ChatGPT)与流程式游戏开发

游戏工厂&#xff1a;AI&#xff08;AIGC/ChatGPT&#xff09;与流程式游戏开发 码客 卢益贵 ygluu 关键词&#xff1a;AI&#xff08;AIGC、ChatGPT、文心一言&#xff09;、流程式管理、好莱坞电影流程、电影工厂、游戏工厂、游戏开发流程、游戏架构、模块化开发 一、前言…...

每日一练 - OSPF 组播地址

01 真题题目 判断以下陈述是否正确&#xff1a; 224.0.0.6 是 ALL DRouters 监听地址 224.0.0.5 是 ALL SPFRouters 监听地址 A.正确 B.错误 02 真题答案 A 03 答案解析 在OSPF (Open Shortest Path First) 路由协议中&#xff0c;为了实现高效的信息交换和发现邻居&#x…...

AMHS工程师的培养

一、岗位职责主要包括: 1. 负责生产现场设备运行维护及异常处理,确保设备安全操作与保养。 2. 制定并实施AMHS计划和措施,对过程问题进行追踪解决。 3. 监控生产过程中的不良品率,确保生产过程的稳定性。 4. 建立AMHS标准作业程序文件,并定期更新和维护。 5. 负责AMHS…...

如何在前端项目中制定代码注释规范

本文是前端代码规范系列文章&#xff0c;将涵盖前端领域各方面规范整理&#xff0c;其他完整文章可前往主页查阅~ 开始之前&#xff0c;介绍一下​最近很火的开源技术&#xff0c;低代码。 作为一种软件开发技术逐渐进入了人们的视角里&#xff0c;它利用自身独特的优势占领市…...

一位苹果手机硬件工程师繁忙的一天

早晨&#xff1a;迎接新的一天 7:00 AM - 起床 早晨七点准时起床。洗漱、吃早餐后&#xff0c;查看手机上的邮件和消息&#xff0c;以便提前了解今天的工作安排和优先事项。 7:30 AM - 前往公司 开车前往位于加州库比蒂诺的苹果总部。在车上习惯性地听一些与电子工程相关的播…...

Python | 使用均值编码(MeanEncoding)处理分类特征

在特征工程中&#xff0c;将分类特征转换为数字特征的任务称为编码。 有多种方法来处理分类特征&#xff0c;如OneHotEncoding和LabelEncoding&#xff0c;FrequencyEncoding或通过其计数替换分类特征。同样&#xff0c;我们可以使用均值编码(MeanEncoding)。 均值编码 均值…...

面试-java异常体系

1.java异常体系 error类是指与jvm相关的问题。如系统崩溃&#xff0c;虚拟机错误&#xff0c;内存空间不足。 非runtime异常不处理&#xff0c;程序就没有办法执行。 一旦遇到异常抛出&#xff0c;后面的异常就不会进行。 (1)常见的error以及exception 2.java异常要点分析…...

Clickhouse 的性能优化实践总结

文章目录 前言性能优化的原则数据结构优化内存优化磁盘优化网络优化CPU优化查询优化数据迁移优化 前言 ClickHouse是一个性能很强的OLAP数据库&#xff0c;性能强是建立在专业运维之上的&#xff0c;需要专业运维人员依据不同的业务需求对ClickHouse进行有针对性的优化。同一批…...

变工况下转子、轴承数据采集及测试

1.固定工况下的数据采集 1.wireshark抓包 通过使用 Wireshark 抓包和 Linux 端口重放技术&#xff0c;可以模拟实际机械设备的运行环境&#xff0c;从而减少实地验证软件和算法的复杂性和麻烦。 打开设备正常运转&#xff0c;当采集器通过网口将数据发送到电脑时&#xff0c…...

泰迪智能科技与成都文理学院人工智能与大数据学院开展校企合作交流

近日&#xff0c;在推动高等教育与产业深度融合的背景下&#xff0c;成都文理学院人工智能与大数据学院携手广东泰迪智能科技股份有限公司开展“专业建设交流会”。人工智能与大数据学院院长胡念青、院长助理陈坚、骨干教师刘超超、孙沛、赵杰、文运、胡斌、邹杰出席本次交流会…...

ubuntu22.04安装初始化

目录 1. 概述2. 修改参数3. 修改限制4. 修改源6. 虚拟机关闭swap分区7. 配置系统信息7.1 设置主机名7.2 设置时区7.3 安装常用工具包7.4 设置时间同步7.5 关闭 selinux 1. 概述 CentOS 7 马上就停止支持服务了&#xff0c;未雨绸缪&#xff0c;整理Ubuntu 22.04的 初始化脚本。…...

学习新语言方法总结(一)

随着工作时间越长&#xff0c;单一语言越来越难找工作了&#xff0c;需要不停地学习新语言来适应&#xff0c;总结一下自己学习新语言的方法&#xff0c;这次以GO为例&#xff0c;原来主语言是PHP &#xff0c;自学GO 了解语言特性&#xff0c;知道他是干嘛的 go语言&#xff0…...

Mysql数据的备份与恢复

一.备份概述 备份的主要目的是灾难恢复&#xff0c;备份还可以测试应用、回滚数据修改、查询历史数据、审计等。 1.数据备份的重要性 在企业中数据的价值至关重要&#xff0c;数据保障了企业业务的正常运行。因此&#xff0c;数据的安全性及数据的可靠性是运维的重中之重&…...

规上!西安市支持培育商贸企业达限纳统应统尽统申报奖励补助要求政策

西安市支持培育商贸企业达限纳统应统尽统工作方案 为加快培育消费市场主体&#xff0c;支持商贸企业扩大经营、做大做强&#xff0c;指导企业达限纳统、应统尽统&#xff0c;不断扩大我市限额以上商贸企业数量规模&#xff0c;促进全市经济社会高质量发展&#xff0c;结合我市…...

Go语言测试第二弹——基准测试

在前一篇文章中&#xff0c;我们讲解了Go语言中最基础的单元测试&#xff0c;还没有看过的可以自行去查看&#xff0c;这篇文章我们详细了解Go语言里面的基准测试。 基准测试 基准测试&#xff0c;也就是BenchmarkTest&#xff0c;基准测试是用来测试代码性能的的一种方法&…...

关于“刘亦菲为什么无人敢娶”的问题❗❗❗

关于“刘亦菲为什么无人敢娶”的问题&#xff0c; 实际上涉及到多个方面的因素&#xff0c; 以下是对这些因素的详细分析&#xff1a;1.事业心重&#xff1a;刘亦菲作为华语影视圈的知名女星&#xff0c;她的演艺事业非常成功&#xff0c; 这也意味着她将大量的时间和精力投…...

LeetCode:经典题之141、142 题解及延伸

系列目录 88.合并两个有序数组 52.螺旋数组 567.字符串的排列 643.子数组最大平均数 150.逆波兰表达式 61.旋转链表 160.相交链表 83.删除排序链表中的重复元素 389.找不同 1491.去掉最低工资和最高工资后的工资平均值 896.单调序列 206.反转链表 92.反转链表II 141.环形链表 …...

rk3568 OpenHarmony 串口uart与电脑通讯开发案例

一、需求描述&#xff1a; rk3568开发板运行OpenHarmony4.0&#xff0c;通过开发板上的uart串口与电脑进行通讯&#xff0c;相互收发字符串。 二、案例展示 1、开发环境&#xff1a; &#xff08;1&#xff09;rk3568开发板 &#xff08;2&#xff09;系统&#xff1a;OpenHar…...

canvas画布旋转问题

先说一下为什么要旋转的目的&#xff1a;因为在画布上签名&#xff0c;在不同的设备上我需要不同方向的签名图片&#xff0c;电脑是横屏&#xff0c;手机就是竖屏&#xff0c;所以需要把手机的签名旋转270&#xff0c;因此写了这个方法。 关于画布旋转的重点就是获取到你的画布…...

vue3 【提效】自动导入框架方法 unplugin-auto-import 实用教程

是否还在为每次都需要导入框架方法而烦恼呢&#xff1f; // 每次都需手动导入框架方法 import { ref } from vuelet num ref(0)用 unplugin-auto-import 来帮你吧&#xff0c;以后只需这样写就行啦&#xff01; let num ref(0)官方示例如下图 使用流程 1. 安装 unplugin-au…...

clip系列改进Lseg、 group ViT、ViLD、Glip

Lseg 在clip后面加一个分割head&#xff0c;然后用分割数据集有监督训练。textencoder使用clip&#xff0c;frozen住。 group ViT 与Lseg不同&#xff0c;借鉴了clip做了真正的无监督学习。 具体的通过group block来做的。使用学习的N个group token&#xff08;可以理解为聚类…...

Ubuntu下TensorRT与trtexec工具的安装

新版&#xff08;这里测试的是10.1版&#xff09;的onnx转tensorrt engine工具trtexec已经集成在TensorRT中&#xff0c;不需要额外单独安装。 教程来源于此网页&#xff1a;https://medium.com/moshiur.faisal01/install-tensorrt-with-command-line-wrapper-trtexec-on-unun…...

MySQL定时任务

事件调度器操作 查看事件调度器是否开启&#xff1a;ON 表示已开启。 show variables like %event_scheduler%; ------------------------ | Variable_name | Value | ------------------------ | event_scheduler | ON | ------------------------ 开启和关闭事件调度器…...

Pandas实用Excel数据汇总

Pandas 是一个开源的 Python 库&#xff0c;由 Wes McKinney 开发&#xff0c;专门用于高效地处理和分析数据&#xff0c;无论是小规模的数据实验还是大规模的数据处理任务。它构建在 NumPy 之上&#xff0c;这意味着它利用了 NumPy 的高性能数组计算能力。Pandas 的核心数据结…...

【计算机网络】[第4章 网络层][自用]

1 概述 (1)因特网使用的TCP/IP协议体系(四层)的网际层,提供的是无连接、不可靠的数据报服务; (2)ATM、帧中继、X.25的OSI体系(七层)中的网络层,提供的是面向连接的、可靠的虚电路服务。 (3)路由选择分两种: 一种是由用户or管理员人工进行配置(只适用于规…...

Unity3D Entity_CacheService实现详解

Unity3D是一款广泛使用的游戏开发引擎&#xff0c;它提供了丰富的功能和工具来帮助开发者创建高质量的游戏和互动体验。在Unity开发过程中&#xff0c;资源管理是一个重要的环节&#xff0c;特别是当项目规模逐渐增大&#xff0c;资源数量变多时。为了优化资源的加载和管理&…...

DLMS/COSEM协议—(Green-Book)Gateway protocol

DLMS/COSEM协议 — Gateway protocol 10.10 Gateway protocol &#xff08;网关协议&#xff09;10.10.1 概述10.10.2 网关协议 &#xff08;The gateway protocol&#xff09;10.10.3 HES在WAN/NN中作为发起者&#xff08;拉取操作&#xff09;10.10.4 LAN中的终端设备作为发起…...

Android高级面试_12_项目经验梳理

Android 高级面试-1&#xff1a;Handler 相关 问题&#xff1a;Handler 实现机制&#xff08;很多细节需要关注&#xff1a;如线程如何建立和退出消息循环等等&#xff09; 问题&#xff1a;关于 Handler&#xff0c;在任何地方 new Handler 都是什么线程下? 问题&#xff1a…...

【项目实训】解决前后端跨域问题

由于前端框架使用vue&#xff0c;后端使用flask&#xff0c;因此需要解决前后端通信问题 在vue.config.js中修改 module.exports defineConfig({transpileDependencies: true,lintOnSave:false, }) // 跨域配置 module.exports {devServer: { //记住&#x…...

Java反射API详解与应用场景

一、Java反射API简介: 一、什么是反射: 反射是一种强大的工具,它允许我们在运行时检查类、方法和字段的信息,甚至允许我们动态的调用特定类的方法或改变字段的值。编程语言中的反射机制通常用于从类、对象或方法中检索元数据,或者更特别的说,从代码本身中获取信息。这就…...

【例子】webpack 开发一个可以加载 markdown 文件的加载器 loader 案例

Loader 作为 Webpack 的核心机制&#xff0c;内部的工作原理却非常简单。接下来我们一起来开发一个自己的 Loader&#xff0c;通过这个开发过程再来深入了解 Loader 的工作原理。 这里我的需求是开发一个可以加载 markdown 文件的加载器&#xff0c;以便可以在代码中直接导入 m…...

揭秘!这款电路设计工具让学校师生都爱不释手——SmartEDA的魔力何在?

随着科技的飞速发展&#xff0c;电子设计已成为学校师生们不可或缺的技能之一。而在众多的电路设计工具中&#xff0c;有一款名为SmartEDA的工具&#xff0c;凭借其强大的功能和友好的用户体验&#xff0c;迅速赢得了广大师生的青睐。今天&#xff0c;就让我们一起探索SmartEDA…...