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

协方差相关问题

为什么无偏估计用 ( n − 1 ) (n-1) (n1) 而不是 n n n,区别是什么?

在统计学中,无偏估计是指估计量的期望值等于总体参数的真实值。当我们用样本数据估计总体方差或协方差时,分母使用 ( n − 1 ) (n-1) (n1) 而不是 n n n 是为了确保估计是无偏的。

1. 总体方差与样本方差

总体方差 σ 2 \sigma^2 σ2 定义为:
σ 2 = 1 n ∑ i = 1 n ( x i − μ ) 2 \sigma^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \mu)^2 σ2=n1i=1n(xiμ)2

其中 n n n 是总体数据点数, μ \mu μ 是总体均值。

样本方差的直观定义可能是:
s n 2 = 1 n ∑ i = 1 n ( x i − x ˉ ) 2 s_n^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2 sn2=n1i=1n(xixˉ)2

但这个估计是有偏的。为了得到无偏估计,我们使用:
s n − 1 2 = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 s_{n-1}^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2 sn12=n11i=1n(xixˉ)2

2. 为什么用 ( n − 1 ) (n-1) (n1) 实现无偏估计?

直观解释

  • 样本均值的"过拟合" x ˉ \bar{x} xˉ 是从样本计算得到的,不是固定的总体均值 μ \mu μ。这使得样本数据点相对于 x ˉ \bar{x} xˉ 的偏差比相对于 μ \mu μ 的偏差小。
  • 自由度损失:计算 x ˉ \bar{x} xˉ 时已用掉一个自由度(因为 ∑ ( x i − x ˉ ) = 0 \sum (x_i - \bar{x}) = 0 (xixˉ)=0),所以剩余的独立信息只有 ( n − 1 ) (n-1) (n1) 个自由度。

数学证明

关键证明是样本方差总和的期望值:
E [ ∑ i = 1 n ( x i − x ˉ ) 2 ] = ( n − 1 ) σ 2 E\left[ \sum_{i=1}^{n} (x_i - \bar{x})^2 \right] = (n-1) \sigma^2 E[i=1n(xixˉ)2]=(n1)σ2

  • 若分母用 n n n
    E [ s n 2 ] = E [ 1 n ∑ i = 1 n ( x i − x ˉ ) 2 ] = n − 1 n σ 2 < σ 2 E[s_n^2] = E\left[ \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2 \right] = \frac{n-1}{n} \sigma^2 < \sigma^2 E[sn2]=E[n1i=1n(xixˉ)2]=nn1σ2<σ2

  • 若分母用 ( n − 1 ) (n-1) (n1)
    E [ s n − 1 2 ] = E [ 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 ] = 1 n − 1 ⋅ ( n − 1 ) σ 2 = σ 2 E[s_{n-1}^2] = E\left[ \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2 \right] = \frac{1}{n-1} \cdot (n-1) \sigma^2 = \sigma^2 E[sn12]=E[n11i=1n(xixˉ)2]=n11(n1)σ2=σ2

3. 用 ( n − 1 ) (n-1) (n1) n n n 的区别

