为什么归一化向量的点积始终为数据大小-1

时间:2018-11-20 06:09:50

标签: r math linear-algebra

我不明白为什么归一化向量的点积始终为数据大小-1。

a <- scale(rnorm(100))
crossprod(a)
# equal = 100 - 1 = 99

b <- scale(runif(50))
crossprod(b)
# equal = 50 - 1 = 49

c <- scale(rchisq(30, 5))
crossprod(c)
# equal = 30 - 1 = 29

我想了解数学知识。

1 个答案:

答案 0 :(得分:1)

不在LaTex中,但是证明可以帮助您理解:

您的值按比例缩放,因此:[x_i-mean(X)] / sd(X)。

Crossprod会求出x_i = Sum_i([x_i-mean(X)])^ 2的平方和

方差(sd的平方):var(X)= sd ^ 2(X)= 1 /(n-1)* Sum_i([x_i-mean(X)])^ 2

交叉pros = Sum_i([x_i-mean(X)] / sd(X))^ 2)= 1 / sd(X)^ 2 * Sum_i([x_i-mean(X)] ^ 2)= 1 / (1 /(n-1))= n-1