r语言 - 如何估计l2 -范数的方差



我使用下面的函数来计算L2

L2norm <- function(ranks, ratings) {
  x <- data.frame(cbind(ranks, ratings))
  colnames(x) <- c('rank', 'rating')
  y <- x %>%
    group_by(rank) %>%
    summarise(
      L2norm = sqrt(sum(rating^2/rank) / sum(1/rank)),
      N = n()
    )
  mean(y$L2norm)
}

简言之,

的方差是多少?

L2norm = sqrt(sum(rating^2/rank)/sum(1/rank))

计算?

方差是1/sqrt(n) * (|| x-x_hat ||_2)^2,其中|| * ||_2表示欧几里得范数或L2范数。这有助于方差的正式定义var(X)=E[(X-E(X))^2]。如果您想计算L2norm的方差,只需使用R的内置方差函数var()对L2norm值数组。

在一个不相关的注释中,L2范数本身就是元素和平方的平方根。L2范数按秩缩放每个元素有什么特殊的原因吗?

最新更新