方面分母用 ( n − 1 ) (n-1) (n1)分母用 n n n
估计性质无偏估计, E [ s n − 1 2 ] = σ 2 E[s_{n-1}^2] = \sigma^2 E[sn12]=σ2有偏估计, E [ s n 2 ] = n − 1 n σ 2 E[s_n^2] = \frac{n-1}{n} \sigma^2 E[sn2]=nn1σ2
数值大小结果稍大(因为分母更小)结果稍小(因为分母更大)
适用场景统计推断,估计总体参数最大似然估计或描述样本特性
样本大小影响小样本时差异明显,大样本时差异趋近于零同左,但偏差始终存在
  • 在小样本情况下,差异更显著(例如 n = 5 n=5 n=5 时,有偏估计为 4 5 σ 2 \frac{4}{5}\sigma^2 54σ2
  • 在大样本情况下(如 n = 1000 n=1000 n=1000),差异很小,但理论上仍以 ( n − 1 ) (n-1) (n1) 为标准

好的,我来更新第4部分的内容,用更详细的推导过程替代之前的版本。

4. 期望 E [ ∑ i = 1 n ( x i − x ˉ ) 2 ] = ( n − 1 ) σ 2 E\left[ \sum_{i=1}^n (x_i - \bar{x})^2 \right] = (n-1)\sigma^2 E[i=1n(xixˉ)2]=(n1)σ2 的详细推导

假设条件

为了推导这个期望,我们需要明确以下假设:

  • x 1 , x 2 , … , x n x_1, x_2, \ldots, x_n x1,x2,,xn 是从均值为 μ \mu μ、方差为 σ 2 \sigma^2 σ2 的总体中抽取的**独立同分布(i.i.d.)**随机变量。
  • 样本均值定义为: x ˉ = 1 n ∑ i = 1 n x i \bar{x} = \frac{1}{n} \sum_{i=1}^n x_i xˉ=n1i=1nxi

步骤 1:表达式变换

直接计算 E [ ∑ i = 1 n ( x i − x ˉ ) 2 ] E\left[ \sum_{i=1}^n (x_i - \bar{x})^2 \right] E[i=1n(xixˉ)2] 较为复杂,因为 x ˉ \bar{x} xˉ 本身是随机变量。我们可以利用一个恒等式将表达式改写为更容易处理的形式。

考虑 x i − x ˉ x_i - \bar{x} xixˉ 的定义:
x i − x ˉ = ( x i − μ ) − ( x ˉ − μ ) x_i - \bar{x} = (x_i - \mu) - (\bar{x} - \mu) xixˉ=(xiμ)(xˉμ)

这里我们引入了总体均值 μ \mu μ,将偏差分解为两部分:样本值与总体均值的偏差 ( x i − μ ) (x_i - \mu) (xiμ) 和样本均值与总体均值的偏差 ( x ˉ − μ ) (\bar{x} - \mu) (xˉμ)

将这个表达式平方并求和:
∑ i = 1 n ( x i − x ˉ ) 2 = ∑ i = 1 n [ ( x i − μ ) − ( x ˉ − μ ) ] 2 \sum_{i=1}^n (x_i - \bar{x})^2 = \sum_{i=1}^n \left[ (x_i - \mu) - (\bar{x} - \mu) \right]^2 i=1n(xixˉ)2=i=1n[(xiμ)(xˉμ)]2

展开平方:
( x i − x ˉ ) 2 = ( x i − μ ) 2 − 2 ( x i − μ ) ( x ˉ − μ ) + ( x ˉ − μ ) 2 (x_i - \bar{x})^2 = (x_i - \mu)^2 - 2 (x_i - \mu)(\bar{x} - \mu) + (\bar{x} - \mu)^2 (xixˉ)2=(xiμ)22(xiμ)(xˉμ)+(xˉμ)2

对所有 i i i 求和:
∑ i = 1 n ( x i − x ˉ ) 2 = ∑ i = 1 n ( x i − μ ) 2 − 2 ∑ i = 1 n ( x i − μ ) ( x ˉ − μ ) + ∑ i = 1 n ( x ˉ − μ ) 2 \sum_{i=1}^n (x_i - \bar{x})^2 = \sum_{i=1}^n (x_i - \mu)^2 - 2 \sum_{i=1}^n (x_i - \mu)(\bar{x} - \mu) + \sum_{i=1}^n (\bar{x} - \mu)^2 i=1n(xixˉ)2=i=1n(xiμ)22i=1n(xiμ)(xˉμ)+i=1n(xˉμ)2

简化最后一项,因为 ( x ˉ − μ ) 2 (\bar{x} - \mu)^2 (xˉμ)2 不依赖于 i i i
∑ i = 1 n ( x ˉ − μ ) 2 = n ( x ˉ − μ ) 2 \sum_{i=1}^n (\bar{x} - \mu)^2 = n (\bar{x} - \mu)^2 i=1n(xˉμ)2=n(xˉμ)2

接下来处理中间项 ∑ i = 1 n ( x i − μ ) ( x ˉ − μ ) \sum_{i=1}^n (x_i - \mu)(\bar{x} - \mu) i=1n(xiμ)(xˉμ)
x ˉ = 1 n ∑ i = 1 n x i \bar{x} = \frac{1}{n} \sum_{i=1}^n x_i xˉ=n1i=1nxi
所以:
x ˉ − μ = 1 n ∑ i = 1 n ( x i − μ ) \bar{x} - \mu = \frac{1}{n} \sum_{i=1}^n (x_i - \mu) xˉμ=n1i=1n(xiμ)

代入:
∑ i = 1 n ( x i − μ ) ( x ˉ − μ ) = ∑ i = 1 n ( x i − μ ) ⋅ 1 n ∑ j = 1 n ( x j − μ ) \sum_{i=1}^n (x_i - \mu)(\bar{x} - \mu) = \sum_{i=1}^n (x_i - \mu) \cdot \frac{1}{n} \sum_{j=1}^n (x_j - \mu) i=1n(xiμ)(xˉμ)=i=1n(xiμ)n1j=1n(xjμ)

因为 ∑ j = 1 n ( x j − μ ) \sum_{j=1}^n (x_j - \mu) j=1n(xjμ) 不依赖于 i i i,可以提出:
∑ i = 1 n ( x i − μ ) ( x ˉ − μ ) = 1 n ∑ i = 1 n ( x i − μ ) ⋅ ∑ j = 1 n ( x j − μ ) = 1 n [ ∑ i = 1 n ( x i − μ ) ] 2 \sum_{i=1}^n (x_i - \mu)(\bar{x} - \mu) = \frac{1}{n} \sum_{i=1}^n (x_i - \mu) \cdot \sum_{j=1}^n (x_j - \mu) = \frac{1}{n} \left[ \sum_{i=1}^n (x_i - \mu) \right]^2 i=1n(xiμ)(xˉμ)=n1i=1n(xiμ)j=1n(xjμ)=n1[i=1n(xiμ)]2

注意到:
∑ i = 1 n ( x i − μ ) = n ( x ˉ − μ ) \sum_{i=1}^n (x_i - \mu) = n (\bar{x} - \mu) i=1n(xiμ)=n(xˉμ)

所以:
∑ i = 1 n ( x i − μ ) ( x ˉ − μ ) = 1 n [ n ( x ˉ − μ ) ] 2 = n ( x ˉ − μ ) 2 \sum_{i=1}^n (x_i - \mu)(\bar{x} - \mu) = \frac{1}{n} \left[ n (\bar{x} - \mu) \right]^2 = n (\bar{x} - \mu)^2 i=1n(xiμ)(xˉμ)=n1[n(xˉμ)]2=n(xˉμ)2

将这些结果代回原式:
∑ i = 1 n ( x i − x ˉ ) 2 = ∑ i = 1 n ( x i − μ ) 2 − 2 n ( x ˉ − μ ) 2 + n ( x ˉ − μ ) 2 \sum_{i=1}^n (x_i - \bar{x})^2 = \sum_{i=1}^n (x_i - \mu)^2 - 2 n (\bar{x} - \mu)^2 + n (\bar{x} - \mu)^2 i=1n(xixˉ)2=i=1n(xiμ)22n(xˉμ)2+n(xˉμ)2
= ∑ i = 1 n ( x i − μ ) 2 − n ( x ˉ − μ ) 2 = \sum_{i=1}^n (x_i - \mu)^2 - n (\bar{x} - \mu)^2 =i=1n(xiμ)2n(xˉμ)2

我们得到了一个关键恒等式:
∑ i = 1 n ( x i − x ˉ ) 2 = ∑ i = 1 n ( x i − μ ) 2 − n ( x ˉ − μ ) 2 \sum_{i=1}^n (x_i - \bar{x})^2 = \sum_{i=1}^n (x_i - \mu)^2 - n (\bar{x} - \mu)^2 i=1n(xixˉ)2=i=1n(xiμ)2n(xˉμ)2

步骤 2:计算期望

现在,对这个表达式取期望:
E [ ∑ i = 1 n ( x i − x ˉ ) 2 ] = E [ ∑ i = 1 n ( x i − μ ) 2 − n ( x ˉ − μ ) 2 ] E\left[ \sum_{i=1}^n (x_i - \bar{x})^2 \right] = E\left[ \sum_{i=1}^n (x_i - \mu)^2 - n (\bar{x} - \mu)^2 \right] E[i=1n(xixˉ)2]=E[i=1n(xiμ)2n(xˉμ)2]

由于期望是线性的,可以分开计算:
E [ ∑ i = 1 n ( x i − x ˉ ) 2 ] = E [ ∑ i = 1 n ( x i − μ ) 2 ] − E [ n ( x ˉ − μ ) 2 ] E\left[ \sum_{i=1}^n (x_i - \bar{x})^2 \right] = E\left[ \sum_{i=1}^n (x_i - \mu)^2 \right] - E\left[ n (\bar{x} - \mu)^2 \right] E[i=1n(xixˉ)2]=E[i=1n(xiμ)2]E[n(xˉμ)2]

第一项: E [ ∑ i = 1 n ( x i − μ ) 2 ] E\left[ \sum_{i=1}^n (x_i - \mu)^2 \right] E[i=1n(xiμ)2]

因为 x i x_i xi 是 i.i.d. 的,且 E [ ( x i − μ ) 2 ] = Var ( x i ) = σ 2 E[(x_i - \mu)^2] = \text{Var}(x_i) = \sigma^2 E[(xiμ)2]=Var(xi)=σ2
E [ ∑ i = 1 n ( x i − μ ) 2 ] = ∑ i = 1 n E [ ( x i − μ ) 2 ] = ∑ i = 1 n σ 2 = n σ 2 E\left[ \sum_{i=1}^n (x_i - \mu)^2 \right] = \sum_{i=1}^n E[(x_i - \mu)^2] = \sum_{i=1}^n \sigma^2 = n \sigma^2 E[i=1n(xiμ)2]=i=1nE[(xiμ)2]=i=1nσ2=nσ2

第二项: E [ n ( x ˉ − μ ) 2 ] E\left[ n (\bar{x} - \mu)^2 \right] E[n(xˉμ)2]

首先计算 x ˉ \bar{x} xˉ 的方差:
x ˉ = 1 n ∑ i = 1 n x i \bar{x} = \frac{1}{n} \sum_{i=1}^n x_i xˉ=n1i=1nxi

由于 x i x_i xi 是独立的:
Var ( x ˉ ) = Var ( 1 n ∑ i = 1 n x i ) = 1 n 2 ∑ i = 1 n Var ( x i ) = 1 n 2 ⋅ n σ 2 = σ 2 n \text{Var}(\bar{x}) = \text{Var}\left( \frac{1}{n} \sum_{i=1}^n x_i \right) = \frac{1}{n^2} \sum_{i=1}^n \text{Var}(x_i) = \frac{1}{n^2} \cdot n \sigma^2 = \frac{\sigma^2}{n} Var(xˉ)=Var(n1i=1nxi)=n21i=1nVar(xi)=n21nσ2=nσ2

因为 E [ x ˉ ] = μ E[\bar{x}] = \mu E[xˉ]=μ(样本均值无偏),所以:
E [ ( x ˉ − μ ) 2 ] = Var ( x ˉ ) = σ 2 n E[(\bar{x} - \mu)^2] = \text{Var}(\bar{x}) = \frac{\sigma^2}{n} E[(xˉμ)2]=Var(xˉ)=nσ2

因此:
E [ n ( x ˉ − μ ) 2 ] = n ⋅ E [ ( x ˉ − μ ) 2 ] = n ⋅ σ 2 n = σ 2 E\left[ n (\bar{x} - \mu)^2 \right] = n \cdot E[(\bar{x} - \mu)^2] = n \cdot \frac{\sigma^2}{n} = \sigma^2 E[n(xˉμ)2]=nE[(xˉμ)2]=nnσ2=σ2

合并结果

E [ ∑ i = 1 n ( x i − x ˉ ) 2 ] = n σ 2 − σ 2 = ( n − 1 ) σ 2 E\left[ \sum_{i=1}^n (x_i - \bar{x})^2 \right] = n \sigma^2 - \sigma^2 = (n - 1) \sigma^2 E[i=1n(xixˉ)2]=nσ2σ2=(n1)σ2

步骤 3:验证与意义

我们得到了:
E [ ∑ i = 1 n ( x i − x ˉ ) 2 ] = ( n − 1 ) σ 2 E\left[ \sum_{i=1}^n (x_i - \bar{x})^2 \right] = (n - 1) \sigma^2 E[i=1n(xixˉ)2]=(n1)σ2

这表明, ∑ i = 1 n ( x i − x ˉ ) 2 \sum_{i=1}^n (x_i - \bar{x})^2 i=1n(xixˉ)2 的期望值是 ( n − 1 ) σ 2 (n-1) \sigma^2 (n1)σ2。在统计学中,样本方差定义为:
s 2 = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 s^2 = \frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})^2 s2=n11i=1n(xixˉ)2

