首页 > 其他分享 >【统计数据分析专论】02-Regularization 正则化

【统计数据分析专论】02-Regularization 正则化

时间:2023-05-04 23:12:03浏览次数:54  
标签:02 专论 Regularization right top boldsymbol beta hat left

Regularization 正则化

课件翻译

Modeling Nonlinear Relation 非线性关系建模

  • 上节课学了线性模型但是非线性模型也很重要

  • 考虑一个由基函数的线性组合定义的模型

    在数学中,基函数是函数空间中特定基底的元素。 函数空间中的每个连续函数可以表示为基函数的线性组合,就像向量空间中的每个向量可以表示为基向量的线性组合一样。

    \[f(\boldsymbol{x}) = \beta_1\phi_1(\boldsymbol{x})+\beta_2\phi_2(\boldsymbol{x})+\cdots+\beta_p\phi_p(\boldsymbol{x}) \]

    其中 \(\phi_i(\boldsymbol{x})\) 是一个预定义的基函数

  • 如果 \(\phi_i(\boldsymbol{x})\) 是非线性映射, \(f(\boldsymbol{x})\) 成为关于 \(\boldsymbol{x}\) 的非线性函数

例子

多项式模型: \( \phi_{1}(x)=x, \phi_{2}(x)=x^{2}, \phi_{3}(x)=x^{3}\)

\[f(x)=\beta_{1} x+\beta_{2} x^{2}+\beta_{3} x^{3} \]

是关于 \(x\) 的三次函数

Basis Function Regression 基函数回归

  • 另一方面, \(f(\boldsymbol{x})\) 仍然是一个关于 \(\beta\) 的线性函数

    \[f(x)=\begin{bmatrix} \phi_1(\boldsymbol{x})&\cdots&\phi_p(\boldsymbol{x}) \end{bmatrix} \begin{bmatrix} \beta_1\\ \vdots \\ \beta_p \end{bmatrix} \]

    其中 \(\begin{bmatrix} \phi_1(\boldsymbol{x})&\cdots&\phi_p(\boldsymbol{x}) \end{bmatrix}\) 是特征,由此LSE可直接应用于估计 \(\beta\)

  • 定义

    \[\boldsymbol{\phi} = \begin{bmatrix} \phi_1(x_1) & \phi_2(x_1) & \cdots & \phi_p(x_1)\\ \vdots & \vdots & &\vdots \\ \phi_1(x_n) & \phi_2(x_n) & \cdots & \phi_p(x_n)\\ \end{bmatrix} \]

    之后,对于 \(\beta\) 的LSE就可以写为

    \[\hat{\beta} = (\boldsymbol{\phi}^{\top}\boldsymbol{\phi})^{-1}\boldsymbol{\phi}^{\top}\boldsymbol{y} \]

Gaussian Basis Function 高斯基函数(径向基函数)

  • 高斯径向基函数经常使用

    \[\phi_i(\boldsymbol{x})=\exp(-\frac{\left \| \boldsymbol{x}-\boldsymbol{c}_i \right \|^2 }{2\vartheta ^2} ) \]

    其中 \(\boldsymbol{c}_i\) 是一个预定义的中心参数, $\left | \boldsymbol{x}-\boldsymbol{c}_i \right |^2 $ 任意一点 \(\boldsymbol{x}\) 到某一中心点 \(\boldsymbol{c}_i\) 之间的欧式距离(L2范数) \(\vartheta\) 为宽度参数

  • 有6个基函数的示例

    \[\begin{aligned} \phi_{1}(\boldsymbol{x})= & \exp \left(-\|\boldsymbol{x}-0\|^{2}\right) \\ \phi_{2}(\boldsymbol{\boldsymbol{x}})= & \exp \left(-\|\boldsymbol{\boldsymbol{x}}-1\|^{2}\right) \\ & \vdots \\ \phi_{6}(\boldsymbol{x})= & \exp \left(-\|\boldsymbol{x}-5\|^{2}\right) \end{aligned} \]

Over-fitting 过拟合

  • 非线性变换可能具有很高的灵活性,但有时结果会变得过于复杂,即过度拟合

    empirical feature map: 经验特征图

  • 这个例子的训练误差为0,但显然预测性能较差

Ridge Regression 岭回归

