我使用以下函数来评估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))
计算的?
答案 0 :(得分:0)
嗯,方差是1 / sqrt(n)*(|| x-x_hat || _2)^ 2,其中|| * || _2表示欧几里德或L2范数。这适用于方差的形式定义,其中var(X)= E [(X-E(X))^ 2]。如果要计算L2norm的方差,只需在L2norm值数组上使用R的内置方差函数var()
。
在一个不相关的注释中,L2范数本身就是平方元素之和的平方根。您的L2规范是否有一个特殊原因可以按等级缩放每个元素?