其期望为:
E [ s 2 ] = 1 n − 1 E [ ∑ i = 1 n ( x i − x ˉ ) 2 ] = 1 n − 1 ⋅ ( n − 1 ) σ 2 = σ 2 E[s^2] = \frac{1}{n-1} E\left[ \sum_{i=1}^n (x_i - \bar{x})^2 \right] = \frac{1}{n-1} \cdot (n-1) \sigma^2 = \sigma^2 E[s2]=n11E[i=1n(xixˉ)2]=n11(n1)σ2=σ2

这说明 s 2 s^2 s2 是总体方差 σ 2 \sigma^2 σ2 的无偏估计。

如果用 n n n 作为分母:
E [ 1 n ∑ i = 1 n ( x i − x ˉ ) 2 ] = 1 n ⋅ ( n − 1 ) σ 2 = n − 1 n σ 2 < σ 2 E\left[ \frac{1}{n} \sum_{i=1}^n (x_i - \bar{x})^2 \right] = \frac{1}{n} \cdot (n-1) \sigma^2 = \frac{n-1}{n} \sigma^2 < \sigma^2 E[n1i=1n(xixˉ)2]=n1(n1)σ2=nn1σ2<σ2

这表明分母用 n n n 会低估总体方差。

总结

通过将 ∑ i = 1 n ( x i − x ˉ ) 2 \sum_{i=1}^n (x_i - \bar{x})^2 i=1n(xixˉ)2 展开为 ∑ i = 1 n ( x i − μ ) 2 − n ( x ˉ − μ ) 2 \sum_{i=1}^n (x_i - \mu)^2 - n (\bar{x} - \mu)^2 i=1n(xiμ)2n(xˉμ)2,并分别计算两项的期望,我们推导出:
E [ ∑ i = 1 n ( x i − x ˉ ) 2 ] = ( n − 1 ) σ 2 E\left[ \sum_{i=1}^n (x_i - \bar{x})^2 \right] = (n - 1) \sigma^2 E[i=1n(xixˉ)2]=(n1)σ2

  • ∑ i = 1 n ( x i − μ ) 2 \sum_{i=1}^n (x_i - \mu)^2 i=1n(xiμ)2 的期望是 n σ 2 n \sigma^2 nσ2,表示总体偏差。
  • n ( x ˉ − μ ) 2 n (\bar{x} - \mu)^2 n(xˉμ)2 的期望是 σ 2 \sigma^2 σ2,反映样本均值的波动。
  • 两者的差值 ( n − 1 ) σ 2 (n-1) \sigma^2 (n1)σ2 解释了为什么样本方差的分母用 n − 1 n-1 n1 是无偏的。

