• ベストアンサー

重み付きユークリッド距離

今,k-means法を使ったクラスタリングプログラムを作っています. 2次元特徴のパタン集合を分類してグラフィカルに表示するものです. wikipediaによると,k-means法は (1)各パタンをランダムにN個のクラスタに分類 (2)各クラスタの中心を計算 (3)全パタンについて中心との距離を計算し,一番近いクラスタに割り当て (4)割り当てに変化がなければ終了,変化があれば(2)へ のように書いてあり,自分も理解できていたつもりだったのですが, ステップ(3)の「全パタンについて中心との距離を計算し…」という 部分が作れなくて困っています. 指定ではパタン間距離に「重み付きユークリッド距離」を使えとのこと だったのですが,自分は2パタン間で重み付きユークリッド距離が 使えるというところが理解できていません. 2次元なので,単純に距離ならばユークリッド距離を使えばいいと 思っていたんですが. ネットで調べたところ, ・d^2 = Σ wi (xi - yi)^2 という式は見つかったのですが,重み係数wiをどのように設定すれば いいのか分かりません. 非常に初歩的な質問をしているのだと思いますが, 教えていただけると嬉しいですm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • oldman50
  • ベストアンサー率29% (8/27)
回答No.1

クラスタリング 提供: フリー百科事典『ウィキペディア(Wikipedia)』 (統計学)データ解析手法の1つ。(中略)この特徴は多くの場合、類似性や、ある定められた距離尺度に基づく近さで示される。 という訳で、「ある定められた距離尺度に基づく近さ」に基づいて、データをクラスターに分けるのがクラスタリングです。 「距離尺度」としては、普通の物理的な意味の距離でも、自分で新たに定義した抽象幾何学的な意味の距離でも、何でも有り得る訳です。今の場合は >指定ではパタン間距離に「重み付きユークリッド距離」を使えとのこと なので、「重み付きユークリッド距離」を使えばいい訳です。ところで >2次元特徴のパタン集合を分類してグラフィカルに表示する とのことなので、変数 x は2次元平面の横方向、変数 y は縦方向を表すとした方が分かりやすいでしょう。  このとき、j番目のクラスターの重心を Pj ≡(Xj,Yj)とすると、クラスター内の点 p ≡(x,y)と重心 Pj ≡(Xj,Yj)との間の「重み付きユークリッド距離」は、 d(p,Pj)^2 = wx (x - Xj)^2 + wy (y - Yj)^2 となります。両辺を d(p,Pj)^2 で割れば、これは楕円を表す方程式になります。  要するに、「重み付きユークリッド距離」は、普通のユークリッド距離と比較して、縦方向や横方向のデータ相関を考慮に入れてクラスタリングをしてみようとするものであることが分かります。 >重み係数wiをどのように設定すれば >いいのか分かりません.  ユーザは自分で重み係数wi(≡{wx, wy})をいろいろ変えて、クラスタリング結果がどうなるか見たいので、wi(i = x~y)はユーザ入力できるようにしておけというのが、 >パタン間距離に「重み付きユークリッド距離」を使え と指定してきた依頼者の意図だと思います。

iruka0913
質問者

お礼

ありがとうございました. お礼が遅くなってしまい,本当に申し訳ありません. 回答を活用させていただきました.

