Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
次元の呪いと球面集中現象
Search
K_DM
September 19, 2021
Technology
0
1.7k
次元の呪いと球面集中現象
『次元の呪い』という言葉について、K近傍法を高次元なデータに適用した場合にどのような問題が発生するかを具体例に挙げて説明します。
動画:
https://youtu.be/DhnMnaWLo-E
K_DM
September 19, 2021
Tweet
Share
More Decks by K_DM
See All by K_DM
主成分分析(PCA)の仕組み
k_study
0
200
X-meansの仕組み
k_study
0
2k
勾配ブースティングの仕組み
k_study
0
100
k-meansクラスタリングの仕組み
k_study
0
250
決定木を使った回帰の仕組み
k_study
0
220
アンサンブル学習① ランダムフォレストの仕組み
k_study
0
97
決定木に含まれるパラメタによる事前剪定と事後剪定
k_study
0
680
線形回帰② 正則化と過学習
k_study
0
540
外れ値とHuber(フーバー)損失
k_study
0
1.1k
Other Decks in Technology
See All in Technology
Entity Framework Core におけるIN句クエリ最適化について
htkym
0
130
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
200
Microsoft Agent Frameworkの可観測性
tomokusaba
1
120
Agent Skillsがハーネスの垣根を超える日
gotalab555
6
4.5k
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
5
2.1k
TED_modeki_共創ラボ_20251203.pdf
iotcomjpadmin
0
150
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
14k
Strands AgentsとNova 2 SonicでS2Sを実践してみた
yama3133
1
1.9k
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.3k
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
200
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2.5k
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
21
8.3k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
The Spectacular Lies of Maps
axbom
PRO
1
400
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
18
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
Making Projects Easy
brettharned
120
6.5k
Design in an AI World
tapps
0
100
30 Presentation Tips
portentint
PRO
1
180
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Test your architecture with Archunit
thirion
1
2.1k
Building the Perfect Custom Keyboard
takai
1
660
Transcript
,ͷษڧνϟϯωϧ
今回の内容 •次元の呪いとは •K近傍法と球面集中現象 •次元が大きくなる時にどのような問題が発生するか次元の呪いを避けるためには 『次元の呪い』とは何か説明します
次元の呪いとは 高次元のデータを用いて計算・データ分析をする際に発生する問題の総称 The curse of dimensionality refers to various phenomena
that arise when analyzing and organizing data in high- dimensional spaces that do not occur in low-dimensional settings … ग़యɿhttps://en.wikipedia.org/wiki/Curse_of_dimensionality 組合せ爆発 データ間の距離を測る上での問題 機械学習や異常検知における、予測に関係しない次元の多さ 計算量の増加
K-近傍法 データの周辺のk個の点をもとに、分類や回帰を行う x1 x0 この点は白か黒か? x1 x0 近傍が白なので白
K-近傍法 データの周辺のk個の点をもとに、分類や回帰を行う x1 x0 こ の は か か x1
x0 近傍が白なので白 この近傍の点を探索する作業、 どれくらい大変なのでしょうか?
データが1次元の場合 ソートして周辺と比較すれば、近傍の点を探索できる [0, 1, 9, 2, 11, 10, 8, 2,
1, 1, 100] 12 12に近いデータはどれ…? [0, 1, 1, 1, 2, 2, 8, 9, 10, 11, 100] ソートしてから二分探索すれば速く見つけられる!
データが2次元の場合 空間をいくつかの区画に分けて探索 (4, 5)に近いデータはどれ…? x1 x0 • • • •
• • • • • • • • • • • • • • • • • • • • • • • • • • x1 x0 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 区画を分けて、 区画分けを木で表現すれば探索できる kD木と呼びます
さらに次元数を増やしたら どうなるか?
データが3次元の場合 近傍にあたる領域がどれくらいあるのかを調べます x1 x0 • x1 x0 • x2 黒い点の近傍(表面の濃い青色)の体積を求めてみる
表面の体積は、2つの球の体積の差で求まる 近傍にあたる領域がどれくらいあるのかを調べます x1 x0 x2 • = -
表面の体積は、2つの球の体積の差で求まる 近傍にあたる領域がどれくらいあるのかを調べます x1 x0 x2 • = - an rn
an (r − b)n = an rn(1 − (1 − d r )n) an = 次元数によって決定する定数 = 次元数 n
次元数nが大きくなると球の表面が体積のほとんどを占める つまり、球の表面に黒点の近傍が大量に存在している x1 x0 x2 • = - an rn
an (r − b)n = an rn(1 − (1 − d r )n) nが大きいほど0に近づく と an rn がほぼ同じ体積 つまり • • • • • • • • • • • •
この状態でk近傍探索すると、近傍の点が大量に見つかる つまり、球の中心から見て同じ距離の箇所に大量に点がある x1 x0 x2 • と an rn がほぼ同じ体積
• • • • • • • • • • • • 球の体積のほとんどは である は中心の点から見て等しい距離 仮にデータを100個ランダムにばらまい た時、ばらまいたデータのほとんどは球 の表面 に含まれてしまい、 中心から見ると99個のデータがどれも 近傍にあるように見える ※球面集中現象と呼ばれています
まとめ 次元の呪いについて説明しました • 高次元のデータを用いて計算・データ分析をする際に発生する問 題の総称 • 一例として、次元の呪いの一種である球面集中現象がk近傍法で どのように影響するかを紹介しました • 高次元なデータを扱う場合、次元を削減できないか検討し、次元
数とデータ数がアルゴリズムの前提に合っているか確認する必要 がある