5. 数据中心化的原理

数据中心化是将每个数据点减去均值的过程:

数学表示

  • 原始数据: x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn
  • 均值: μ = 1 n ∑ i = 1 n x i \mu = \frac{1}{n}\sum_{i=1}^n x_i μ=n1i=1nxi
  • 中心化数据: x i ′ = x i − μ x'_i = x_i - \mu xi=xiμ

几何意义

  • 将数据集平移,使中心点位于坐标原点
  • 数据分布形状不变,仅位置发生移动
  • 数据点之间的相对关系保持不变

优点

  • 消除数据的整体偏移
  • 提高数值计算的稳定性
  • 加快模型收敛速度
  • 使不同特征处于相似的尺度范围

示例

对于数据 [2, 4, 6, 8]:

  • 均值 μ = 5 \mu = 5 μ=5
  • 中心化后:[-3, -1, 1, 3]

数据中心化是统计分析和机器学习中的重要预处理步骤,有助于我们关注数据的相对变化而非绝对位置。

相关文章:

协方差相关问题

为什么无偏估计用 ( n − 1 ) (n-1) (n−1) 而不是 n n n&#xff0c;区别是什么&#xff1f; 在统计学中&#xff0c;无偏估计是指估计量的期望值等于总体参数的真实值。当我们用样本数据估计总体方差或协方差时&#xff0c;分母使用 ( n − 1 ) (n-1) (n−1) 而不是 n n…...