详细可看机器学习算法实践-岭回归和LASSO

  • 引入对 \(\beta\) 的惩罚机制

    \[\min_{\beta}\left \| \boldsymbol{y}-\boldsymbol{X}\beta \right \|^2+\lambda \left \| \beta \right \| ^2 \]

    \(\lambda>0\) 的时候为正则系数

    • 今后用 \(\boldsymbol{X}\) 代替 \(\boldsymbol{\phi}\)
    • 对 \(\beta\) 的惩罚机制抑制了所得模型的灵活性
    • 当 \(\lambda=0\) 时,岭回归被简化为LSE
  • 通过求导

    \[\hat{\beta}_{ridge} = (\boldsymbol{X}^{\top}\boldsymbol{X}+\lambda\boldsymbol{I})^{-1}\boldsymbol{X}^{\top}\boldsymbol{y} \]

例子

  • 和过拟合的例子一样的设置

  • 在实践中,应适当选择 \(λ\)(例如,通过使用交叉验证)

Regularization 正则化

  • 通常,在参数上引入惩罚机制也被称为正则化,并广泛用于各种机器学习算法
  • 正则化的有效性可以通过估计偏差和方差之间的权衡从理论上解释

Bias of Ridge Regression 岭回归的偏差

  • 假设 \(\boldsymbol{y}=\boldsymbol{X} \boldsymbol{\beta}+\varepsilon\) ,其中 \(\beta\) 是未知的真实参数, \(\varepsilon \sim \mathcal{N}\left(\mathbf{0}, \sigma^{2} \boldsymbol{I}\right)\) 并且 \(\boldsymbol{X}^{\top}\boldsymbol{X}\) 可逆

  • 岭回归是有偏估计(证明见附录)

    \[\begin{aligned} \mathbb{E}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right] & = \mathbb{E}\left[\left(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I}\right)^{-1} \boldsymbol{X}^{\top} \boldsymbol{y}\right]\\ & = \beta-\lambda(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I})^{-1}\beta \end{aligned} \]

    其中 \(\lambda(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I})^{-1}\beta\) 为偏差

  • 两种极端情况

    • 如果 \(λ=0\) ,偏差变为0(因为那时,岭回归等效于LSE)
    • 如果 \(λ→ ∞\) ,偏差为 \(β\) (如果惩罚非常强,则得到的参数始终为0)

Variance of Ridge Regression 岭回归方差

  • 岭估计量的方差为

    \[\begin{aligned} \mathbb{V}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right] & = \mathbb{V}\left[\left(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I}\right)^{-1} \boldsymbol{X}^{\top} \boldsymbol{y}\right]\\ & = \vartheta ^2\left(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I}\right)^{-1} \boldsymbol{X}^{\top} \boldsymbol{X}\left(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I}\right)^{-1} \end{aligned} \]

    证明和LSE差不多一样

  • 当 \(\lambda\) 越大方差越小

  • 这表明岭回归可以减少估计方差,同时失去无偏性

Analyzing Prediction Error 分析预测误差

  • 考虑给定测试点 \(x_{te}\) 的误差与真值的比较

    \[E(\hat{\boldsymbol{\beta}})=\left(\boldsymbol{x}_{\mathrm{te}}^{\top} \boldsymbol{\beta}-\boldsymbol{x}_{\mathrm{te}}^{\top} \hat{\boldsymbol{\beta}}\right)^{2} \]

  • 由于 \(\hat{\beta}\) 取决于 \(y\) (正如我们在上一节课中看到的那样, \(y\) 是一个随机变量),我们考虑期望

    \[\mathbb{E}[E(\hat{\boldsymbol{\beta}})]=\mathbb{E}\left[\left(\boldsymbol{x}_{\mathrm{te}}^{\top} \boldsymbol{\beta}-\boldsymbol{x}_{\mathrm{te}}^{\top} \hat{\boldsymbol{\beta}}\right)^{2}\right] \]

Bias-Variance Decomposition 偏差-方差分解

  • \(\mathbb{E}[E(\hat{\boldsymbol{\beta}})]\) 可以分解为(证明见附录)

