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

做网站业务提成多少/搜索引擎最佳化

做网站业务提成多少,搜索引擎最佳化,做电子商务网站 费用,榆社县济南网站建设公司 大学第4章 参数估计 参数估计是统计建模的关键步骤之一,它涉及根据样本数据推断总体参数的过程。在统计学中,参数通常用于描述总体的特征,如均值、方差等。通过参数估计,我们可以利用样本信息对这些未知参数进行推断,从而…

第4章  参数估计

参数估计是统计建模的关键步骤之一,它涉及根据样本数据推断总体参数的过程。在统计学中,参数通常用于描述总体的特征,如均值、方差等。通过参数估计,我们可以利用样本信息对这些未知参数进行推断,从而对总体进行更深入的了解。

4.1 矩法 

思想:当我们面对一个统计问题时,通常我们不能观察到整个总体的所有数据,而只能通过取一部分样本来进行研究。为了从这个样本中了解总体的性质,我们引入了一种思想,即使用样本的一些数字特征(矩)来估计总体相应的特征。在这个过程中,我们关注的是总体的矩,而这些矩与总体的参数有密切的关系,从而允许我们得出对总体参数的估计。

矩是描述数据分布的一种方式,例如均值和方差就是常见的矩。我们可以通过样本计算得到样本的矩,然后利用这些样本矩去估计总体的矩,进而得到总体参数的估计。

比如,如果我们想知道一个总体的平均值是多少,我们可以从样本中计算出样本均值,然后用样本均值去估计总体的平均值。这是因为,根据统计理论,样本均值与总体均值有一个紧密的关系,特别是在样本容量足够大的情况下。

这种思想的优势在于,通过研究样本矩与总体矩之间的关系,我们可以从有限的样本中获取关于总体特征的有用信息,而不必观察整个总体。这为我们提供了一种有效的方式,通过小规模的样本来推断和估计总体的性质。

4.1.1 矩法

矩法是一种矩估计法。矩法的核心思想是使用样本矩(样本的各阶矩)去估计总体矩,从而得到总体参数的估计。样本 i 阶矩的公式如下:

m_i=\frac{1}{n}\sum^{n}_{j=1}x^{i}_{j}

其中:

  • n 是样本容量,表示样本中的观测值个数。
  • x_j 是第 j 个观测值。
  • i 是矩的阶数,表示对观测值取 i 次幂。

举例:设总体的分布函数F(x;\theta _1...\theta_m)中有m个未知参数,假设总体样本的 i 阶原点矩存在,样本 x_1,...x_n ,令总体的 i 阶原点矩等于样本的 i 阶原点矩。以一阶、二阶矩法估计参数举例:

m_1=\frac{1}{n}\sum^{n}_{i=1}x_{i}=\mu =\bar{x}

m_2=\frac{1}{n}\sum^{n}_{j=1}x_{j}=\sigma^2+\mu^2=var(X)+E(x)^2

我们可以解得均值和方差的矩法估计:

\hat{\mu}=\bar{x}

\hat{\sigma}^2=\frac{1}{n}\sum^{n}_{i=1}(x_i-\bar{x})^2

4.1.2 R语言实现

在二项分布B(k;p)中,求k和p的矩估计。

1)一阶二阶矩法

m_1为样本均值:m_1=kp

m_2为样本二阶中心矩:m_2=kp(1-p)

解得:k=\frac{m_{1}^{2}}{m_1-m_2} , p=\frac{m_1-m_2}{m_1}