Android OpenCV 人脸识别 识别人脸框 识别人脸控件自定义

先看效果 1.下载OpenCV 官网地址&#xff1a;opcv官网 找到Android 4.10.0版本下载 下载完毕 解压zip如图&#xff1a; 2.将OpenCV-android_sdk导入项目 我这里用的最新版的Android studio 如果是java开发 需要添加kotlin的支持。我用的studio比较新可以参考下&#xff0c;如果…...

深入解析Linux软硬链接:原理、区别与应用实践

Linux系列 文章目录 Linux系列前言一、软硬链接的概念引入1.1 硬链接1.2 软链接 二、软硬链接的使用场景2.1 软链接2.2 硬链接 三、总结 前言 上篇文章我们详细的介绍了文件系统的概念及底层实现原理&#xff0c;本篇我们就在此基础上探讨Linux系统中文件的软链接&#xff0…...

TDengine 与 taosAdapter 的结合(二)

五、开发实战步骤 &#xff08;一&#xff09;环境搭建 在开始 TDengine 与 taosAdapter 结合的 RESTful 接口开发之前&#xff0c;需要先完成相关环境的搭建&#xff0c;包括 TDengine 和 taosAdapter 的安装与配置&#xff0c;以及相关依赖的安装。 TDengine 安装&#xf…...

OBS 中如何设置固定码率(CBR)与可变码率(VBR)?

在使用 OBS 进行录制或推流时,设置“码率控制模式”(Rate Control)是非常重要的一步。常见的控制模式包括: CBR(固定码率):保持恒定的输出码率,适合直播场景。 VBR(可变码率):在允许的范围内动态调整码率,适合本地录制、追求画质。 一、CBR vs. VBR 的差异 项目CBR…...

优艾智合人形机器人“巡霄”,开启具身多模态新时代

近日&#xff0c;优艾智合-西安交大具身智能机器人研究院公布人形机器人矩阵&#xff0c;其中轮式人形机器人“巡霄”首次亮相。 “巡霄”集成移动导航、操作控制与智能交互技术&#xff0c;具备跨场景泛化能&#xff0c;适用于家庭日常服务、电力设备巡检、半导体精密操作及仓…...

蓝桥杯小白打卡第七天(第十四届真题)

小蓝的金属冶炼转换率问题 小蓝有一个神奇的炉子用于将普通金属 (O) 冶炼成为一种特殊金属 (X) 。 这个炉子有一个称作转换率的属性 (V) &#xff0c;(V) 是一个正整数&#xff0c;这意味着消耗 (V) 个普通金属 (O) 恰好可以冶炼出一个特殊金属 (X) &#xff0c;当普通金属 (…...

excel经验

Q:我现在有一个excel&#xff0c;有一列数据&#xff0c;大概两千多行。如何在这一列中 筛选出具有关键字的内容&#xff0c;并输出到另外一列中。 A: 假设数据在A列&#xff08;A1开始&#xff09;&#xff0c;关键字为“ABC”在相邻空白列&#xff08;如B1&#xff09;输入公…...

【Pandas】pandas DataFrame astype

Pandas2.2 DataFrame Conversion 方法描述DataFrame.astype(dtype[, copy, errors])用于将 DataFrame 中的数据转换为指定的数据类型 pandas.DataFrame.astype pandas.DataFrame.astype 是一个方法&#xff0c;用于将 DataFrame 中的数据转换为指定的数据类型。这个方法非常…...

【Netty4核心原理④】【简单实现 Tomcat 和 RPC框架功能】

文章目录 一、前言二、 基于 Netty 实现 Tomcat1. 基于传统 IO 重构 Tomcat1.1 创建 MyRequest 和 MyReponse 对象1.2 构建一个基础的 Servlet1.3 创建用户业务代码1.4 完成web.properties 配置1.5 创建 Tomcat 启动类 2. 基于 Netty 重构 Tomcat2.1 创建 NettyRequest和 Netty…...

4.6学习总结

包装类 包装类&#xff1a;基本数据类型对应的引用数据类型 JDK5以后新增了自动装箱&#xff0c;自动拆箱 以后获取包装类方法&#xff0c;不需要new&#xff0c;直接调用方法&#xff0c;直接赋值即可 //1.把整数转成二进制&#xff0c;十六进制 String str1 Integer.toBin…...

MySQL学习笔记五

第七章数据过滤 7.1组合WHERE子句 7.1.1AND操作符 输入&#xff1a; SELECT first_name, last_name, salary FROM employees WHERE salary < 4800 AND department_id 60; 输出&#xff1a; 说明&#xff1a;MySQL允许使用多个WHERE子句&#xff0c;可以以AND子句或OR…...