\[\begin{aligned} \mathbb{E}[E(\hat{\boldsymbol{\beta}})] & =\mathbb{E}\left[\left(\boldsymbol{x}_{\text {te }}^{\top} \boldsymbol{\beta}-\boldsymbol{x}_{\text {te }}^{\top} \hat{\boldsymbol{\beta}}\right)^{2}\right] \\ & =\left(\boldsymbol{x}_{\text {te }}^{\top}(\boldsymbol{\beta}-\mathbb{E}[\hat{\boldsymbol{\beta}}])\right)^{2}+\boldsymbol{x}_{\text {te }}^{\top} \mathbb{V}[\hat{\boldsymbol{\beta}}] \boldsymbol{x}_{\text {te }} \end{aligned} \]

其中 \((\boldsymbol{\beta}-\mathbb{E}[\hat{\boldsymbol{\beta}}])\) 是偏差, \(\mathbb{V}[\hat{\boldsymbol{\beta}}]\) 是方差

  • 因此,因此,偏差-方差权衡与第一项和第二项的平衡有关

正则化

尝试通过减少方差来减少(预期的)预测误差,同时牺牲偏差

  • 通常,当模型具有较高的灵活性时,估计方差往往较大

附录

岭回归的偏差

\[\begin{array}{l} \mathbb{E}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right]=\mathbb{E}\left[\left(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I}\right)^{-1} \boldsymbol{X}^{\top} \boldsymbol{y}\right] \\ =\mathbb{E}\left[\left(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I}\right)^{-1} \boldsymbol{X}^{\top}(\boldsymbol{X} \boldsymbol{\beta}+\varepsilon)\right] \\ =\left(\boldsymbol{U} \boldsymbol{\Lambda} \boldsymbol{U}^{\top}+\lambda \boldsymbol{I}\right)^{-1} \boldsymbol{U} \boldsymbol{\Lambda} \boldsymbol{U}^{\top} \boldsymbol{\beta} \text { \# 特征分解 } \boldsymbol{X}^{\top} \boldsymbol{X}=\boldsymbol{U} \boldsymbol{\Lambda} \boldsymbol{U}^{\top} \\ =\boldsymbol{U}\left(\boldsymbol{I}+\lambda \boldsymbol{\Lambda}^{-1}\right)^{-1} \boldsymbol{U}^{\top} \boldsymbol{\beta} \\ =\boldsymbol{U}\left(\boldsymbol{I}-\boldsymbol{I}+\left(\boldsymbol{I}+\lambda \boldsymbol{\Lambda}^{-1}\right)^{-1}\right) \boldsymbol{U}^{\top} \boldsymbol{\beta} \\ =\boldsymbol{\beta}-\boldsymbol{U}\left(\boldsymbol{I}-\left(\boldsymbol{I}+\lambda \boldsymbol{\Lambda}^{-1}\right)^{-1}\right) \boldsymbol{U}^{\top} \boldsymbol{\beta} \\ =\boldsymbol{\beta}-\boldsymbol{U}\left(\boldsymbol{I}+\lambda \boldsymbol{\Lambda}^{-1}\right)^{-1}\left(\left(\boldsymbol{I}+\lambda \boldsymbol{\Lambda}^{-1}\right)-\boldsymbol{I}\right) \boldsymbol{U}^{\top} \boldsymbol{\beta} \\ =\boldsymbol{\beta}-\lambda \boldsymbol{U}(\boldsymbol{\Lambda}+\lambda \boldsymbol{I})^{-1} \boldsymbol{U}^{\top} \boldsymbol{\beta} \\ =\boldsymbol{\beta}-\lambda\left(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I}\right)^{-1} \boldsymbol{\beta} \end{array} \]

特征值分解

分解 \(\boldsymbol{X}^{\top} \boldsymbol{X}\) 的特征值

\[\boldsymbol{X}^{\top} \boldsymbol{X}=\boldsymbol{U} \boldsymbol{\Lambda} \boldsymbol{U}^{\top} \]

其中 \(\boldsymbol{U}\) 是正交矩阵 \(\left(\boldsymbol{U}^{\top} \boldsymbol{U}=\boldsymbol{U} \boldsymbol{U}^{\top}=\boldsymbol{I}\right)\) ,并且 \(\boldsymbol{\Lambda}\) 是在对角元素上具有本征值的对角矩阵

然后

\[\begin{aligned} \left(\boldsymbol{U} \boldsymbol{\Lambda} \boldsymbol{U}^{\top}+\lambda \boldsymbol{I}\right)^{-1} & =\left(\boldsymbol{U}(\boldsymbol{\Lambda}+\lambda \boldsymbol{I}) \boldsymbol{U}^{\top}\right)^{-1} \\ & =\boldsymbol{U}(\boldsymbol{U}(\boldsymbol{\Lambda}+\lambda \boldsymbol{I}))^{-1} \\ & =\boldsymbol{U}(\boldsymbol{\Lambda}+\lambda \boldsymbol{I})^{-1} \boldsymbol{U}^{\top} \end{aligned} \]

注意对于非奇异矩阵 \(\boldsymbol{A}\) 和 \(\boldsymbol{B}\) , \((\boldsymbol{A} B)^{-1}=\boldsymbol{A}^{-1} \boldsymbol{B}^{-1}\)

偏差-方差分解

\[\begin{array}{l} \mathbb{E}\left[\left(\boldsymbol{x}_{\mathrm{te}}^{\top} \boldsymbol{\beta}-\boldsymbol{x}_{\mathrm{te}}^{\top} \hat{\boldsymbol{\beta}}\right)^{2}\right] \\ =\mathbb{E}\left[\left(\boldsymbol{x}_{\text {te }}^{\top} \boldsymbol{\beta}-\mathbb{E}\left[\boldsymbol{x}_{\text {te }}^{\top} \hat{\boldsymbol{\beta}}\right]+\mathbb{E}\left[\boldsymbol{x}_{\mathrm{te}}^{\top} \hat{\boldsymbol{\beta}}\right]-\boldsymbol{x}_{\mathrm{te}}^{\top} \hat{\boldsymbol{\beta}}\right)^{2}\right] \\ =\mathbb{E}\left[\left(\boldsymbol{x}_{\text {te }}^{\top} \boldsymbol{\beta}-\mathbb{E}\left[\boldsymbol{x}_{\text {te }}^{\top} \hat{\boldsymbol{\beta}}\right]\right)^{2}+2\left(\boldsymbol{x}_{\text {te }}^{\top} \boldsymbol{\beta}-\mathbb{E}\left[\boldsymbol{x}_{\text {te }}^{\top} \hat{\boldsymbol{\beta}}\right]\right)\left(\mathbb{E}\left[\boldsymbol{x}_{\text {te }}^{\top} \hat{\boldsymbol{\beta}}\right]-\boldsymbol{x}_{\text {te }}^{\top} \hat{\boldsymbol{\beta}}\right)\right. \\ \left.+\left(\mathbb{E}\left[\boldsymbol{x}_{\text {te }}^{\top} \hat{\boldsymbol{\beta}}\right]-\boldsymbol{x}_{\text {te }}^{\top} \hat{\boldsymbol{\beta}}\right)^{2}\right] \\ =\mathbb{E}\left[\left(\boldsymbol{x}_{\text {te }}^{\top} \boldsymbol{\beta}-\mathbb{E}\left[\boldsymbol{x}_{\mathrm{te}}^{\top} \hat{\boldsymbol{\beta}}\right]\right)^{2}\right] \\ +2\left(\boldsymbol{x}_{\mathrm{te}}^{\top} \boldsymbol{\beta}-\mathbb{E}\left[\boldsymbol{x}_{\mathrm{te}}^{\top} \hat{\boldsymbol{\beta}}\right]\right) \underbrace{\mathbb{E}\left[\left(\mathbb{E}\left[\boldsymbol{x}_{\mathrm{te}}^{\top} \hat{\boldsymbol{\beta}}\right]-\boldsymbol{x}_{\mathrm{te}}^{\top} \hat{\boldsymbol{\beta}}\right)\right]}_{=0} \\ \left.+\mathbb{E}\left[\left(\mathbb{E}\left[\boldsymbol{x}_{\text {te }}^{\top} \hat{\boldsymbol{\beta}}\right]-\boldsymbol{x}_{\text {te }}^{\top} \hat{\boldsymbol{\beta}}\right)^{2}\right]\right] \\ =\left(\boldsymbol{x}_{\text {te }}^{\top}(\underbrace{\boldsymbol{\beta}-\mathbb{E}[\hat{\boldsymbol{\beta}}]}_{\text {bias }})\right)^{2}+\boldsymbol{x}_{\text {te }}^{\top} \underbrace{\mathbb{E}\left[(\hat{\boldsymbol{\beta}}-\mathbb{E}[\hat{\boldsymbol{\beta}}])(\hat{\boldsymbol{\beta}}-\mathbb{E}[\hat{\boldsymbol{\beta}}])^{\top}\right]}_{\text {variance }} \boldsymbol{x}_{\mathrm{te}} \\ \end{array} \]