# 模拟二项分布
# N=20,p=0.7,试验次数n=100
x <- rbinom(100, 20, 0.7)
# 计算样本均值
m1 <- mean(x)
# 计算样本方差
m2 <- sum((x - mean(x))^2) / 100
# 计算 N
N <- m1^2 / (m1 - m2)
# 计算 p
p <- (m1 - m2) / m1
2)Newton-Raphson 方法的矩估计
# 定义矩估计函数
moment_fun <- function(p) {# 计算方程组f <- c(p[1] * p[2] - M1, p[1] * p[2] - p[1] * p[2]^2 - M2)# 计算雅可比矩阵J <- matrix(c(p[2], p[1], p[2] - p[2]^2, p[1] - 2 * p[1] * p[2]), nrow = 2, byrow = TRUE)list(f = f, J = J)
}# 定义 Newton-Raphson 优化函数
Newtons <- function(fun, x, ep = 1e-5, it_max = 100) {index <- 0k <- 1while (k <= it_max) {x1 <- xobj <- fun(x)x <- x - solve(obj$J, obj$f)norm <- sqrt(sum((x - x1)^2))if (norm < ep) {index <- 1break}k <- k + 1}obj <- fun(x)list(root = x, it = k, index = index, FunVal = obj$f)
}# 生成二项分布样本
x <- rbinom(100, 20, 0.7)# 获取样本大小
n <- length(x)# 计算样本均值和样本方差
M1 <- mean(x)
M2 <- (n - 1) / n * var(x)# 初始猜测值
p <- c(10, 0.5)# 使用 Newton-Raphson 优化估计参数
result <- Newtons(moment_fun, p)# 输出估计的参数值和迭代次数
cat("估计的 n:", result$root[1], "\n")
cat("估计的 p:", result$root[2], "\n")
cat("迭代次数:", result$it, "\n")

4.2 极大似然法

4.2.1 极大似然估计

极大似然估计是一种用于估计统计模型参数的方法。它基于观测到的样本数据,试图找到使得观测数据出现的概率最大的参数值。在讲解极大似然估计之前,我们先来了解一下一些基本的概念。

1)似然函数

似然函数是一个关于模型参数的函数,它描述了在给定模型下观测数据的可能性。对于参数为θ的模型,给定观测到的数据集X,似然函数表示为 L(θ|X)。对于离散型随机变量,似然函数通常是概率质量函数的乘积;对于连续型随机变量,似然函数是概率密度函数的乘积。

设总体X的概率密度函数或分布律为f(x,\theta)x_1,...x_n是来自总体X的样本,则\theta的似然函数为:

L(\theta;x)=L(\theta;x_1,...,x_n)=\prod ^{n}_{i=1}f(x_i,\theta)

2)极大似然估计

极大似然估计的目标是找到使似然函数取最大值的参数值,即找到使得观测到的数据在给定模型下出现的概率最大的模型参数。通常我们会取对数似然函数,因为这样便于计算。

假设有一组观测数据X={x₁, x₂, ..., xₙ},且这些数据是从一个分布(比如正态分布、二项分布等)中产生的。该分布有一个参数θ,我们的目标是通过这组观测数据估计出θ。

  1. 写出似然函数: 建立观测数据的似然函数L(θ|X),表示观测数据在给定参数θ下的概率。

    L(\theta | X) = P(X | \theta)

  2. 取对数: 通常取对数似然函数,因为对数函数的最大值点与原函数的最大值点是一样的,而且对数函数便于计算。

    \log L(\theta | X)

  3. 求导数: 对对数似然函数关于θ的导数,然后令导数等于零,解出参数θ。

    \frac{d}{d\theta} \log L(\theta | X) = 0

  4. 解方程: 解出的θ值即为极大似然估计。

4.2.2 R语言实现

1)\theta 连续

举例:正态分布

# 安装并加载 rootSolve 包
# install.packages("rootSolve")  # 如果未安装,需要先运行这行代码安装包
library(rootSolve)# 生成样本
x <- rnorm(10)# 定义似然函数和 multiroot 求解模型
model <- function(e, x) {n <- length(x)F1 <- sum(x - e[1])F2 <- -n / (e[2])^2 + sum((x - e[1])^2) / e[2]^4c(F1, F2)
}# 使用 multiroot 函数计算似然方程组的根(即估计的参数)
result <- multiroot(f = model, start = c(0, 1), x = x)# 输出结果
cat("估计的均值:", result$root[1], "\n")
cat("估计的标准差:", result$root[2], "\n")
4)\theta 离散
# 生成 Cauchy 分布的样本
x <- rcauchy(100, 1)# 定义对数似然函数
loglike <- function(p) {n <- length(x)log(3.14159) * n + sum(log(1 + (x - p)^2))
}# 使用 optimize 函数找到对数似然函数的最大值
result <- optimize(loglike, interval = c(0, 5))# 输出结果
cat("估计的参数 p:", result$maximum, "\n")
cat("对数似然函数的最大值:", result$objective, "\n")

4.3 区间估计

4.3.1 区间估计

