我使用下面的函数来计算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范数按秩缩放每个元素有什么特殊的原因吗?