习题

Exercise 0: Short Quiz

关于岭回归中 \(λ\) 的设置,下表中的四个空白单元格选择“Small”或“Large”

||Small \(λ\) |Large \(λ\) |

Small \(λ\) Large \(λ\)
Bias Small Large
Variance Large Small

Exercise 1

  • 使 \(\left\{\left(x_{i}, y_{i}\right)\right\}_{i=1}^{n}\) 成为具有一维输入的训练数据集

    \(x_{i}\) \(y_{i}\)
    -2 -1
    -1 -2
    1 1
    2 3
    3 3
  • 使 \(f\left(x_{i}\right)=\beta_{\text {ridge }} x_{i}\) (即,模型只有一个斜率参数)计算当 \(λ=1\) 和 \(λ=11\) 的时候的 \(\hat{\beta}_{\text {ridge }}\)

    \[\begin{aligned} \hat{\beta}_{ridge} & = (\boldsymbol{X}^{\top}\boldsymbol{X}+\lambda\boldsymbol{I})^{-1}\boldsymbol{X}^{\top}\boldsymbol{y}\\ & = (\begin{bmatrix} x_1 & \cdots & x_n \end{bmatrix} \begin{bmatrix} x_1 \\ \vdots\\ x_n \end{bmatrix}+\lambda )^{-1}\begin{bmatrix} x_1 & \cdots & x_n \end{bmatrix} \begin{bmatrix} y_1 \\ \vdots\\ y_n \end{bmatrix}\\ & = \frac{\sum_{i=1}^{n}x_iy_i }{\sum_{i=1}^{n}x_i^2+\lambda } \end{aligned} \]

    \(\lambda=1\) 时

    \[\hat{\beta}_{ridge} =\frac{2+2+1+6+9}{2^2+(-1)^2+1^2+2^2+3^2+\lambda}=1 \]

    \(\lambda=11\) 时

    \[\hat{\beta}_{ridge} =\frac{2+2+1+6+9}{2^2+(-1)^2+1^2+2^2+3^2+\lambda}=\frac{2}{3} \]