设总体X的分布函数F(x,θ)含有未知参数θ,对于给定值α(0< α<1),若由样本x_1,...,x_n确定的两个统计量,\hat{\theta_1}(x_1,...,x_n)\hat{\theta_2}(x_1,...,x_n)满足:

P(\hat{\theta_1}(x_1,...,x_n)<\theta<\hat{\theta_2}(x_1,...,x_n))=1-\alpha

则称随机区间(\hat{\theta}_1,\hat{\theta}_2)是参数\theta的置信度为1-\alpha的置信区间。

4.3.2 一个正态总体的区间估计

1)均值\mu的估计
  • \sigma^2已知时:参数\mu的置信度为1-\alpha的双侧置信区间:

P\left \{ \left | \frac{\bar{X}-\mu}{\sigma/\sqrt{n}} \right | \leq Z_{\frac{\alpha}{2}} \right \}=1-\alpha

        推出:

\left [ \bar{X}-\frac{\sigma}{\sqrt{n}}Z_{\frac{\alpha}{2}},\bar{X}+\frac{\sigma}{\sqrt{n}}Z_{\frac{\alpha}{2}} \right ]

  • \sigma^2未知时:参数\mu的置信度为1-\alpha的双侧置信区间:

P\left \{ \left | \frac{\bar{X}-\mu}{S/\sqrt{n}} \right | \leq t_{\frac{\alpha}{2}} \right \}=1-\alpha

        推出:

\left [ \bar{X}-\frac{S}{\sqrt{n}}t_{\frac{\alpha}{2}}(n-1),\bar{X}+\frac{S}{\sqrt{n}}t_{\frac{\alpha}{2}}(n-1) \right ]

在R语言中,我们可以引入interval_esitimate11函数来做估计:

# 定义函数 interval_estimate11
# 参数:
#   x: 数据向量
#   sigma: 总体标准差,如果为正值则使用,否则使用样本标准差
#   alpha: 置信水平,默认为 0.05
interval_estimate11 <- function(x, sigma = -1, alpha = 0.05) { n <- length(x)xb <- mean(x)# 根据 sigma 是否为正值选择使用 Z 分布或者 t 分布if (sigma >= 0) {      tmp <- sigma / sqrt(n) * qnorm(1 - alpha / 2)  # Z 分布的临界值df <- n} else {# 当 sigma 为负值时,根据样本大小选择使用 Z 分布或者 t 分布if (n >= 30) {    tmp <- sd(x) / sqrt(n) * qnorm(1 - alpha / 2)  # Z 分布的临界值df <- n} else {  tmp <- sd(x) / sqrt(n) * qt(1 - alpha / 2, n - 1)  # t 分布的临界值df <- n - 1}}# 构建结果数据框result <- data.frame(mean = xb, df = df, a = xb - tmp, b = xb + tmp)return(result)
}# 生成样本数据
x <- rnorm(20, 1, 0.04)# 调用函数并输出结果
interval_estimate11(x)

在R语言中,函数 t.test() 也提供了 t 检验和相应的区间估计的功能:

t.test(x,            # 第一个样本或一组观测值y = NULL,     # 第二个样本,如果只有一个样本则为 NULLalternative = c("two.sided", "less", "greater"),# 假设检验的方向,可选值为 "two.sided"(双侧检验,默认)、"less"(左侧检验)、"greater"(右侧检验)mu = 0,        # 要检验的假设均值,默认为 0paired = FALSE,  # 是否为配对样本(paired samples),默认为 FALSEvar.equal = FALSE,  # 是否假设两个总体方差相等,默认为 FALSEconf.level = 0.95)  # 置信水平,默认为 0.95
2)方差\sigma^2的估计
  • \mu已知时:参数\sigma^2的置信度为1-\alpha的双侧置信区间:

\left [ \frac{n\hat{\sigma}^2}{\chi^{2}_{\sigma/2}(n)} , \frac{n\hat{\sigma}^2}{\chi^{2}_{1-\sigma/2}(n)}\right ]

  • \mu未知时:参数\sigma^2的置信度为1-\alpha的双侧置信区间:

\left [ \frac{(n-1)S^2}{\chi^{2}_{\sigma/2}(n-1)} , \frac{(n-1)S^2}{\chi^{2}_{1-\sigma/2}(n-1)}\right ]

在R语言中,我们可以引入函数interval_var1来求解:

