Kメドイド法とは

Kメドイド法(K-medoids法)とは、機械学習における教師なし学習アルゴリズムの一種であり、データセットを事前に指定されたK個のクラスターに分割するクラスタリング手法です。

K-means法がクラスターの中心を「平均(重心)」で決定するのに対し、Kメドイド法はクラスターの中心を、実際に存在するデータポイントである「メドイド(medoid)」で決定することに特徴があります。これにより、外れ値の影響を受けにくい頑健なクラスタリングが可能になります。

Kメドイド法の基本的な概念

Kメドイド法は、K-means法と同様に、データの特徴に基づいて類似したデータポイントをまとめることを目的としています。しかし、K-means法がクラスターの代表点としてデータの平均値を用いることで、極端な外れ値に引きずられてクラスターの中心が不適切になる可能性があるのに対し、Kメドイド法は必ず実際のデータポイントの中からクラスターの中心を選びます

主な概念は以下の通りです。

  1. クラスター(Cluster): Kメドイド法によって分類されるデータのグループです。各クラスターは、互いに似た性質を持つデータポイントの集まりであると想定されます。
  2. メドイド(Medoid): 各クラスターの中心を表す代表点です。Kメドイド法におけるメドイドは、そのクラスターに属するデータポイントの中で、最も他のデータポイントからの距離の合計が小さい、すなわち最も「中央」に位置するデータポイントそのものを指します。K-means法における仮想的な中心点(セントロイド)とは異なり、メドイドは常にデータセット内の実データポイントのいずれかになります。
  3. 距離尺度(Distance Metric): 各データポイントがどのクラスターに属するかを決定するため、またメドイドを更新するために、データポイント間の「距離」を計算します。K-means法でよく用いられるユークリッド距離の二乗和だけでなく、マンハッタン距離(L1ノルム)やユークリッド距離(L2ノルム)など、より多様な距離尺度を適用できる柔軟性があります。特にマンハッタン距離は外れ値の影響を受けにくい特性があります。
  • ユークリッド距離:

d(x,y)=∑i=1n​(xi​−yi​)2​

  • マンハッタン距離:

d(x,y)=∑i=1n​∣xi​−yi​∣

  1. Kの値: ユーザーが事前に指定する必要がある、最終的に分割したいクラスターの数です。

Kメドイド法(PAM: Partitioning Around Medoids)の動作原理

Kメドイド法(最も代表的なアルゴリズムはPAM: Partitioning Around Medoids)は、K-means法と類似した反復的な手順でクラスタリングを行います。

  1. ステップ1: 初期メドイドの選択: データセットの中からK個のデータポイントをランダムに初期メドイドとして選択します。より良い初期値を選択するための改良手法(例: K-medoids++)も存在します。
  2. ステップ2: データポイントの割り当て: データセット内の各データポイントについて、K個のメドイドのうち、最も距離が近いメドイドが属するクラスターにそのデータポイントを割り当てます。
  3. ステップ3: メドイドの更新: 各クラスターに割り当てられたデータポイントの中から、そのクラスター内の他のすべてのデータポイントからの距離の合計が最小になるデータポイントを新しいメドイドとして選択し、更新します。 具体的には、あるクラスター $C_j$ に属するデータポイント群があるとして、現在のメドイドを $ m_j $ とします。次に、そのクラスター内の他のデータポイント $p \in C_j $ ($p \neq m_j $)を仮の新しいメドイドとして選び、その $p $ からクラスター内の全てのデータポイントへの距離の合計 $\sum_{\mathbf{x}_i \in C_j} d(\mathbf{x}_i, \mathbf{p}) $ を計算します。この合計値が最も小さくなる $ p $ を、新しいメドイドとして採用します。
  4. ステップ4: 収束の判定: ステップ2とステップ3を、メドイドの位置が変化しなくなるまで(または、事前に設定した最大反復回数に達するまで)繰り返します。メドイドが移動しなくなったら、アルゴリズムは収束したとみなされます。

Kメドイド法とK-means法の違い、およびメリット・デメリット

Kメドイド法はK-means法と非常に似ていますが、中心の定義が異なることで、それぞれ異なる特性を持ちます。

