5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

普通の恋人ができないのは「次元の呪い」のせい

Last updated at Posted at 2019-04-11

前にビックデータについてのセミナーに行ったときに次元の呪いという言葉を聞いたので調べることに。

要約するとデータの次元数が増えることで、データの距離が離れる現象。
1次元のデータは平均値に最もデータが集中するのに、複数次元になると平均値にはデータがなくなってしまうんです。

機械学習をやっていくと突き当ったりするらしい。
カーネル法はこれを利用することで、分類の難しいデータ間のマージンを作り出しているとか・・・

とりあえず次元の呪いをRで確認する。

まず1次元でプロット

cur_of_dim <-data.frame(matrix(rnorm(1000,0,1),nrow=100,ncol=1))
mean(dist(cur_of_dim))
[1] 1.110581
hist(dist(cur_of_dim))

hiss.png

とりあえず一次元のデータを発生させた。
平均0, 標準偏差1のデータの平均からの距離をヒストグラムにした。
平均からの距離の平均は1.11だった。
距離は絶対値的なものなので、正規分布を半分に折りたたんだような図になった。
2次元にしてみる。

cur_of_dim <-data.frame(matrix(rnorm(1000,0,1),nrow=100,ncol=2))
mean(dist(cur_of_dim))
[1] 1.801263
hist(dist(cur_of_dim))

hiss2.png

2次元にしただけでも平均の0の数が減っていた。
なんで同じ平均のデータが減るんでしょう?
2次元をプロットしてみます。
平均に近い部分として、0±0.5ほどを点線にしてみます。
ついでにこの点線の中に何個のデータがあるのか確認してみます。

plot(cur_of_dim)
abline(h=c(0.5,-0.5),lty=2)
abline(v=c(0.5,-0.5),lty=2)

kakunin <-cur_of_dim[cur_of_dim[,1] >= -0.5 & cur_of_dim[,2] >= -0.5 & 0.5 > cur_of_dim[,1] & 0.5 > cur_of_dim[,2],]
nrow(kakunin)
[1] 16

plo.png

100個のデータ中で0の周辺にあるデータは16個と少なくなっていました。
(ちなみに一次元では38個ありました。)

これを繰り返していくから平均にぴったり乗るデータは少なくなるんですね。

このまま次元を増やしていきます。

# 5次元
cur_of_dim <-data.frame(matrix(rnorm(1000,0,1),nrow=100,ncol=5))
mean(dist(cur_of_dim))
[1] 2.92333
# 10次元
cur_of_dim <-data.frame(matrix(rnorm(1000,0,1),nrow=100,ncol=10))
mean(dist(cur_of_dim))
[1] 4.394134
# 50次元
cur_of_dim <-data.frame(matrix(rnorm(1000,0,1),nrow=100,ncol=50))
mean(dist(cur_of_dim))
[1] 10.15969
# 100次元
cur_of_dim <-data.frame(matrix(rnorm(1000,0,1),nrow=100,ncol=100))
mean(dist(cur_of_dim))
[1] 14.55681

どんどん離れていくのが確認できました。

hist(dist(cur_of_dim))

hiss3.png

ヒストグラム見てみるとほとんど平均の0にありませんでした。
これが次元の呪いなのでしょう。

正規分布でやりましたが、分布が変われば結果も変わりそう。
それはまた今度に。

普通の人でいいから恋人が欲しいという人がいますが、
平均的を求めるのは逆に難しそうです。
きっと普通の恋人ができないのは次元の呪いのせいなんです!
それは話が違う?

以上です

(一次元でもピッタリ平均値なんて存在せんやろ!って言われたことがありましたが、それはイプシロン-デルタ論法の話だったようなので、もしそちらを探している人がいたらそれとは別の話です。)

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?