# 定义函数 interval_var1
# 参数:
#   x: 数据向量
#   mu: 假设的总体方差值,默认为 Inf 表示不指定
#   alpha: 置信水平,默认为 0.05
interval_var1 <- function(x, mu = Inf, alpha = 0.05) { n <- length(x)# 根据 mu 是否为无穷选择使用总体方差估计还是样本方差估计if (mu < Inf) {S2 <- sum((x - mu)^2) / ndf <- n} else {S2 <- var(x)df <- n - 1}# 计算置信区间的上下界a <- df * S2 / qchisq(1 - alpha / 2, df)b <- df * S2 / qchisq(alpha / 2, df)# 构建结果数据框result <- data.frame(var = S2, df = df, a = a, b = b)return(result)
}# 生成样本数据
x <- c(23, 25, 28, 22, 20)# 调用函数并输出结果
interval_var1(x)

4.3.3 两个正态总体的区间估计

解决两个正态总体的区间估计时,我们可以引入函数interval_estimate2:

# 定义函数 interval_estimate2
# 参数:
#   x: 第一个样本数据向量
#   y: 第二个样本数据向量
#   sigma: 总体标准差,如果为正值则使用,否则使用样本标准差
#   var.equal: 是否假设两个总体方差相等,默认为 FALSE
#   alpha: 置信水平,默认为 0.05
interval_estimate2 <- function(x, y, sigma = c(-1, -1), var.equal = FALSE, alpha = 0.05) { n1 <- length(x)n2 <- length(y)xb <- mean(x)yb <- mean(y)if (all(sigma >= 0)) {  # 均值差μ1- μ2的区间估计(置信度为1-α)tmp <- qnorm(1 - alpha / 2) * sqrt(sigma[1]^2 / n1 + sigma[2]^2 / n2)df <- n1 + n2} else {if (var.equal == TRUE) {Sw <- ((n1 - 1) * var(x) + (n2 - 1) * var(y)) / (n1 + n2 - 2)tmp <- sqrt(Sw * (1 / n1 + 1 / n2)) * qt(1 - alpha / 2, n1 + n2 - 2)df <- n1 + n2 - 2} else {S1 <- var(x)S2 <- var(y)nu <- (S1 / n1 + S2 / n2)^2 / (S1 / n1^2 / (n1 - 1) + S2 / n2^2 / (n2 - 1))tmp <- qt(1 - alpha / 2, nu) * sqrt(S1 / n1 + S2 / n2)df <- nu}}# 构建结果数据框result <- data.frame(mean = xb - yb, df = df, a = xb - yb - tmp, b = xb - yb + tmp)return(result)
}# 生成两个样本数据
x <- c(23, 25, 28, 22, 20)
y <- c(29, 31, 30, 32, 27)# 调用函数并输出结果
interval_estimate2(x, y)

4.3.4 配对数据均值差的区间估计

我们可以用 t.test() 函数直接求解:

# 定义两组观测值
x <- c(11.3, 15.0, 15.0, 13.5, 12.8, 10.0, 11.0, 12.0, 13.0, 12.3)
y <- c(14.0, 13.8, 14.0, 13.5, 13.5, 12.0, 14.7, 11.4, 13.8, 12.0)# 执行独立样本 t 检验
result <- t.test(x - y)# 输出检验结果
print(result)

也可以引入前面的interval_estimate1函数:

# 定义函数 interval_estimate1
# 参数:
#   x: 数据向量
#   mu: 假设的总体均值,默认为 Inf 表示不指定
#   alpha: 置信水平,默认为 0.05
interval_estimate1 <- function(x, mu = Inf, alpha = 0.05) { n <- length(x)# 根据 mu 是否为无穷选择使用总体均值估计还是样本均值估计if (mu < Inf) {mean_val <- mutmp <- qnorm(1 - alpha / 2) * sqrt(var(x) / n)df <- n} else {mean_val <- mean(x)tmp <- qt(1 - alpha / 2, df = n - 1) * sqrt(var(x) / n)df <- n - 1}# 计算置信区间的上下界a <- mean_val - tmpb <- mean_val + tmp# 构建结果数据框result <- data.frame(mean = mean_val, df = df, a = a, b = b)return(result)
}# 定义两组观测值
x <- c(11.3, 15.0, 15.0, 13.5, 12.8, 10.0, 11.0, 12.0, 13.0, 12.3)
y <- c(14.0, 13.8, 14.0, 13.5, 13.5, 12.0, 14.7, 11.4, 13.8, 12.0)# 计算差异向量
z <- x - y# 调用函数并输出结果
interval_estimate1(z)

4.3.5 方差比的区间估计

# 定义函数 interval_var2
# 参数:
#   x: 第一个样本数据向量
#   y: 第二个样本数据向量
#   mu: 假设的总体方差比率,默认为 Inf 表示不指定
#   alpha: 置信水平,默认为 0.05
interval_var2 <- function(x, y, mu = c(Inf, Inf), alpha = 0.05) { n1 <- length(x)n2 <- length(y)if (all(mu < Inf)) {Sx2 <- 1 / n1 * sum((x - mu[1])^2)Sy2 <- 1 / n2 * sum((y - mu[2])^2)df1 <- n1df2 <- n2} else if (mu[1] < Inf && mu[2] == Inf) {Sx2 <- 1 / n1 * sum((x - mu[1])^2)Sy2 <- var(y)df1 <- n1df2 <- n2 - 1} else if (mu[1] == Inf && mu[2] < Inf) {Sx2 <- var(x)Sy2 <- 1 / n2 * sum((y - mu[2])^2)df1 <- n1 - 1df2 <- n2} else {Sx2 <- var(x)Sy2 <- var(y)df1 <- n1 - 1df2 <- n2 - 1}r <- Sx2 / Sy2a <- r / qf(1 - alpha / 2, df1, df2)b <- r / qf(alpha / 2, df1, df2)# 构建结果数据框result <- data.frame(rate = r, df1 = df1, df2 = df2, a = a, b = b)return(result)
}# 定义两组观测值
a <- c(79.98, 80.04, 80.02, 80.04, 80.03, 80.03, 80.04, 79.97, 80.05, 80.03, 80.02, 80.00, 80.02)
b <- c(80.02, 79.94, 79.98, 79.97, 79.97, 80.03, 79.95, 79.97)# 调用函数并输出结果
interval_var2(a, b, mu = c(80, 60))
interval_var2(a, b, mu = c(Inf, Inf))
interval_var2(a, b, mu = c(80, Inf))
interval_var2(a, b, mu = c(Inf, 60))

4.3.6 非正态总体的区间估计

# 定义函数 interval_estimate3
# 参数:
#   x: 数据向量
#   sigma: 总体标准差的估计值,默认为 -1,表示使用样本标准差
#   alpha: 置信水平,默认为 0.05
interval_estimate3 <- function(x, sigma = -1, alpha = 0.05) { n <- length(x)xb <- mean(x)if (sigma >= 0) {tmp <- sigma / sqrt(n) * qnorm(1 - alpha / 2)} else {tmp <- sd(x) / sqrt(n) * qnorm(1 - alpha / 2)}# 构建结果数据框result <- data.frame(mean = xb, a = xb - tmp, b = xb + tmp)return(result)
}# 使用示例:
# 定义一个数据向量
x <- c(11.3, 15.0, 15.0, 13.5, 12.8, 10.0, 11.0, 12.0, 13.0, 12.3)# 调用函数并输出结果
interval_estimate3(x)

4.3.7 单侧置信区间估计

# 定义函数 interval_estimate4
# 参数:
#   x: 数据向量
#   sigma: 总体标准差的估计值,默认为 -1,表示使用样本标准差
#   side: 置信区间的一侧,默认为 0 表示双侧置信区间,<0 表示左侧,>0 表示右侧
#   alpha: 置信水平,默认为 0.05
interval_estimate4 <- function(x, sigma = -1, side = 0, alpha = 0.05) { n <- length(x)xb <- mean(x)if (sigma >= 0) { # 总体标准差已知if (side < 0) { # 左侧置信区间tmp <- sigma / sqrt(n) * qnorm(1 - alpha)a <- -Infb <- xb + tmp} else if (side > 0) { # 右侧置信区间tmp <- sigma / sqrt(n) * qnorm(1 - alpha)a <- xb - tmpb <- Inf} else { # 双侧置信区间tmp <- sigma / sqrt(n) * qnorm(1 - alpha / 2)a <- xb - tmpb <- xb + tmp}df <- n} else { # 总体标准差未知if (side < 0) { # 左侧置信区间tmp <- sd(x) / sqrt(n) * qt(1 - alpha, n - 1)a <- -Infb <- xb + tmp} else if (side > 0) { # 右侧置信区间tmp <- sd(x) / sqrt(n) * qt(1 - alpha, n - 1)a <- xb - tmpb <- Inf} else { # 双侧置信区间tmp <- sd(x) / sqrt(n) * qt(1 - alpha / 2, n - 1)a <- xb - tmpb <- xb + tmp}df <- n - 1}# 构建结果数据框result <- data.frame(mean = xb, df = df, a = a, b = b)return(result)
}# 使用示例:
# 定义一个数据向量
x <- c(11.3, 15.0, 15.0, 13.5, 12.8, 10.0, 11.0, 12.0, 13.0, 12.3)# 调用函数并输出结果
# 默认为双侧置信区间
interval_estimate4(x)# 左侧置信区间
interval_estimate4(x, side = -1)# 右侧置信区间
interval_estimate4(x, side = 1)

(个人总结,如有谬误或需要改进之处欢迎联系作者)

相关文章:

第4章 | 安徽某高校《统计建模与R软件》期末复习

第4章 参数估计 参数估计是统计建模的关键步骤之一&#xff0c;它涉及根据样本数据推断总体参数的过程。在统计学中&#xff0c;参数通常用于描述总体的特征&#xff0c;如均值、方差等。通过参数估计&#xff0c;我们可以利用样本信息对这些未知参数进行推断&#xff0c;从而…...

localforage本地存储(融合Web Storage,Web SQL Database,ndexedDB三种前端存储)

介绍 localForage 是一个快速而简单的 JavaScript 存储库。通过使用异步存储&#xff08;IndexedDB 或 WebSQL&#xff09;和简单的类 localStorage 的 API &#xff0c;localForage 能改善 Web 应用的离线体验。 在不支持 IndexedDB 或 WebSQL 的浏览器中&#xff0c;localF…...

【JavaWeb学习笔记】17 - ThreadLocal

项目代码 https://github.com/yinhai1114/JavaWeb_LearningCode/tree/main/threadlocal/src/com/yinhai/thread 目录 项目代码 一、什么是ThreadLocal? 二、ThreadLocal快速入门 三、源码解读 一、什么是ThreadLocal? 1. ThreadLocal的作用&#xff0c;可以实现在同一个线…...

【ARMv8M Cortex-M33 系列 1 -- SAU 介绍】

文章目录 Cortex-M33 SAU 介绍SAU 的主要功能包括SAU 寄存器配置示例 Cortex-M33 SAU 介绍 在 ARMv8-M 架构中&#xff0c;SAU&#xff08;Security Attribution Unit&#xff09;是安全属性单元&#xff0c;用于配置和管理内存区域的安全属性。SAU 是 ARM TrustZone 技术的一…...

sklearn 逻辑回归Demo

逻辑回归案例 假设表示 基于上述情况&#xff0c;要使分类器的输出在[0,1]之间&#xff0c;可以采用假设表示的方法。 设 h θ ( x ) g ( θ T x ) h_θ (x)g(θ^T x) hθ​(x)g(θTx)&#xff0c; 其中 g ( z ) 1 ( 1 e − z ) g(z)\frac{1}{(1e^{−z} )} g(z)(1e−z)1​…...

什么是众创空间?他有什么特点?

众创空间&#xff0c;是一种为大众创新创业提供专业化服务的创业服务平台&#xff0c;是顺应网络时代创新创业特点和需求&#xff0c;通过市场化机制、专业化服务和资本化途径构建的低成本、便利化、全要素、开放式的新型创业服务平台的统称。众创空间包括创客空间、联合办公空…...

什么是数据分析思维

参考 一文学会如何做电商数据分析&#xff08;附运营分析指标框架&#xff09; 电子商务该如何做数据分析&#xff1f;如何数据分析入门&#xff08;从各项指标表象进入&#xff09; https://www.processon.com/outline/6589838c3129f1550cc69950 数据分析步骤 什么是数据分析…...

利用Milvus Cloud和LangChain构建机器人:一种引人入胜且通俗易懂的方法

一、引言 机器人已经深入我们的日常生活&#xff0c;从家庭服务到工业生产&#xff0c;再到医疗和运输等领域。然而&#xff0c;这些机器人往往需要复杂的算法和数据处理技术才能有效地执行任务。在这个过程中&#xff0c;人工智能&#xff08;AI&#xff09;和机器学习&#…...

数据结构-如何实现一个队列?逐步解析与代码示例(超详细)

文章目录 前言1.队列的基本概念2.链表与数组实现队列的区别2.1数据存储结构2.2性能2.3内存使用 3.为什么选择链表实现队列&#xff1f;4.结构定义函数声明 5.核心操作5.1初始化 (QInit)5.2销毁 (QDestroy)5.3入队 (QPush)5.4出队 (QPop) 6.队列的查询操作6.1队首元素 (QueueFro…...

爬虫工作量由小到大的思维转变---<第二十三章 Scrapy开始很快,越来越慢(医病篇)>

诊断篇https://blog.csdn.net/m0_56758840/article/details/135170994?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170333243316800180644102%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id1703332433168001806441…...

.Net7.0 或更高版本 System.Drawing.Common 上传图片跨平台方案

项目升级.Net7.0以后&#xff0c;System.Drawing.Common开关已经被删除&#xff0c;且System.Drawing.Common仅在 Windows 上支持 &#xff0c;于是想办法将原来上传图片验证文件名和获取图片扩展名方法替换一下&#xff0c;便开始搜索相关解决方案。 .Net6.0文档&#xff1a;…...

【MySQL】InnoDB和MyISAM区别

文章目录 一、索引不同1 InnoDB聚簇索引&#xff0c;MyISAM非聚簇索引1 InnoDB聚簇索引2 MyISAM非聚簇索引 2 InnoDB必须要有主键&#xff0c;MyISAM允许没有主键3 InnoDB支持外键4 InnoDB不支持全文索引5 索引保存位置不同 二、对事物的支持三、存储结构不同四、存储空间不同五…...

3分钟了解安全数据交换系统有什么用!

企业为了保护核心数据安全&#xff0c;都会采取一些措施&#xff0c;比如做网络隔离划分&#xff0c;分成了不同的安全级别网络&#xff0c;或者安全域&#xff0c;接下来就是需要建设跨网络、跨安全域的安全数据交换系统&#xff0c;将安全保障与数据交换功能有机整合在一起&a…...

记录汇川:MODBUS TCP-梯形图

H5U的MODBUS通信不需要编写程序&#xff0c;通过组态MODBUS通信配置表&#xff0c;实现数据通信。 Modbus-TCP 主站即Modbus-TCP客户端&#xff0c;通过Modbus-TCP配置&#xff0c;可最多支持同时与31个 Modbus-TCP服务器&#xff08;从站&#xff09;进行通讯。 …...

electron + sqlite3 解决打包后无法写入数据库

前言 window环境。 electron28.0.0 sqlite35.1.6 使用 electron-builder 打包。 本文旨在解决打包后无法写入数据库的问题。 但如果你是打包后无法访问sqlite&#xff0c;且有报错弹窗&#xff0c;不妨也看看本文。 也许是同一种原因。 错误原因分析 打包后无法创建db文件&…...

【uniapp小程序-生成二维码+多个图片文字合并一张图】

<!-- 二维码 --><canvas id"qrcode" canvas-id"qrcode" width"120" ></canvas><!-- 生成带小程序码的分享图片 --><canvas canvas-id"shareCanvas" class"share-canvas"></canvas>#qrc…...

Text-to-SQL小白入门(十)RLHF在Text2SQL领域的探索实践

本文内容主要基于以下开源项目探索实践&#xff0c; Awesome-Text2SQL:GitHub - eosphoros-ai/Awesome-Text2SQL: Curated tutorials and resources for Large Language Models, Text2SQL, Text2DSL、Text2API、Text2Vis and more.DB-GPT-Hub&#xff1a;GitHub - eosphoros-ai…...

深度学习 | 基本循环神经网络

1、序列建模 1.1、序列数据 序列数据 —— 时间 不同时间上收集到的数据&#xff0c;描述现象随时间变化的情况。 序列数据 —— 文本 由一串有序的文本组成的序列&#xff0c;需要进行分词。 序列数据 —— 图像 有序图像组成的序列&#xff0c;后一帧图像可能会受前一帧的影响…...

VSCode 加Cortex-Debug嵌入式调试方法

简介 当使用ARM Cortex-M微控制器时&#xff0c;Cortex-Debug是一个Visual Studio Code的扩展&#xff0c;以简化调试过程。本文档介绍了如何编写启动配置(launch.json)。 settings.json配置 打开VSCode用户设置文件settings.json: 文件→偏好→设置选择用户设置: 在搜索栏中…...

etcd-workbench一款免费好用的ETCD客户端,支持SSHTunnel、版本对比等功能

介绍 今天推荐一款完全免费的ETCD客户端&#xff0c;可以私有化部署: etcd-workbench 开源地址&#xff1a;https://github.com/tzfun/etcd-workbench Gitee地址&#xff1a;https://gitee.com/tzfun/etcd-workbench 下载 本地运行 从 官方Release 下载最新版的 jar 包&am…...

华为ipv6配置之ospf案例

R1 ipv6 ospfv3 1 router-id 1.1.1.1 //必须要手动配置ospf id&#xff0c;它不会自动生成 interface GigabitEthernet0/0/0 ipv6 enable ipv6 address 2000::2/96 ospfv3 1 area 0.0.0.0 interface LoopBack0 ipv6 enable ipv6 address 2001::1/96 ospfv3 1 area 0.0.0.0 R2…...

Design patterns--装饰模式

设计模式之装饰模式 使用装饰模式来封装Nmea0183语句。 代码 #ifndef DATAPARSER_H #define DATAPARSER_H#include <string> #include <vector>class DataParser { public:DataParser();virtual std::string fieldAnalysis(std::vector<std::string> vecSt…...

卷积神经网络 反向传播

误差的计算 softmax 经过softmax处理后所有输出节点概率和为1 损失&#xff08;激活函数&#xff09; 多分类问题&#xff1a;输出只可能归于某一个类别&#xff0c;不可能同时归于多个类别。 误差的反向传播 求w的误差梯度 权值的更新...

java面试题20

Java中的类加载机制可继续通过自定义类加载器来实现热部署、插件化和动态加载等功能&#xff0c;使得应用程序能够在运行时加载未知的类和资源。 什么是Java中的多线程&#xff08;Multithreading&#xff09;&#xff1f;它有什么作用&#xff1f; 答案&#xff1a;多线程是一…...

【Java面试题】redis的过期策略有哪些

redis通过设置过期时间来控制键值对的存活时长&#xff0c;过期时间可以通过expire , pexpire expireat , pexpireat 等命令设置&#xff0c;String 类型数据可以通过setex命令设置过期时间。 以下介绍三种redis的过期策略&#xff1a; 1. 定时删除 在设置键值对的过期时…...

for参数 命令语句 变量

for 参数f skip命令语句 命令说明&#xff1a; 跳过文本内容&#xff08;行&#xff09;&#xff1a;skip 例子&#xff1a; for /f "skip1" %%i in(2.txt) do echo %%i for 参数f eol命令语句 命令说明&#xff1a; 怱略指定字符的文本内容&#xff08;文本首部…...

CentOS 8的新特性

CentOS 8在2019年发布&#xff0c;带来了比CentOS 7更多的新特性和改进。以下是一些主要的变化和优化&#xff1a; 软件包更新&#xff1a;CentOS 8提供了更新的软件包和程序&#xff0c;包括但不限于Python 3、MySQL 8、PHP 7.2、Ruby 2.5、PostgreSQL 10等。 应用流&#xf…...

vue2、vue3状态管理之vuex、pinia

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、状态管理之vuex1.1 State调用&#xff1a;1.2 Mutation在vuex中定义&#xff1a;在组件中使用&#xff1a; 1.3 Action在vuex中定义&#xff1a;将上面的减…...

axios进行图片上传组件封装

文章目录 前言图片上传接口&#xff08;axios通信)图片上传使用upload上传头像效果展示总结 前言 node项目使用 axios 库进行简单文件上传的模块封装。 图片上传接口&#xff08;axios通信) 新建upload.js文件&#xff0c;定义一个函数&#xff0c;该函数接受一个上传路径和一…...

2312llvm,用匹配器构建clang工具

原文 用LibTooling和LibASTMatchers构建工具 这里展示如何基于Clang的LibTooling构建有用的源到源翻译工具.基础 步骤0:取Clang 因为Clang是LLVM项目的一部分,因此你需要先下载LLVM的源码.Clang和LLVM都在同一个git仓库中,在不同的目录下.更多见入门指南. cd ~/clang-llvm…...