位置: IT常识 - 正文

RLS递归最小二乘法(Recursive Least Squares)(递归最小二乘法辨识参数)

编辑:rootadmin
RLS递归最小二乘法(Recursive Least Squares) RLS递归最小二乘法(Recursive Least Squares)

推荐整理分享RLS递归最小二乘法(Recursive Least Squares)(递归最小二乘法辨识参数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:递推最小二乘估计及模型阶次辨识,递归最小二乘算法,递推最小二乘法辨识参数代码,递归最小二乘算法,递归算法求最小值,递归最小二乘法,递归最小二乘算法,递归最小二乘法,内容如对您有帮助,希望把文章链接给更多的朋友!

感谢B站Up 凩子白的讲解视频, 大多数的RLS算法介绍都是从各种专业领域角度讲解的(比如滤波器等角度), 对于缺乏专业背景的同学入门较难, 本文主要是以上提到的视频的文字化, 加入了自己的一些理解, 也许有一些地方不是那么严谨, 不过希望能帮助其他同学快速了解一下RLS算法的思想。

PRELIMINARIES最小二乘法

对于样本数据对儿(x,y)(\mathbf{x},y)(x,y), 其中输入数据向量x=[x11,x12,...,x1m]T∈Rm\mathbf{x}=[x_{11},x_{12},...,x_{1m}]^T \in \mathbb{R}^mx=[x11​,x12​,...,x1m​]T∈Rm, 输出样本为y∈Ry\in \mathbb{R}y∈R; 使用参数为w\mathbf{w}w 的模型来拟合数据(x,y)(\mathbf{x},y)(x,y)之间的真实映射关系; 认为模型w\mathbf{w}w的输出为yyy的估计值y^∈R\hat{y}\in \mathbb{R}y​∈R, 满足y^∼f(w;x)\hat{y} \sim f({\mathbf{w}};\mathbf{x})y​∼f(w;x), 拟合模型满足如下形式 y1^=w1x11+w2x12+...wmx1m=x1Twy2^=x2Tw⋮yn^=xnTw(1)\hat{y_1}=w_1x_{11}+w_2x_{12}+...w_mx_{1m}=\mathbf{x_1^T}\mathbf{{w}}\\ \hat{y_2}=\mathbf{x_2^T }\mathbf{{w}}\\ \vdots\\ \hat{y_n}=\mathbf{x_n^T }\mathbf{{w}} \tag{1}y1​​=w1​x11​+w2​x12​+...wm​x1m​=x1T​wy2​​=x2T​w⋮yn​​=xnT​w(1) 最小二乘法的思路, 就是希望近似模型参数w\mathbf{{w}}w在这nnn个样本输入数据Xn×m=[x1,x2,...,xn]TX_{n\times m}=[\mathbf{x_1},\mathbf{x_2},...,\mathbf{x_n}]^TXn×m​=[x1​,x2​,...,xn​]T (以后简记为XXX)上得出的估计值y^=[y1^,y2^,...,yn^]T\hat{\mathbf y}=[\hat{y_1},\hat{y_2},...,\hat{y_n}]^Ty​=[y1​​,y2​​,...,yn​​]T 与ground truth 输出样本数据y=[y1,y2,...,yn]T\mathbf y=[y_1,y_2,...,y_n]^Ty=[y1​,y2​,...,yn​]T 之间的差值平方和最小,即 w=arg⁡min∑i=1n(yi−yi^)2=arg⁡min∑i=1n(yi−xiTw)2=arg⁡min∥y−Xw∥22=arg⁡min E(w)(2){\mathbf{w}} =\arg min \sum\limits_{i=1}^n (y_i-\hat{y_i})^2\\ = \arg min \sum\limits_{i=1}^n (y_i-\mathbf{x_i^T }\mathbf{{w}})^2\\ =\arg min \begin{Vmatrix} \mathbf{y}-X\mathbf{w} \end{Vmatrix}_2^2\\ =\arg min\ E(\mathbf{w}) \tag{2}w=argmini=1∑n​(yi​−yi​​)2=argmini=1∑n​(yi​−xiT​w)2=argmin​y−Xw​​22​=argmin E(w)(2) 误差E(w)E(\mathbf{w})E(w)对参数w\mathbf{w}w 求梯度, ∇wE=∇w∥y−Xw∥22=∇w[(y−Xw)T(y−Xw)]=2XT(y−Xw)(3)\nabla_\mathbf{w} E =\nabla_\mathbf{w}\begin{Vmatrix} \mathbf{y}-X\mathbf{w} \end{Vmatrix}_2^2\\ =\nabla_\mathbf{w} \big[(\mathbf{y}-X\mathbf{w})^T(\mathbf{y}-X\mathbf{w})\big] \\ =2X^T(\mathbf{y}-X\mathbf{w}) \tag{3}∇w​E=∇w​​y−Xw​​22​=∇w​[(y−Xw)T(y−Xw)]=2XT(y−Xw)(3) 令∇wE=\nabla_\mathbf{w} E=0∇w​E=0, 即可求出 w=X−1y=(XTX)−1XTy(4)\mathbf{w}=X^{-1}\mathbf{y}=(X^TX)^{-1}X^T\mathbf{y} \tag{4}w=X−1y=(XTX)−1XTy(4) 注意, 公式3{3}3中的y\mathbf yy是样本数据, 将X−1X^{-1}X−1表述为(XTX)−1XT(X^TX)^{-1}X^T(XTX)−1XT的原因是矩阵XXX不一定是n×nn\times nn×n形状,因此不一定有逆矩阵, 而XTXX^TXXTX的逆是存在的?

当一次性给出所有样本集合(X,y)(X,\mathbf{y})(X,y)时, 可以通过公式4{4}4来直接计算出最优的拟合模型参数w\mathbf{w}w , 然而, 在实际应用中, 这种直接计算法并不常见, 主要是因为公式中求逆部分(XTX)−1(X^TX)^{-1}(XTX)−1 的计算量大, 在样本数据量大时计算量更是明显增大; 另外, 现实生活中,往往出现样本数据可能也并不是一次性给出, 而是不断给出新的样本数据, 以一种数据流的形式给出样本数据, 例如传感器随时间不断读取信号等, 这种情况下利用公式4{4}4直接计算最优模型参数w{\mathbf{w}}w 就需要每次进行直接计算, 也是不现实的.

因此, 为了利用最小误差平方和原则, 求解在大样本量, 或者数据流情况下的最优模型参数w{\mathbf{w}}w, 一种方法可以将大样本分成多批次(batch), 计算旧模型在新批次样本上的梯度, 不断进行梯度下降来进行迭代求解(也可以将数据流当做一个个batch来梯度更新); 另一种则是解析的方法, 就是这里提到的递归最小二乘解法(RLS).

本质上, 递归最小二乘法RLS和梯度下降、直接计算法一样, 都是为了求解满足最小误差平方和原则的最优模型参数w{\mathbf{w}}w, 只是在实现方式上有所不同.

递归最小二乘法

如之前提到的, RLS的主要应用场景, 是假设输入样本数据XXX在不断添加新数据, 例如X=[x1,x2,...,xn]T→X′=[x1,x2,...,xn,xn+1]TX=[\mathbf{x_1},\mathbf{x_2},...,\mathbf{x_n}]^T\rightarrow X'=[\mathbf{x_1},\mathbf{x_2},...,\mathbf{x_n} , \mathbf{x_{n+1}}]^TX=[x1​,x2​,...,xn​]T→X′=[x1​,x2​,...,xn​,xn+1​]T, y=[y1,y2,...,yn]T→y′=[y1,y2,...,yn,yn+1]T\mathbf y=[y_1,y_2,...,y_n]^T\rightarrow\mathbf y'=[y_1,y_2,...,y_n,y_{n+1}]^Ty=[y1​,y2​,...,yn​]T→y′=[y1​,y2​,...,yn​,yn+1​]T, 即, 以一种数据流的形式给定样本; 这种情况下最优模型参数也将发生变化w→w′\mathbf{w}\rightarrow \mathbf{w}'w→w′, 那么如果使用公式4{4}4 就必须不断一次次计算逆矩阵(XTX)−1(X^TX)^{-1}(XTX)−1, 由于计算逆矩阵非常耗时, 上述的计算方法显然是不实用的, 因此希望找到一种以公式4{4}4为基础的递归求解新参数w′\mathbf{w'}w′的方法, 使得求解出的新模型w′\mathbf{w'}w′在当前最新的样本集(X′,y′)(X',\mathbf{y'})(X′,y′)上仍然满足误差平方和最小原则.

递归最小二乘具体解法

假设, 我们手头已经有了一个在已有样本(X,y)(X,\mathbf{y})(X,y) 上满足最小误差平方和的模型参数w\mathbf{w}w (至于最初的模型参数的获取见下文), 我们希望找到一种递推公式, 能够得到更新数据前后的参数w→w′\mathbf{w}\rightarrow \mathbf{w'}w→w′之间的关系, 避免一次次重新计算逆矩阵(XTX)−1(X^TX)^{-1}(XTX)−1, 就是RLS算法的主要动机.

对公式4{4}4 进行分析, 定义R=defXTX,z=defXTyR\overset{\underset{def}{}}{=} X^TX, \mathbf{z} \overset{\underset{def}{}}{=} X^T\mathbf{{y}}R=def​XTX,z=def​XTy ,则公式4{4}4可改写为 w=R−1⋅z(5)\mathbf{w}=R^{-1}\cdot \mathbf{z} \tag{5}w=R−1⋅z(5) 在发生数据更新后, 新的权重矩阵记为w′\mathbf{w}'w′ , 新数据矩阵为X′X'X′ 新矩阵R′R'R′ 公式4{4}4可更新为 w′=R′−1⋅z′(6)\mathbf{w'}=R'^{-1}\cdot \mathbf{z'} \tag{6}w′=R′−1⋅z′(6)

递推求解矩阵R′R'R′RLS递归最小二乘法(Recursive Least Squares)(递归最小二乘法辨识参数)

在更新数据之后, 公式4{4}4求解新权重矩阵w′\mathbf{w}'w′的主要计算量在于求逆部分R−1R^{-1}R−1, 因此先对矩阵RRR进行计算处理, 根据分块矩阵计算,可以得到更新后矩阵R′R'R′ 与更新前矩阵RRR 之间的递推公式 R′=X′TX′=[XT∣xn+1][Xxn+1T]=XTX+xn+1xn+1T=R+xn+1xn+1T(7)R' = {X'}^TX' = [X^T|\mathbf{x_{n+1}}] \begin{bmatrix} X\\ \hline {\mathbf{x_{n+1}}}^T \end{bmatrix} =X^TX+\mathbf{x_{n+1}}\mathbf{x_{n+1}}^T = R + \mathbf{x_{n+1}}\mathbf{x_{n+1}}^T \tag{7}R′=X′TX′=[XT∣xn+1​][Xxn+1​T​​]=XTX+xn+1​xn+1​T=R+xn+1​xn+1​T(7) 在现实中, 新的数据往往比旧数据更有价值, 因此一般为公式7{7}7添加遗忘因子λ≤1\lambda \leq 1λ≤1, 这样越旧的数据在迭代过程中比重就越小, 即 R′=λR+xn+1xn+1T(8)R'= \lambda R+\mathbf{x_{n+1}}\mathbf{x_{n+1}}^T \tag{8}R′=λR+xn+1​xn+1​T(8)