特徴K-means法(K平均法)Kメドイド法(K-medoids法)
クラスターの中心平均値(セントロイド):仮想的な点実データ点(メドイド)
最適化対象クラスター内総平方和(SSE: Sum of Squared Errors)の最小化クラスター内のデータ点と中心間の距離の合計(SAE: Sum of Absolute Errors)の最小化
距離尺度主にユークリッド距離の二乗マンハッタン距離など、より柔軟な距離尺度も適用可能
外れ値への影響比較的受けやすい(平均値が引きずられるため)頑健性が高い(中央値やメドイドは外れ値の影響を受けにくい)
計算コスト比較的低いK-means法より高い(特にメドイドの選択プロセス)
クラスターの形状球状のクラスターを仮定しやすい球状の仮定はK-meansほど強くないが、同様に非凸形状には不向き
解釈性中心が仮想的な点であるため、直感的な解釈が難しい場合があるメドイドが実際のデータポイントであるため、解釈がしやすい
Kメドイド法とK-means法の違い、およびメリット・デメリット

Kメドイド法のメリット

  • 外れ値への頑健性(ロバスト性): K-means法が平均値を用いるため外れ値に敏感なのに対し、Kメドイド法は実際のデータ点であるメドイドを用いるため、データに外れ値が含まれていても、メドイドが極端に外れ値に引きずられることなく、より安定したクラスタリング結果を得やすいです。
  • 代表点の解釈性: クラスターの中心が必ず実際のデータポイントであるため、そのクラスターの典型的なサンプルとして解釈しやすく、例えば「この顧客グループを代表する顧客はAさん」といった具体的な説明が可能です。
  • 任意の距離尺度の適用: K-means法はユークリッド距離の二乗に最適化されていますが、Kメドイド法はマンハッタン距離など、より柔軟な距離尺度や非類似度メトリックを適用できるため、様々な種類のデータに適応できます。
  • カテゴリカルデータへの適用可能性: 数値データだけでなく、適切な距離尺度を定義すればカテゴリカルデータにも適用可能です。

Kメドイド法のデメリット

  • 計算コストの高さ: K-means法に比べて、メドイドを決定するステップの計算コストが高くなる傾向があります。特にK-medoids法では、各クラスター内の全てのデータポイントの組み合わせを評価して最適なメドイドを見つけるため、データポイント数が多い大規模なデータセットでは計算に非常に時間がかかることがあります。
  • Kの事前指定: K-means法と同様に、クラスタリングの前にクラスター数Kを事前に指定する必要があります。
  • 初期値への依存: 初期メドイドの選択によって最終的なクラスタリング結果が異なる場合があります。

Kメドイド法の応用

Kメドイド法は、K-means法と同様に様々な分野で活用されますが、特に外れ値の存在が懸念されるデータや、クラスターの中心が具体的なデータポイントであることが望ましい場合に有効です。

  • 顧客セグメンテーション: 購買履歴や行動データに外れ値となる顧客(例:極端に高額な購買者やほとんど購入しない顧客)が含まれる場合でも、より安定した顧客グループを識別できます。また、各顧客セグメントの代表的な顧客を「メドイド」として特定できるため、マーケティング戦略に役立ちます。
  • 異常検知: 通常のパターンから大きく外れたデータポイントを異常として特定する前段階として、データ全体の構造を把握するために利用されます。平均値に影響されない中心を用いることで、より正確な異常検知が可能になります。
  • 位置最適化問題: 物流拠点の最適配置や、サービスセンターの場所選定など、実際の地理的な地点が中心として選ばれることが望ましい場合に適しています。
  • 画像処理: ピクセル値にノイズが多い画像データなどで、より頑健な色やテクスチャのクラスタリングを行いたい場合。
  • バイオインフォマティクス: 遺伝子発現データの分類など、生物学的データセット内のパターンと関係を識別するために利用されます。

Kメドイド法(K-medoids法)は、K-means法と同様に、データをK個のクラスターに分割する教師なし学習のクラスタリングアルゴリズムです。しかし、クラスターの中心を「実際のデータポイント(メドイド)」で決定する点が大きく異なります。これにより、K-means法が外れ値の影響を受けやすいという課題を克服し、より頑健なクラスタリング結果をもたらすことができます。また、クラスターの代表点が具体的なデータポイントとして提示されるため、結果の解釈性が高いというメリットもあります。その反面、K-means法に比べて計算コストが高いというデメリットが存在します。外れ値が存在するデータや、クラスターの中心が実データであることが重要な応用例において、Kメドイド法は非常に有用なツールとなります。

関連用語

教師なし学習 | 今更聞けないIT用語集
k-means法 | 今更聞けないIT用語集
AIソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。