Exercise 2

对于Exercise 1中的数据集,计算估计偏差和方差,并填写下表的空白部分。

\(\lambda=1\) '<' 或者 '>' \(\lambda=11\)
\(\mathbb{E}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right]\) \(\frac{19}{20}\beta\) > \(\frac{19}{30}\beta\)
\(\mathbb{V}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right]\) \((\frac{19}{400})\vartheta ^2\) > \((\frac{19}{900})\vartheta ^2\)

注意 \(\mathbb{E}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right]\) 应该是关于 \(\beta\) 的函数, \(\mathbb{V}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right]\) 应该是关于 \(\vartheta ^2\) 的函数

\[\begin{aligned} \mathbb{E}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right] & = \beta-\lambda(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I})^{-1}\beta\\ & = (1-\frac{\lambda}{\sum_{i=1}^{n}x_i^2+\lambda})\beta \end{aligned} \]

\(\lambda=1\) 时

\[\mathbb{E}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right]=(1-\frac{1}{20})\beta=\frac{19}{20}\beta \]

\(\lambda=11\) 时

\[\mathbb{E}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right]=(1-\frac{11}{30})\beta=\frac{19}{30}\beta \]

\[\begin{aligned} \mathbb{V}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right] & = \vartheta ^2\left(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I}\right)^{-1} \boldsymbol{X}^{\top} \boldsymbol{X}\left(\boldsymbol{X}^{\top} \boldsymbol{X}+\lambda \boldsymbol{I}\right)^{-1}\\ & = \vartheta ^2\frac{\sum_{i=1}^{n}x_i^2}{(\sum_{i=1}^{n}x_i+\lambda)^2} \end{aligned} \]

\(\lambda=1\) 时

\[\mathbb{V}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right]=(\frac{19}{400})\vartheta ^2 \]

\(\lambda=11\) 时

\[\mathbb{V}\left[\hat{\boldsymbol{\beta}}_{\text {ridge }}\right]=\frac{19}{900}\vartheta ^2 \]