递推求解逆矩阵R′−1R'^{-1}R′−1

公式8{8}8表明了矩阵RRR与R′R'R′的迭代关系, 但是并不包含对求逆过程的处理, 我们更希望, 能够获得矩阵R−1R^{-1}R−1与R′−1{R'}^{-1}R′−1 之间的递推关系. 在计算地推关系前, 需要引入如下引理

Theorem 1 : 如果矩阵AAA可以表示为如下形式 A=B−1+CD−1CT(9)A= B^{-1} + CD^{-1}C^T \tag{9}A=B−1+CD−1CT(9) ​ 则逆矩阵A−1A^{-1}A−1可以表示 A−1=B−BC(D+CTBC)−1CTB(10)A^{-1}=B-BC(D+C^TBC)^{-1}C^TB \tag{10}A−1=B−BC(D+CTBC)−1CTB(10) 将公式9{9}9,10{10}10相乘即可证明该引理

对比公式8{8}8,9{9}9令A=defR′,B=def(λR)−1,C=defxn+1,D=def1A\overset{\underset{def}{}}{=} R', B\overset{\underset{def}{}}{=}(\lambda R)^{-1}, C\overset{\underset{def}{}}{=} \mathbf{x_{n+1}},D \overset{\underset{def}{}}{=} 1A=def​R′,B=def​(λR)−1,C=def​xn+1​,D=def​1 则根据公式10{10}10计算得到R′−1{R'}^{-1}R′−1 为 R′−1=(λR)−1−(λR)−1xn+1(1+xn+1T(λR)−1xn+1)−1xn+1T(λR)−1=1λR−1−1λR−1xn+111+1λxn+1TR−1xn+1xn+1T1λR−1=1λR−1−1λ2R−1xn+1xn+1TR−11+1λxn+1TR−1xn+1=1λR−1−1λR−1xn+1xn+1TR−1λ+xn+1TR−1xn+1=1λR−1−1λR−1xn+1λ+xn+1TR−1xn+1xn+1TR−1(11){R'}^{-1} =(\lambda R)^{-1} - (\lambda R)^{-1}\mathbf{x_{n+1}}\big(1+\mathbf{x_{n+1}}^T(\lambda R)^{-1}\mathbf{x_{n+1}}\big)^{-1}\mathbf{x_{n+1}}^T(\lambda R)^{-1}\\ = \frac{1}{\lambda}R^{-1} - \frac{1}{\lambda}R^{-1}\mathbf{x_{n+1}}\frac{1}{1+\frac{1}{\lambda}\mathbf{x_{n+1}}^TR^{-1}\mathbf{x_{n+1}}}\mathbf{x_{n+1}}^T\frac{1}{\lambda}R^{-1}\\ =\frac{1}{\lambda}R^{-1} - \frac{\frac{1}{\lambda^2}R^{-1}\mathbf{x_{n+1}}\mathbf{x_{n+1}}^TR^{-1}}{1+\frac{1}{\lambda}\mathbf{x_{n+1}}^TR^{-1}\mathbf{x_{n+1}}}\\ =\frac{1}{\lambda}R^{-1} - \frac{\frac{1}{\lambda}R^{-1}\mathbf{x_{n+1}}\mathbf{x_{n+1}}^TR^{-1}}{\lambda+\mathbf{x_{n+1}}^TR^{-1}\mathbf{x_{n+1}}}\\ =\frac{1}{\lambda}R^{-1} - \frac{1}{\lambda}\frac{R^{-1}\mathbf{x_{n+1}}}{\lambda+\mathbf{x_{n+1}}^TR^{-1}\mathbf{x_{n+1}}}\mathbf{x_{n+1}}^TR^{-1} \tag{11}R′−1=(λR)−1−(λR)−1xn+1​(1+xn+1​T(λR)−1xn+1​)−1xn+1​T(λR)−1=λ1​R−1−λ1​R−1xn+1​1+λ1​xn+1​TR−1xn+1​1​xn+1​Tλ1​R−1=λ1​R−1−1+λ1​xn+1​TR−1xn+1​λ21​R−1xn+1​xn+1​TR−1​=λ1​R−1−λ+xn+1​TR−1xn+1​λ1​R−1xn+1​xn+1​TR−1​=λ1​R−1−λ1​λ+xn+1​TR−1xn+1​R−1xn+1​​xn+1​TR−1(11) 公式11{11}11计算新的逆矩阵R′−1R'^{-1}R′−1的过程仅仅需要之前的旧的逆矩阵R−1R^{-1}R−1 以及新添加的数据向量xn+1\mathbf{x_{n+1}}xn+1​即可, 避免了直接求逆, 因此计算复杂度比直接求逆要小很多.

对公式11{11}11作进一步简化, 令P′=defR′−1,P=defR−1P'\overset{\underset{def}{}}{=} R'^{-1},P\overset{\underset{def}{}}{=} R^{-1}P′=def​R′−1,P=def​R−1, 定义增益向量k=defR−1xn+1λ+xn+1TR−1xn+1k\overset{\underset{def}{}}{=} \frac{R^{-1}\mathbf{x_{n+1}}}{\lambda+\mathbf{x_{n+1}}^TR^{-1}\mathbf{x_{n+1}}}k=def​λ+xn+1​TR−1xn+1​R−1xn+1​​ 可转变为 P′=1λP−1λk⋅xn+1TP(12)P' = \frac{1}{\lambda}P - \frac{1}{\lambda}k\cdot \mathbf{x_{n+1}}^TP \tag{12}P′=λ1​P−λ1​k⋅xn+1​TP(12) 需要指出的是, 对公式12{12}12两侧都右乘向量xn+1\mathbf{x}_{n+1}xn+1​恰好满足如下关系 P′xn+1=1λPxn+1−1λPxn+1xn+1TPxn+1λ+xn+1TPxn+1=Pxn+1λ+xn+1TPxn+1=k(13)P'\mathbf{x}_{n+1} = \frac{1}{\lambda}P\mathbf{x}_{n+1} -\frac{\frac{1}{\lambda} P\mathbf{x_{n+1}}\mathbf{x_{n+1}}^TP\mathbf{x_{n+1}}}{\lambda+\mathbf{x_{n+1}}^T P\mathbf{x_{n+1}}}\\ =\frac{P\mathbf{x_{n+1}}}{\lambda+\mathbf{x_{n+1}}^T P\mathbf{x_{n+1}}}\\ =k \tag{13}P′xn+1​=λ1​Pxn+1​−λ+xn+1​TPxn+1​λ1​Pxn+1​xn+1​TPxn+1​​=λ+xn+1​TPxn+1​Pxn+1​​=k(13) 这样, 根据公式12{12}12就得到了旧逆矩阵PPP与更新后逆矩阵P′P'P′ 之间的递推关系; 重新表示公式6{6}6为 w′=P′⋅z′(14)\mathbf{w'}=P'\cdot \mathbf{z'} \tag{14}w′=P′⋅z′(14)