成为社交场的导演而非演员

一、情绪的本质&#xff1a;社交信号而非自我牢笼 进化功能&#xff1a;情绪是人类进化出的原始社交工具。愤怒触发群体保护机制&#xff0c;悲伤唤起同情支持&#xff0c;喜悦巩固联盟关系。它们如同可见光谱&#xff0c;快速传递生存需求信号。双刃剑效应&#xff1a;情绪的…...

怎么使用vue3实现一个优雅的不定高虚拟列表

前言 很多同学将虚拟列表当做亮点写在简历上面&#xff0c;但是却不知道如何手写&#xff0c;那么这个就不是加分项而是减分项了。实际项目中更多的是不定高虚拟列表&#xff0c;这篇文章来教你不定高如何实现。 什么是不定高虚拟列表 不定高的意思很简单&#xff0c;就是不…...

LemonSqueezy: 1靶场渗透

LemonSqueezy: 1 来自 <LemonSqueezy: 1 ~ VulnHub> 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182&#xff0c;靶场IP192.168.23.225 3&#xff0c;对靶机进…...

2025 年山东保安员职业资格考试要点梳理​

山东作为人口大省&#xff0c;保安市场规模庞大。2025 年考试报考条件常规。报名通过山东省各市公安机关指定的培训机构或政务服务窗口&#xff0c;提交资料与其他地区类似。​ 理论考试注重对山东地域文化特色相关安保知识的考查&#xff0c;如在孔庙等文化圣地安保中&#x…...

ARM处理器内核全解析:从Cortex到Neoverse的架构与区别

ARM处理器内核全解析&#xff1a;从Cortex到Neoverse的架构与区别 ARM作为全球领先的处理器架构设计公司&#xff0c;其内核产品线覆盖了从高性能计算到低功耗嵌入式应用的广泛领域。本文将全面解析ARM处理器的内核分类、架构特点、性能差异以及应用场景&#xff0c;帮助读者深…...

网络缓冲区

网络缓冲区分为内核缓冲区和用户态网络缓冲区 我们重点要实现用户态网络缓冲区 1.设计用户态网络缓冲区的原因 ①.生产者和消费者的速度不匹配问题&#xff0c; 需要缓存数据。 ②.粘包处理问题&#xff0c; 不能确保一次系统调用读取或写入完整数据包。 2.代码实现(cha…...

数据仓库的核心架构与关键技术(数据仓库系列二)

目录 一、引言 二、数据仓库的核心架构 三、数据仓库的关键技术 1 数据集成与治理 2 查询优化与性能提升 3 数据共享服务 BI&#xff1a;以Tableau为例 SQL2API&#xff1a;以麦聪QuickAPI为例 4 实时数据处理 四、技术的协同作用 五、总结与展望 六、预告 一、引言…...

基于PyQt5与OpenCV的图像处理系统设计与实现

1. 系统概述 本系统是一个集成了多种经典图像处理算法的图形用户界面(GUI)应用程序,采用Python语言开发,基于PyQt5框架构建用户界面,利用OpenCV库实现核心图像处理功能。 系统支持11种图像处理操作,每种操作都提供参数实时调节功能,并具备原始图像与处理后图像的双视图对…...

如何根据设计稿进行移动端适配:全面详解

如何根据设计稿进行移动端适配&#xff1a;全面详解 文章目录 如何根据设计稿进行移动端适配&#xff1a;全面详解1. **理解设计稿**1.1 设计稿的尺寸1.2 设计稿的单位 2. **移动端适配的核心技术**2.1 使用 viewport 元标签2.1.1 代码示例2.1.2 参数说明 2.2 使用相对单位2.2.…...

什么是大型语言模型(LLM)?哪个大模型更好用?

什么是 LLM&#xff1f; ChatGPT 是一种大型语言模型 (LLM)&#xff0c;您可能对此并不陌生。它以非凡的能力而闻名&#xff0c;已证明能够出色地完成各种任务&#xff0c;例如通过考试、生成产品内容、解决问题&#xff0c;甚至在最少的输入提示下编写程序。 他们的实力现已…...

集合学习内容总结

集合简介 1、Scala 的集合有三大类&#xff1a;序列 Seq、集Set、映射 Map&#xff0c;所有的集合都扩展自 Iterable 特质。 2、对于几乎所有的集合类&#xff0c;Scala 都同时提供了可变和不可变的版本&#xff0c;分别位于以下两个包 不可变集合&#xff1a;scala.collect…...

使用typedef和不使用的区别

使用 typedef 定义的函数指针类型 typedef sensor_drv_params_t* (*load_sensor_drv_func)(); 不使用 typedef 的函数指针声明 sensor_drv_params_t* (*load_sensor_drv_func)(); 这两者看似相似&#xff0c;但在语义和用途上有显著区别。下面将详细解释这两种声明的区别、各…...

基于线性回归模型的汽车燃油效率预测

基于线性回归模型的汽车燃油效率预测 1.作者介绍2.线性回归介绍2.1 线性回归简介2.2 线性回归应用场景 3.基于线性回归模型的汽车燃油效率预测实验3.1 Auto MPG Data Set数据集3.2代码调试3.3完整代码3.4结果展示 4.问题分析 基于线性回归模型的汽车燃油效率预测 1.作者介绍 郝…...