标签:02,专论,Regularization,right,top,boldsymbol,beta,hat,left
From: https://www.cnblogs.com/ryukirin/p/17372835.html

相关文章

  • 广州星嵌DSP/FPGA/ARM开发板选型手册2023
    广州星嵌电子科技有限公司是一家专注嵌入式核心板研发、设计和生产的企业。提供以ARM、DSP、FPGA为核心处理器的工业核心板、开发套件、项目定制服务。 DSP/FPGA/ARM开发板选型手册2023,欢迎下载,敬请参阅!链接:https://pan.baidu.com/s/1NGTb6JSyEFwGzICcW-ZWqQ?pwd=xqdz提取......
  • IntelliJ IDEA 2022.3.2 最新专业版 Windows系统下安装, 一直可用,业界公认的最好的jav
    ​第三步: IDEA安装补丁1、补丁下载地址: 下载链接2、补丁安装流程下载并安装IDEA后,先不启动IDEA下载补丁程序并解压并放置任意目录执行脚本install-current-user.vbs​ 双击执行install-current-user.vbs脚本,等待过程大概10-30秒,如看到弹框提示Done......
  • 网络对抗实验六 MSF应用基础--20201313
    《网络对抗技术》——Exp6MSF应用基础目录《网络对抗技术》——Exp6MSF应用基础一、实践内容二、问题回答三、实践过程实验准备:1、一个主动攻击实践ms08_067_netapi2、一个针对浏览器的攻击ms10_018_ie_behaviors3、一个针对客户端的攻击Wireshark4、成功应用一个辅助模块sniff......
  • 关于 nl80211
    本文译至:http://wireless.kernel.org/en/developers/Documentation/nl80211关于nl80211nl80211是新的802.11netlink接口公共头文件。加上cfg80211它的目的是取代Wireless-Extensions。nl80211和cfg80211仍在开发中。使用nl80211的工具nl80211的使用者是:iwcrdahostapd......
  • SMU Spring 2023 Trial Contest Round 10
    A.RemoveDuplicates#include<bits/stdc++.h>//#defineinf0x3f3f3f3f#defineendl'\n'#defineintlonglongusingnamespacestd;constintN=2e3+10,mod=1e9+7;//typedeflonglongll;typedefpair<int,int>PII;//queue......
  • 2023-5-4 #53 弥留之际仍思索如何修饰这文章
    338loj#6296.迷失的字符串粘一个之前写的题解。考虑一个串时的做法,令\(f_{x,i}\)为是否存在一条从\(x\)出发并进入\(x\)子树的路径为以\(i\)结束的前缀,\(g_{x,i}\)为是否能匹配以\(i\)开始的后缀,转移为:\[f_{x,i}\leftarrow\or_{y\inson(x)}(f(y,i-1)\and[(x,y)......
  • 20201306 Exp6 MSF应用基础
    一、实践内容二、实践原理三、实践过程1、一个主动攻击实践ms08_067_netapims17_0102、一个针对浏览器的攻击ms14_064ms17-0103、一个针对客户端的攻击AdobeWireshark4、成功应用一个辅助模块sniffer嗅探portscan端口扫描MSF使用nmap四、实践问题回答五、离实践......
  • 2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。
    2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。答案2023-05-04:这段代码实现了使用libswscale库进行视频缩放的功能。下面是程序的主要流程:1.获取命令行参数,包括输出文件名和目标图像大小。2.解析目标图像大小,生成指定大小的输出文件。3.创建缩......
  • 用友U8 | 暂估材料余额表 会计年度不全 ,会计年度选择不到2021年度
     暂估材料余额表会计年度不全,会计年度选择不到2021年度脚本解决:在后台数据库,选中对应的账套,执行脚本语句即可;补充:选择的数据库是ufdata开头的数据库ifnotexists(selectEnumTypefromaa_enumwhereEnumType=N'IA.iYear'andenumcode=N'2021'andLocaleId=N'zh-cn')......
  • 编程一小时2023.5.4
    1.#include<iostream>usingnamespacestd;inta[501][501];intmain(){intn,sum=0;cin>>n;for(inti=1;i<=n;i++)for(intj=1;j<=n;j++)cin>>a[i][j];for(inti=n;i>=2;i......