递推求z′\mathbf{z'}z′

对公式6{6}6中的向量z′\mathbf{z'}z′同样利用分块矩阵计算 z′=X′Ty′=[XT∣xn+1][yyn+1]=XTy+xn+1yn+1=z+xn+1yn+1(15)\mathbf{z'} = {X'}^T\mathbf{{y'}} = [X^T|\mathbf{x_{n+1}}] \begin{bmatrix} \mathbf{{y}} \\ \hline {y}_{n+1} \end{bmatrix} =X^T\mathbf{{y}}+\mathbf{x_{n+1}}{y}_{n+1} = \mathbf{z}+\mathbf{x_{n+1}}{y}_{n+1} \tag{15}z′=X′Ty′=[XT∣xn+1​][yyn+1​​​]=XTy+xn+1​yn+1​=z+xn+1​yn+1​(15) 添加遗忘因子λ≤1\lambda\leq 1λ≤1 ,得到递推公式 z′=λz+xn+1yn+1(16)\mathbf{z'} =\lambda\mathbf{z}+\mathbf{x_{n+1}}{y}_{n+1} \tag{16}z′=λz+xn+1​yn+1​(16)

递推求w′\mathbf{w'}w′

结合公式 12{12}12,13{13}13,14{14}14,16{16}16,进行多步推导可以得到 w′=P′⋅z′=P′[λz+xn+1yn+1]=λP′z+P′xn+1yn+1=λ[1λP−1λk⋅xn+1TP]z+P′xn+1yn+1=Pz−k⋅xn+1TPz+P′xn+1yn+1=Pz−k⋅xn+1TPz+k⋅yn+1=w−k(xn+1Tw−yn+1)(17)\mathbf{w'} =P'\cdot \mathbf{z'}\\ =P'[\lambda\mathbf{z}+\mathbf{x_{n+1}}{y}_{n+1}] \\ =\lambda P'\mathbf{z}+P'\mathbf{x_{n+1}}{y}_{n+1}\\ =\lambda \bigg[\frac{1}{\lambda}P - \frac{1}{\lambda}k\cdot\mathbf{x_{n+1}}^T P \bigg]\mathbf{z}+ P'\mathbf{x_{n+1}}{y}_{n+1} \\ =P\mathbf{z} - k\cdot \mathbf{x_{n+1}}^T P\mathbf{z} + P'\mathbf{x_{n+1}}{y}_{n+1} \\ =P\mathbf{z} - k\cdot\mathbf{x_{n+1}}^T P\mathbf{z} + k\cdot {y}_{n+1} \\ =\mathbf{w}-k(\mathbf{x_{n+1}}^T\mathbf{w}-{y}_{n+1}) \tag{17}w′=P′⋅z′=P′[λz+xn+1​yn+1​]=λP′z+P′xn+1​yn+1​=λ[λ1​P−λ1​k⋅xn+1​TP]z+P′xn+1​yn+1​=Pz−k⋅xn+1​TPz+P′xn+1​yn+1​=Pz−k⋅xn+1​TPz+k⋅yn+1​=w−k(xn+1​Tw−yn+1​)(17) 注意其中, xn+1Tw−yn+1\mathbf{x_{n+1}}^T\mathbf{w}-{y}_{n+1}xn+1​Tw−yn+1​ 项中, 模型参数w\mathbf{w}w是旧模型参数,如果定义e=defxn+1Tw−yn+1e\overset{\underset{def}{}}{=}\mathbf{x_{n+1}}^T\mathbf{w}-{y}_{n+1}e=def​xn+1​Tw−yn+1​ 则公式17{17}17可变形为

w′=w−k⋅e(18)\mathbf{w'}=\mathbf{w}-k\cdot e \tag{18}w′=w−k⋅e(18) 这就是RLS的最终计算目标.

关于初始化

RLS主要描述的是一种推理关系, 不断地在原来的旧最优模型参数上进行迭代得到最新模型参数; 那么最初进行迭代时, 需要一个初始的模型参数, 这个模型参数最好是满足最小平方和误差原则; 公式(5) 通过以上介绍, 可以改写为 w=P⋅z(19)\mathbf{w} = P\cdot \mathbf{z} \tag{19}w=P⋅z(19) 其中, z=defXTy\mathbf{z} \overset{\underset{def}{}}{=} X^T\mathbf{{y}}z=def​XTy 可通过已有样本计算得出, 初始的PPP 一般取 P=k⋅I(20)P=k\cdot I \tag{20}P=k⋅I(20) 同时, 初始kkk取一个较大的数(保证PPP不会在递归过程中减小为负).

总结

RLS主要是在误差平方和最小的原则基础上, 提出一种解析的拟合模型参数w\mathbf{w}w的迭代递推公式; 可以实现在新的样本数据到来时, 利用新的样本数据以及旧的最优模型参数来便捷地计算新的满足最小二乘最优模型参数, 从而避免直接计算方法中的逆矩阵运算.

参考

[1] [知识梳理-04] Recursive Least Squares 递归最小二乘法 RLS_哔哩哔哩_bilibili

[2] 线性回归与递归最小二乘算法 (R.L.S algorithm) - 简书 (jianshu.com)

[3] 还有一个忘记了

本文链接地址:https://www.jiuchutong.com/zhishi/299732.html 转载请保留说明!

上一篇:和日期相关的代码和bug——一道力扣题中的小发现(跟日期有关的名字)

下一篇:20分钟,使用Amazon SageMaker快速搭建属于自己的AIGC应用

  • 微信怎么查看自己支付密码(微信怎么查看自己撤回的消息)

    微信怎么查看自己支付密码(微信怎么查看自己撤回的消息)

  • 剪映怎么修改已有文字(剪映怎么修改已有的文字)

    剪映怎么修改已有文字(剪映怎么修改已有的文字)

  • 荣耀20Pro充电提示音在哪里设置(荣耀20Pro充电提示都有几种)

    荣耀20Pro充电提示音在哪里设置(荣耀20Pro充电提示都有几种)

  • 华为手机怎么屏幕录制(华为手机怎么屏幕变成黑白色了)

    华为手机怎么屏幕录制(华为手机怎么屏幕变成黑白色了)

  • 华为大容量电池手机有哪几款(华为大容量电池手机)

    华为大容量电池手机有哪几款(华为大容量电池手机)

  • 抖音上下的软件安装包在哪(抖音上下的软件安装包在哪删除)

    抖音上下的软件安装包在哪(抖音上下的软件安装包在哪删除)

  • 华硕笔记本开机卡在asus画面(华硕笔记本开机没反应怎么办)

    华硕笔记本开机卡在asus画面(华硕笔记本开机没反应怎么办)

  • 7.1声道和5.1声道的区别(7.1声道和5.1声道哪个效果好)

    7.1声道和5.1声道的区别(7.1声道和5.1声道哪个效果好)

  • 苹果电脑128g装双系统够用吗(苹果电脑128g装虚拟机够用吗)

    苹果电脑128g装双系统够用吗(苹果电脑128g装虚拟机够用吗)

  • 抖音怎么邀请新的用户(抖音怎么邀请新人注册)

    抖音怎么邀请新的用户(抖音怎么邀请新人注册)

  • 手机恢复出厂照片还在吗(手机恢复出厂照片找回)

    手机恢复出厂照片还在吗(手机恢复出厂照片找回)

  • 复制链接是什么意思(打开复制链接)

    复制链接是什么意思(打开复制链接)

  • 华为5x能不能插电信卡(华为5x有nfc功能吗)

    华为5x能不能插电信卡(华为5x有nfc功能吗)

  • 苹果8p用18w快充能承受吗(苹果8p用18w快充手机发热)

    苹果8p用18w快充能承受吗(苹果8p用18w快充手机发热)

  • 华为手机换卡怎么换(华为手机换卡怎么换视频)

    华为手机换卡怎么换(华为手机换卡怎么换视频)

  • 荣耀20超广角怎么开(荣耀20pro超广角)

    荣耀20超广角怎么开(荣耀20pro超广角)

  • oppor17充电多少瓦(oppor17充满电需要多少毫安)

    oppor17充电多少瓦(oppor17充满电需要多少毫安)

  • 苹果备忘录怎么备份(苹果备忘录怎么调字体大小)

    苹果备忘录怎么备份(苹果备忘录怎么调字体大小)

  • 华为手机碎屏险在哪里查(华为手机碎屏险有必要买吗)

    华为手机碎屏险在哪里查(华为手机碎屏险有必要买吗)

  • 怎么电视和手机连接起来(怎么电视手机投屏oppo)

    怎么电视和手机连接起来(怎么电视手机投屏oppo)

  • s1电池容量多大(五号电池多大)

    s1电池容量多大(五号电池多大)

  • 闲鱼怎么保存别人视频(闲鱼怎么保存别人的宝贝)

    闲鱼怎么保存别人视频(闲鱼怎么保存别人的宝贝)

  • win10网络属性能复制吗? win10复制网络属性能的技巧(win10点击网络属性没反应)

    win10网络属性能复制吗? win10复制网络属性能的技巧(win10点击网络属性没反应)

  • 基奈峡湾国家公园的尖顶湾,阿拉斯加 (© Sekar B/Shutterstock)(吃辣第二天长痘痘)

    基奈峡湾国家公园的尖顶湾,阿拉斯加 (© Sekar B/Shutterstock)(吃辣第二天长痘痘)

  • 计算机视觉——车道线(路沿)检测(计算机视觉算法)

    计算机视觉——车道线(路沿)检测(计算机视觉算法)

  • 模型调参常见问题及Aadm优化器调参记录(模型参数是什么意思)

    模型调参常见问题及Aadm优化器调参记录(模型参数是什么意思)

  • 收到货款会计分录怎么做
  • 计提住房公积金怎么算
  • 进项税额销项税额月末需要结转吗
  • 一般纳税人企业所得税多久申报一次
  • 个体户经营税收政策
  • 零售商业企业经营的特点主要在于
  • 房产租赁合同印花税
  • 房地产企业城建税预缴可以抵扣吗
  • 从外面买回来的菜怎么消毒
  • 其他应付款能转收入么
  • 出口货物索赔如何确认收入
  • 个税税费返还
  • 短期借款的会计科目
  • 出口退税退的是进项税还是销项税
  • 增值税发票备注栏不写可以吗
  • 员工的家庭
  • 物业费需不需要物价局审批
  • 其他应收款在资产负债表中是负数
  • 劳务服务公司业务范围
  • 支付宝对公账户还款清零要多久
  • 出售已计提减值准备的固定资产
  • 单位卖报纸的钱算什么
  • 更换营业执照要多久才能拿到
  • win10如何删除windows账户
  • macqq截图快捷键 保存
  • 冲暂估成本会计分录怎么做
  • 公司用车年检
  • 雨林木风 u盘
  • 车船税的会计分录怎么写
  • 预缴税款怎么做账务处理
  • 然后用u盘重装系统
  • 存出投资款现金流量表选什么
  • 当月收到服务成本票下个月才开出发票
  • 装饰装修工程月薪多少
  • php怎么自学
  • PHP:session_decode()的用法_Session函数
  • 竣工结算审计费计入什么科目
  • php中unlink
  • 专利年费的滞纳金
  • 初学者是啥意思
  • 工会经费计入什么费用明细科目
  • 税控抵税
  • 出租车发票能不能多开
  • YOLOv5|YOLOv7|YOLOv8改各种IoU损失函数:YOLOv8涨点Trick,改进添加SIoU损失函数、EIoU损失函数、GIoU损失函数、α-IoU损失函数
  • tokenizer.encode、tokenizer.tokenize、tokenizer.encode_plus的用法差异
  • audit install success
  • python类 方法
  • 税控系统维护费普通发票可以全额抵扣吗
  • 房地产销售折扣
  • 开收据可以列收入吗
  • 员工出差回来会计分录
  • 小微企业认定需要哪些资料
  • 初学access收获心得
  • 关于sqlserver数据库服务器登录账户的说法错误的是
  • 政府扶持国有企业
  • 企业所得税季度平均值怎么算
  • 物业管理费发票备注栏要求
  • 以前年度损益调整账务处理分录
  • 专家评审费如何入账
  • 无法收回的应收账款怎么做分录
  • 冲减当期利润
  • 存货周期怎么计算
  • 营改增后增加了什么征税项目
  • 研发过程4个主要阶段
  • 在外地设办事处需要办什么手续
  • 公司筹建期间允许投标吗
  • 出口不退税进项要转出吗
  • 报销单粘贴单
  • CentOS 7中安装mysql server的步骤分享
  • winpe如何安装驱动
  • win7密码输入错误被锁住
  • windowsxp查ip地址
  • winxp如何将桌面文件默认到d盘
  • qq突然显示windows登录
  • win7网络信号差
  • Linux系统中配置网络
  • unity数学函数
  • gdi双缓冲绘制
  • python3 random模块
  • 为什么增值税是销项税减进项税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设