Playwright之自定义浏览器目录访问出错:BrowserType.launch: Executable doesn‘t exist

Playwright之自定义浏览器目录访问出错&#xff1a;BrowserType.launch: Executable doesn’t exist 问题描述&#xff1a; 在使用playwright进行浏览器自动化的时候&#xff0c;配置了自定义的浏览器目录&#xff0c;当按照自定义的浏览器目录启动浏览器进行操作时&#xff0c…...

如何拿到iframe中嵌入的游戏数据

在 iframe 中嵌入的游戏数据是否能被获取&#xff0c;取决于以下几个关键因素&#xff1a; 1. 同源策略 浏览器的同源策略是核心限制。如果父页面和 iframe 中的内容同源&#xff08;即协议、域名和端口号完全相同&#xff09;&#xff0c;那么可以直接通过 JavaScript 访问 …...

优选算法第七讲:分治

优选算法第七讲&#xff1a;分治 1.分治_快排1.1颜色分类1.2排序数组1.3数组中第k个最大元素1.4库存管理II 2.分治_归并2.1排序数组2.2交易逆序对的总数2.3计算右侧小于当前元素的个数2.4翻转对 1.分治_快排 1.1颜色分类 1.2排序数组 1.3数组中第k个最大元素 1.4库存管理II 2.…...

OpenBMC:BmcWeb 处理http请求4 处理路由对象

