- ベストアンサー
3つの比の類似度(比較)を数値で表す方法について
- 3つの比「1:2:3」と「1:4:6」の比の近さと、「1:2:3」と「1:5:10」がどの程度近いかを数値で表す方法を探しています。
- 現在考えている方法としては、各比の差を絶対値で求める方法や、各比を正規化して前後の比を割る方法などがあります。
- しかし、どの方法が妥当なのか迷っています。また、3つの比の比較をする際には、どれをどう割るべきかも分かりません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
%%%%引用開始 【案1】 左辺を1に正規化して,右辺を「引いた絶対値」 <例1> (1)|3-2|=1 < (2)|6-2|=4 => (1)が(2)より 3 近い で表す方法が考えられます. しかし,この場合, <例2> (1)1 < (2)4 >??? (3)|10-3|=7 となり,感覚と違ってしまいます. %%%%%引用終了 「例2」がわからない. なんで,(1)1 < (2)4 > (3)7 なんだろう? (1)1 < (2)4 <(3)7 じゃないの? で・・・比ってのは,「正規化」することで次元が落とせます. 一般にn+1個の比 a1:a2:a3:a4:・・・:an:an+1 は どれか必ずは0ではない ai が存在するので, そのaiで割り算することで,かならず「正規化」できます. そして,正規化することで,普通の「座標」とみなせます. ということで,「比の全体」は n+1個の「座標」によって覆われていると考えられます. となると,「二つの比」の距離として考えられるのは, 「二つの比が同じ座標にあれば,その座標での距離」 と考えるのは自然でしょう. 「二つの比がどうやっても同じ座標にないときは,距離は無限大」 とみなしておきます. 無限大とみなすことの意味は, 比1:0と比0:1を考えればなんとなくわかると思います. #気分としては,1:0が0で,0:1が1/0の感覚で「無限大」 #数学的には「実数の一点コンパクト化」という操作に相当して #実数の「端っこ」を結んで円周にしてしまうイメージ #xy平面で「直線」の傾きを考えることにも対応する. #y=axでaを無限にするとy軸になって,それを超えると #マイナスで絶対値の大きな数がでてくるのが「円周」の雰囲気 これが一つの考え方で, 数学では比全体の集合を「射影空間」と呼び, きわめて重要な研究対象です。 別の視点からみると・・・・ 射影空間は「比の集合」ですが, 比 a1:a2:・・・:an:an+1 を与えることは n+1次元空間で a1 x1 + a2 x2 + ・・・ + an xn + an+1 xn+1 = 0 という原点を通る超平面を定めることと同じです. ということで,「比の距離」を考えることはすなわち, 原点を通る「超平面の距離」を考えることと同じです. ということで,あとは「超平面の距離」という 比較的目に見えるもので解釈できます. 比1:0と比0:1の例でいけば 比1:0は x=0(y軸),比0:1はy=0(x軸)になるわけで, 考えるのは「直線どうしの距離」. あとはこの「直線どうしの距離」として 妥当なものを考えればいいのでしょう. #角度(法線ベクトルのなす角やその正弦や正接)が直観的かな けども・・・ >実際にどんな比重を対象にするかで,正解はないのかもしれませんが…. 結局はそういうことです. 普通の距離だって ユークリッド距離だとかマハラノビス距離とか いろいろあるし,実際問題としては 「時間的に近い」とか 「交通費が安ければ近いと見なす」というような 尺度だってあります.
お礼
>kabaokaba様 専門的でかつわかりやすい説明をありがとうございます. すみません.引用いただいた箇所,質問が間違ってました. %%%%引用開始 【訂正個所】 【案1】 左辺を1に正規化して,右辺を「引いた絶対値」 <例1> (1)|3-2|=1 < (2)|6-2|=4 => (1)が(2)より 3 近い で表す方法が考えられます. しかし,この場合, <例2> (1)1 < (2)4 【<】 (3)|10-3|=7 となり,感覚と合っています. %%%%%引用終了 Nつの比 => 正規化したN列の座標ベクトルである ということまでは理解しました. ただ,Nつの比の距離は, ・それぞれの比を代入したa1*x1+a2*x2+...+an*xn = 0(原点),を通る「超平面の距離」と同じ というのは,まだ理解できていません. >比1:0と比0:1を考えればなんとなくわかると思います. N=2のとき => 二つの直線の距離,というだけでも苦戦しています. (比0:1,比1:0の例 => 直線x1=0と直線x2=0の距離(2次元平面でいう,x軸直線とy軸直線との距離)ということまでは理解できましたが, x軸とy軸の直線間の距離 => 角度=90°? => どんな式で距離を求めるの?・・と理解が追いつきませんでした.) 過去の質問に,2直線の距離を計算する方法が書いてありましたが,思ったよりややこしいのですね.もう少し勉強しないと…. http://oshiete1.goo.ne.jp/kotaeru.php3?q=77895 間違っていることを前提に書きますが, 座標ベクトルA(a1,a2)=(0,1) とB(b1,b2)= (1,0) とのユークリット距離を考えると, √( (b1-a1)^2 + (b2-a2)^2 ) = √(1+1) = √2 となって,無限大にならなくなります. 感覚的には, |B| - |Aa| = |1/a2| - |b1/b2| = 0/1 - 1/0 = 0 - ∞ = ∞ という感じなのかなぁ・・と思っているのですが,式はめちゃくちゃです. 「射影空間」,これはまだまだイメージがつかめていません.ベクトルの座標系変換や,座標系間の類似度などを感覚的に理解するために,重要な概念であることはわかるのですが….