1. 定義と概要
重心とは、あるクラスタに属するすべてのデータ点の座標を次元ごとに平均して得られる点であり、英語ではセントロイド(centroid)です。たとえば2次元データで(2,4)(4,6)(6,8)の3点が1つのクラスタを構成している場合、各軸の値を平均した(4,6)がそのクラスタの重心になります。クラスタの中心を表す仮想的な1点として、そのグループの特徴を代表する役割を担います。
教師なし学習(正解データを与えずにデータの構造を見つけ出す学習方法)の代表的な手法であるクラスタリングは、データの類似度に基づいてグループ分けを行います。非階層型クラスタリング(あらかじめ決めたクラスタ数にデータを一度に分ける手法)の代表がk-means法(データをk個のグループに自動的に分ける代表的な教師なし学習の手法)です。この手法は、各クラスタを1つの重心で代表させ、データ点を最も近い重心のクラスタに割り当てるという考え方をとります。
これに対して階層型クラスタリング(近いものから順に併合して階層構造を作る手法)でも、クラスタ同士の距離を測る指標の一つとして重心の位置が使われており、重心という概念はクラスタリング手法全般で共有される基礎になっています。
2. 試験対策ポイント
まず整理しておきたいのは、重心そのものの定義です。クラスタに属するデータ点の各次元の値を平均することで求まる点という理解と、セントロイドという呼び方は、あわせて整理しておきたいところです。
この定義を土台に、k-means法のアルゴリズムでは、データ点を最も近い重心のクラスタへ割り当てたあと、各クラスタの重心を計算し直す処理が繰り返されます。重心の位置が変化しなくなった時点でアルゴリズムは収束したとみなされ、この収束条件は試験における重要な論点です。
処理の流れを順に並べると、次の4段階になります。
| 手順 | 処理の内容 |
|---|---|
| 1 | 重心の初期位置をランダムに決める |
| 2 | 各データ点を最も近い重心のクラスタへ割り当てる |
| 3 | クラスタごとに重心を計算し直す |
| 4 | 重心の位置が変化しなくなるまで2と3を繰り返す |
割当てと再計算という2つの処理を交互に回し続けること、そして重心が動かなくなることが終了の合図になることが、この手法の骨格にあたります。
重心の初期位置はランダムに決まるため、初期値次第でクラスタリングの結果が変わってしまう初期値依存(最初にどこから始めるかによって結果が変わってしまう性質)という課題があります。
この課題を緩和する改良版として知られているのがk-means++(重心の初期位置を工夫して選ぶことで結果を安定させる改良版の手法)で、初期の重心同士をあらかじめ離れた位置に選ぶ工夫を持ちます。k-means法の弱点とその改良策は、重心の初期値をどう選ぶかという観点と並べて理解したいテーマです。この観点は試験対策としても重要です。
重心はデータの平均によって作られる仮想的な点であるため、外れ値(他のデータから大きく離れた値)の影響を受けやすいという弱点も持ちます。この点は、クラスタ内の実際のデータ点をそのまま代表点に選ぶメドイド(クラスタの中の実際のデータ点そのものを代表点に選ぶ考え方)と対になる比較の軸です。重心とメドイドのどちらを採用するかによって、外れ値への頑健性が大きく変わる関係にあります。
3. 関連概念との比較・相違点
重心という同じ語を使っていても、文脈によって役割が異なります。k-means法における重心は、割当てと再計算を繰り返しながら更新され続ける代表点そのものです。
一方、階層的クラスタリングにおける重心法(クラスタ同士をどれだけ近いとみなすかを重心の位置で判断する結合方法)は、クラスタ同士をどれだけ近いとみなすかを決める距離指標の一つとして重心の位置を使う手法を指します。最大の違いは、重心がアルゴリズムの中で動き続ける主役なのか、クラスタ間の距離を測るための道具なのかという点にあります。
メドイドとの最大の違いは、代表点をどう作るかという点にあります。重心は平均によって作られる仮想的な点であるのに対し、メドイドはクラスタ内の実際のデータ点そのものを代表点に選びます。両者を並べると、次のように整理できます。
| 代表点 | 作り方 | 外れ値への強さ |
|---|---|---|
| 重心(セントロイド) | クラスタ内のデータ点の座標を次元ごとに平均した仮想的な点 | 平均に基づくため影響を受けやすい |
| メドイド | クラスタ内の実際のデータ点そのものを選ぶ | 実際のデータ点のため頑健になりやすい |
この違いにより、外れ値を含むデータではメドイドのほうが頑健な結果になりやすいという関係が生まれます。
4. ビジネス・実務での活用シナリオ
マーケティング・顧客分析の分野では、購買金額や来店頻度といった数値データをk-means法でクラスタ化し、各クラスタの重心をそのセグメントの典型的な顧客像を示す代表値として使います。重心の値からどの顧客層にどのような施策を届けるべきかを検討する材料が得られ、セグメントごとの施策設計につながります。
画像処理の分野では、画像を構成する各ピクセルの色をk-means法でクラスタ化し、各クラスタの重心にあたる代表色へ置き換える減色処理(画像の色数を代表色にまとめて減らす処理)に重心が使われています。色の情報量を絞り込むことで、画質の劣化を抑えながらファイルサイズの削減につなげる効果があります。
物流・店舗立地の分野でも重心は活用されています。配送先や来店客の位置データをクラスタ化し、各クラスタの重心を求めることで、拠点や店舗の候補地点を検討する材料として使われます。実際の位置データをもとに重心を割り出すことで、勘に頼らない立地選定の根拠になります。
5. 要点まとめ
- 重心(セントロイド)はクラスタに属するデータ点の座標を次元ごとに平均した点で、k-means法の中核要素になっています。
- k-means法では重心の計算とクラスタの再割当てを、重心が動かなくなるまで繰り返す点が柱になります。
- 重心は平均に基づく仮想的な点のため外れ値の影響を受けやすく、実データ点を使うメドイドや初期値を工夫するk-means++との違いが試験対策として重要です。
6. 確認問題
問1重心とは、あるクラスタに属するデータ点の各次元の値を平均することで求められる点である。
解答・解説をみる
○ 正しい
重心はセントロイドとも呼ばれ、クラスタ内のデータ点の座標を次元ごとに平均した位置として計算されます。この定義とセントロイドという呼び方はあわせて押さえておく必要があります。
問2k-means法では、データ点の再割当てを行うたびに各クラスタの重心を再計算し、重心の位置が変化しなくなった時点で処理を終了する。
解答・解説をみる
○ 正しい
重心が動かなくなることがk-means法の収束条件になります。割当てと重心の再計算を交互に繰り返す仕組みが試験の論点になります。
問3重心はクラスタに含まれる実際のデータ点の中から選ばれるため、外れ値の影響を受けにくい。
解答・解説をみる
× 誤り
重心は実データ点ではなく、データの平均によって作られる仮想的な点であるため外れ値の影響を受けやすい性質があります。正しくは、実データ点を代表点に採用して外れ値に頑健な手法はメドイド(k-medoids)であり、この逆向きの記述は取り違えやすい典型です。