OpenBMC:BmcWeb 处理http请求2 查找路由对象-CSDN博客 Router::handle通过findRoute获取了FindRouteResponse对象foundRoute void handle(const std::shared_ptr<Request>& req,const std::shared_ptr<bmcweb::AsyncResp>& asyncResp){FindRouteResponse …...

直流电能表计量解决方案适用于光伏储能充电桩基站等场景

多场景解决方案&#xff0c;准确测量 01 市场规模与增长动力 全球直流表市场预测&#xff1a; 2025年市场规模14亿美元&#xff0c;CAGR超15%。 驱动因素&#xff1a;充电桩、光伏/储能、基站、直流配电 市场增长引擎分析&#xff1a; 充电桩随新能源车迅猛增长&#xff…...

x-cmd install | Slumber - 告别繁琐,拥抱高效的终端 HTTP 客户端

目录 核心优势&#xff0c;一览无遗安装应用场景&#xff0c;无限可能示例告别 GUI&#xff0c;拥抱终端 还在为调试 API 接口&#xff0c;发送 HTTP 请求而苦恼吗&#xff1f;还在各种 GUI 工具之间切换&#xff0c;只为了发送一个简单的请求吗&#xff1f;现在&#xff0c;有…...

git修改已经push的commit的message

1.修改信息 2.修改message 3.强推...

STM32 基础2

STM32中断响应过程 1、中断源发出中断请求。 2、判断处理器是否允许中断&#xff0c;以及该中断源是否被屏蔽。 3、中断优先级排队。 4、处理器暂停当前程序&#xff0c;保护断点地址和处理器的当前状态&#xff0c;根据中断类型号&#xff0c;查找中断向量表&#xff0c;转到…...

【STL 之速通pair vector list stack queue set map 】

考list 的比较少 --双端的啦 pair 想下&#xff0c;程序是什么样的. 我是我们要带着自己的思考去学习DevangLic.. #include <iostream> #include <utility> #include <string>using namespace std;int main() {// 第一部分&#xff1a;创建并输出两个 pair …...

深度学习篇---LSTM+Attention模型

文章目录 前言1. LSTM深入原理剖析1.1 LSTM 架构的进化理解遗忘门简介数学表达式实际作用 输入门简介数学表达式后选候选值实际作用 输出门简介数学表达式最终输出实际作用 1.2 Attention 机制的动态特性内容感知位置无关可解释性数学本质 1.3 LSTM与Attention的协同效应组合优…...

React 多个 HOC 嵌套太深,会带来哪些隐患?

在 React 中&#xff0c;使用多个 高阶组件&#xff08;HOC&#xff0c;Higher-Order Component&#xff09; 可能会导致组件层级变深&#xff0c;这可能会带来以下几个影响&#xff1a; 一、带来的影响 1、调试困难 由于组件被多个 HOC 包裹&#xff0c;React 开发者工具&am…...

企业工厂生产线马达保护装置 功能参数介绍

安科瑞刘鸿鹏 摘要 工业生产中&#xff0c;电压暂降&#xff08;晃电&#xff09;是导致电动机停机、生产中断的主要原因之一&#xff0c;给企业带来巨大的经济损失。本文以安科瑞晃电再起动控制器为例&#xff0c;探讨抗晃电保护器在生产型企业工厂中的应用&#xff0c;分析…...

Redis 的五种数据类型面试回答

这里简单介绍一下面试回答、我之前有详细的去学习、但是一直都觉得太多内容了、太深入了 然后面试的时候不知道从哪里讲起、于是我写了这篇CSDN帮助大家面试回答、具体的深入解析下次再说 面试官你好 我来介绍一下Redis的五种基本数据类型 有String List Set ZSet Map 五种基…...

多线程代码案例(定时器) - 3

定时器&#xff0c;是我们日常开发所常用的组件工具&#xff0c;类似于闹钟&#xff0c;设定一个时间&#xff0c;当时间到了之后&#xff0c;定时器可以自动的去执行某个逻辑 目录 Timer 的基本使用 实现一个 Timer 通过这个类&#xff0c;来描述一个任务 通过这个类&…...

基于大模型的GCSE预测与治疗优化系统技术方案

目录 技术方案文档:基于大模型的GCSE预测与治疗优化系统1. 数据预处理模块功能:整合多模态数据(EEG、MRI、临床指标等),标准化并生成训练集。伪代码流程图2. 大模型架构(Transformer-GNN混合模型)功能:联合建模时序信号(EEG)与空间结构(脑网络)。伪代码流程图3. 术…...

IntelliJ IDEA 中 Continue 插件使用 DeepSeek-R1 模型指南

IntelliJ IDEA 中 Continue 插件使用 DeepSeek-R1 模型指南 Continue 是一款开源的 AI 编码助手插件&#xff0c;支持 IntelliJ IDEA 等 JetBrains 系列 IDE。它可以通过连接多种语言模型&#xff08;如 DeepSeek-R1&#xff09;提供实时代码生成、问题解答和单元测试生成等功…...

Valgrind——内存调试和性能分析工具

文章目录 一、Valgrind 介绍二、Valgrind 功能和使用1. 主要功能2. 基本用法2.1 常用选项2.2 内存泄漏检测2.3 详细报告2.4 性能分析2.5 多线程错误检测 三、在 Ubuntu 上安装 Valgrind四、示例1. 检测内存泄漏2. 使用未初始化的内存3. 内存读写越界4. 综合错误 五、工具集1. M…...

京东API智能风控引擎:基于行为分析识别恶意爬虫与异常调用

京东 API 智能风控引擎基于行为分析识别恶意爬虫与异常调用&#xff0c;主要通过以下几种方式实现&#xff1a; 行为特征分析 请求频率&#xff1a;正常用户对 API 的调用频率相对稳定&#xff0c;受到网络延迟、操作速度等因素限制。若发现某个 IP 地址或用户在短时间内对同一…...

Swift 解 LeetCode 250:搞懂同值子树,用递归写出权限系统检查器

文章目录 前言问题描述简单说&#xff1a;痛点分析&#xff1a;到底难在哪&#xff1f;1. 子树的概念搞不清楚2. 要不要“递归”&#xff1f;递归从哪开始&#xff1f;3. 怎么“边遍历边判断”&#xff1f;这套路不熟 后序遍历 全局计数器遍历过程解释一下&#xff1a;和实际场…...

Nginx搭建API网关服务教程-系统架构优化 API统一管理

超实用&#xff01;用Nginx搭建API网关服务&#xff0c;让你的系统架构更稳更强大&#xff01;&#x1f680; 亲们&#xff0c;今天来给大家种草一个超级实用的API网关搭建方案啦&#xff01;&#x1f440; 在如今的Web系统架构中&#xff0c;一个稳定、高性能、可扩展的API网…...

SQL2API是什么?SQL2API与BI为何对数据仓库至关重要?

目录 一、SQL2API是什么&#xff1f; 二、SQL2API的历史演变&#xff1a;从数据共享到服务化革命 1990年代&#xff1a;萌芽于数据仓库的数据共享需求 2010年代初&#xff1a;数据中台推动服务化浪潮 2022年左右&#xff1a;DaaS平台的兴起 2025年代&#xff1a;麦聪定义…...

CentOS 7无法上网问题解决

CentOS 7无法上网问题解决 问题 配置了桥接模式以后&#xff0c;能够ping通本地IP但是无法ping通www.baidu.com 这里的前提是VWare上已经对虚拟机桥接模式网卡做了正确的选择&#xff0c;比如我现在选择的就是当前能够上外网的网卡&#xff1a; 问题根因 DNS未正确配置。…...

优化 Web 性能:使用 WebP 图片(Uses WebP Images)

在 Web 开发中&#xff0c;图片资源的优化是提升页面加载速度和用户体验的关键。Google 的 Lighthouse 工具在性能审计中特别推荐“使用 WebP 图片”&#xff08;Uses WebP Images&#xff09;&#xff0c;因为 WebP 格式在保持视觉质量的同时显著减少文件大小。本文将基于 Chr…...

SQL121 创建索引

-- 普通索引 CREATE INDEX idx_duration ON examination_info(duration);-- 唯一索引 CREATE UNIQUE INDEX uniq_idx_exam_id ON examination_info(exam_id);-- 全文索引 CREATE FULLTEXT INDEX full_idx_tag ON examination_info(tag);描述 现有一张试卷信息表examination_in…...

Leetcode - 周赛443

目录 一、3502. 到达每个位置的最小费用二、3503. 子字符串连接后的最长回文串 I三、3504. 子字符串连接后的最长回文串 II四、3505. 使 K 个子数组内元素相等的最少操作数 一、3502. 到达每个位置的最小费用 题目链接 本题是一道脑筋急转弯&#xff0c;实际就是计算前缀最小…...