
今,k-means法を使ったクラスタリングプログラムを作っています.
2次元特徴のパタン集合を分類してグラフィカルに表示するものです.
wikipediaによると,k-means法は
(1)各パタンをランダムにN個のクラスタに分類
(2)各クラスタの中心を計算
(3)全パタンについて中心との距離を計算し,一番近いクラスタに割り当て
(4)割り当てに変化がなければ終了,変化があれば(2)へ
のように書いてあり,自分も理解できていたつもりだったのですが,
ステップ(3)の「全パタンについて中心との距離を計算し…」という
部分が作れなくて困っています.
指定ではパタン間距離に「重み付きユークリッド距離」を使えとのこと
だったのですが,自分は2パタン間で重み付きユークリッド距離が
使えるというところが理解できていません.
2次元なので,単純に距離ならばユークリッド距離を使えばいいと
思っていたんですが.
ネットで調べたところ,
・d^2 = Σ wi (xi - yi)^2
という式は見つかったのですが,重み係数wiをどのように設定すれば
いいのか分かりません.
非常に初歩的な質問をしているのだと思いますが,
教えていただけると嬉しいですm(_ _)m
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)はユーザ入力できるようにしておけというのが、
>パタン間距離に「重み付きユークリッド距離」を使え
と指定してきた依頼者の意図だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAでユークリッド距離を用いて1番近い物を表示 表 裏 縦 横 高さ 縦 横 高さ 名前 1 45 9 2022/10/23 16:52
- 物理学 放物の飛距離の計算 2 2022/06/14 01:42
- 物理学 時計の進み方は、地表より地球の中心の方が遅いですか? 2 2023/01/07 07:01
- 失恋・別れ 彼と距離を置く 別れ話をされ、別れたくはない(重い感じになるとよくないなと思ったのでできるだけサラッ 6 2022/04/11 07:56
- 物理学 時間を語るなら、(複数の時間の正体)を知る必要が有る。 1 2023/02/16 22:14
- ウォーキング・ランニング ウォーキングにおける歩幅について 歩いた距離と歩数をカウントし 距離m÷歩数×100 歩数は約72セ 2 2022/07/03 15:21
- 物理学 物理この問題教えてください バネ振り子のエネルギー保存則で、 おもりを離すとその後、自然長の位置を中 2 2023/01/23 00:23
- 数学 どうやって材料を積み上げればよいか。 3 2023/05/15 22:18
- 統計学 加重平均を用いた運搬距離の算出をしたいです。 1 2022/08/10 09:10
- 物理学 速度とは何か? 7 2023/04/16 13:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
EXCELなどで「返す」という表現
-
変化させるセルが変化しない
-
エクセルで特定のセルのみを任...
-
CとFORTRANの計算速度はどちら...
-
モジュロ
-
バッチファイルでウインドウを...
-
Visual C++でdebugとreleaseで...
-
y=(x^2 +3x+1)^4を微分の定義を...
-
入射角反射角
-
スレッド処理からダイアログを...
-
60進数の四則計算
-
Javaと他言語比較について
-
VBAで関数をつくる
-
C言語 Σをつかったプログラム
-
CRC8を教えてください
-
C言語についてです。 再帰を使...
-
C言語について 下の画像は do-w...
おすすめ情報