関連するQ&A

  • R言語のクラスタリングについて(kmeans)

    よろしくお願いします。R言語のクラスタリング結果の出力についての質問です。 10個のパラメータを持つデータの集合の解析を行っております。 データ数は10000です。 R言語にてk-means法を用いて5つクラスタリングを行いました。 この5つのクラスタそれぞれについて、そのクラスタに所属するデータをCSVで出力したいのですが どのような手段をとればよろしいでしょうか? たとえば、 $size で クラスタ1のサイズが1500だったときに、 その所属データの情報を10列、1500行のCSVで出力する方法がわかりません。 helpでvalueを見てみたのですが、$cluster[index]だとそのindexの所属するクラスタ番号が返されるだけなので、クラスタごとの出力になりません。 どなたかご教授お願いいたします。

  • 類似度 ユークリッド距離とコサイン尺度の統合

    類似楽曲検索を作ろうと考えています。 ある楽曲の音響信号の特徴量と似た楽曲を検索するシステムです。 検索するにあたって、ある3つの特徴量(A,B,C)を使うとします。 AとBの特徴量はコサイン尺度を用いて類似度を計算、 Cはユークリッド距離で計算し、最終的に一つの類似度を計算したいと考えているのですが どのような方法がありますか? 例えばすべてをコサイン尺度で計算すれば、 類似度=cos(Ai,Aj)+cos(Bi,Bj)+cos(Ci,Cj)   (cos(Ai,Aj)は楽曲iとjの特徴量Aにおけるコサイン尺度) のように和を類似度として使えると思うのですが、 コサイン尺度(-1から1までの値をとる)とユークリッド距離は(0以上の値をとる)を使う場合、単純に加算しただけではうまくいきません。 正規化、無次元化?をすればいいのでしょうが、具体的な方法がわかりません。 どなたかアドバイスお願いします。

  • クラスタリングについて

    研究でクラスタリングのk-means法を使ってみたいと思うのですが、アルゴリズムやサンプルプログラムの掲載されているHPや文献があれば教えてください。

  • 距離により次元が変化する関数

    距離により次元が変化する関数はないでしょうか? 例えば、3次元空間上の2点の距離は、 その2点の1つの座標(例えばZ軸の座標)が 同じなら、2次元空間の2点間の距離として 計算できますよね。 つまり、座標の条件によって、3次元 から擬似的に2次元空間の計算に 落とし込むことができているわけですよね。 こういった感じで、座標ではなく、距離に 次元が依存するようなもの、その可能性が あるものはないでしょうか?

  • 因子分析の結果、因子得点を使ったクラスタリングを行う際について

    広く一般的には、因子得点を階層分類(ウォード)や非階層分類(k-means)などを通してクラスター分析することが通例だと思いますが、質問です。 仮に因子分析の結果、4因子を抽出することができたとして、当然ですが各レコード(回答者)には4つの因子得点が付与されることになります。ここでレコードを分類(クラスタリング)する際、上記のような通例のクラスター分析を行わず、『単に、4因子をそのままクラスター特性と見なし、各レコードが持つ4因子得点のうち、最も高い得点をもつ因子(ここではそのままクラスター)に強制的に所属させる』という手法を用いた場合、どのような懸案が考えられるのでしょうか。 結果を解釈する上で、把握しておかなくてはいけない背景や知識があれば、と思います。 もっとも、因子分析ですとかクラスター分析の解釈自体が主観的なものですし、数学的・解析的に問題は無いと思いますが、ご意見伺いたいと思います。 勿論、最大値をとるとなると正の値に着目することになるので、負の値が特性を持つ場合に、その特性を無視してしまう、ということは承知の上です。 ただし、階層分類等を用いると、「因子得点が4つとも低いグループ」「因子得点が4つとも高いグループ」といった分類結果が見受けられ、クラスターの特性として傾向を見せにくい(「このクラスターはすべての因子に反応」とか「すべての因子に反応しない」など)ことが多々ありますので、このような質問をしている次第です。 有識者の方、ご意見をいただけれると幸いです。

  • クラスター分析について

    (1)階層型について:デンドログラムの図から、そのクラスター分けの信頼性、妥当性の判断というものができるかどうか (2)非階層型について:K-means法の具体例やデータはありませんでしょうか。URLもしくはこのようにやったら良いなどの方法、資料などありましたら教えてください。

  • カルバック・ライブラー擬距離を用いたk-近傍法

    お世話になっております。 件名の通り、カルバック・ライブラー擬距離を用いたk-近傍法(適応的k-近傍法?)について 理解したいのですが、ネットや文献で適切な資料が見つけられません。。 今回は、カルバック・ライブラー擬距離の定義については定義済みの扱いとし、 これを用いたk-近傍法の計算式を理解したいと思っています。 上記について、分かりやすく教えて頂けましたら幸いです。 また、説明が掲載されているURLや文献がありましたらご教授下さい。 以上、よろしくお願いいたします。

  • F値を求める際の焦点距離について

    F値を求める計算式において焦点距離の意味あいについて質問です。 F値は口径比の逆数、すなわち焦点距離÷有効口径で求められる…という計算式は理解できるのですが、この焦点距離の意味について調べると2通りの説があるように思えてきました。 1つは「無次元化の為の割り算」 wikipedia(http://ja.wikipedia.org/wiki/F%E5%80%A4)を初めとして目にするのがこちらの説明です。 もう1つは「焦点距離が長くなると像倍率が上がる=暗くなる」という説明です。 例)http://oshiete1.goo.ne.jp/qa2202693.html 例)http://aska-sg.net/shikumi/018-20060111.html >>レンズの明るさと焦点距離は、焦点距離が2倍になれば倒立像の面積は4倍になり、明るさは4分の1になります 無次元化の説明は理解できるのですが、「焦点距離によって明るさが変わる」という説明があまり理解できません。 この場合、被写体、カメラともに光源ではないので、焦点距離によって明るさは変化するのでしょうか? 疑問1) 上記2点の説明では、どちらが正しい説明となるのか分からなくなってしまいました。 疑問2) とどのつまり口径比を求める為の焦点距離での割り算は何を意味しているのでしょうか?(公式だから、というのは無しにして) カメラに関しては素人なので、勘違いもあるかと思いますがお知恵を拝借させて頂ければと思います。

  • 点と楕円の距離

    平面上に原点Oを中心とする楕円C:x^2/a^2+y^2/b^2=1と、楕円の外部にある点A(α,β)が与えられているとき、CとAの距離はいくらになるか?という問題です。どう考えたってただの条件付極値問題で、簡単なはずだと思ったのですが、とんでもない方程式が出てきます。計算機にやらせてみても目がくらむような式になります。これってそんなに難しい問題なのでしょうか?何か簡単に解く方法はありませんか? それから計算機にやらせてみた結果をみると平方根しか入っていません。ということは作図も可能に思いますが、簡便な作図法は知られているのでしょうか?

  • 数値計算での無次元化

    数値計算を行なおうと思っているのですが、無次元化がうまくいってないらしく計算もうまくいきません。このような場合、どのように無次元化すればよいでしょうか? 地上から、水平方向の距離 x,y, 鉛直方向の距離 z をそれぞれ50メートルとします。 この、50メートルを1、気温15℃での大気の密度1.225(kg/m^2)を1 とします。 このとき、 乾燥空気の気体定数 R = 287.04 J/K・kg 動粘性係数 ν = 1.54×10^-5 m^2 s K=ケルビン をどのような値にすればよいでしょうか?

専門家に質問してみよう