結論
k-means法は、あらかじめ決めたk個の重心にデータを割り当て、重心を計算し直す手順を繰り返して分ける非階層的な手法です。階層的クラスタリングは、近いデータやクラスタを順に併合して入れ子の構造を作る手法で、結果をデンドログラムに表し、クラスタ数を後から選べます。
比較表
| 観点 | k-means法 | 階層的クラスタリング |
|---|---|---|
| 分類 | 非階層的クラスタリング | 階層的クラスタリング(凝集型と分割型がある) |
| クラスタ数 | 最初にkを指定する(エルボー法などが目安) | 最初に決めなくてよい。デンドログラムを切る高さで後から選ぶ |
| 手順 | 最も近い重心への割り当てと、平均による重心の再計算を繰り返す | 最も近いクラスタの組を1つずつ併合していく(凝集型) |
| 結果の安定性 | 初期の重心の置き方に左右され、実行のたびに変わることがある | 同じデータと同じ距離の定義なら、基本的に同じ結果になる |
| クラスタ数を変えたときの関係 | kごとに計算し直すので、入れ子になるとは限らない | 切る高さを変えても、クラスタは入れ子の関係を保つ |
| 計算の負担 | 比較的軽く、件数の多いデータに向く | 全データの組の距離を扱うため、件数が増えると計算量とメモリの負担が大きい |
| 分析者が選ぶもの | kと初期の重心の決め方(k-means++など) | クラスタ間の距離の定義(最短距離法、最長距離法、群平均法、ウォード法など) |
| シラバス項目 | 技術分野 項目8 教師なし学習(キーワード「k-means法」) | 技術分野 項目8 教師なし学習(キーワード「ウォード法」「デンドログラム(樹形図)」) |
最終確認日:2026年10月30日
それぞれの説明
k-means法と階層的クラスタリングは、どちらも正解ラベルのないデータを、似たものどうしのグループ(クラスタ)に分ける教師なし学習の手法です。違いは、クラスタをどう作るかと、クラスタ数をいつ決めるかにあります。
k-means法
k-means法は、非階層的クラスタリングの代表です。まずクラスタ数kを決め、k個の重心を置きます。各データを最も近い重心のクラスタに割り当て、クラスタごとの平均で重心を計算し直します。この2つの手順を、割り当てが変わらなくなるまで繰り返します。
計算が軽く、件数の多いデータにも使いやすいのが長所です。一方、kは分析者が先に決める必要があり、結果は初期の重心の置き方に左右されます。初期値を変えて何度か実行し、クラスタ内の平方和が最も小さい結果を選ぶのが一般的です。
階層的クラスタリング
よく使われる凝集型では、データ1件ずつを1つのクラスタとして始め、最も近いクラスタの組を1つずつ併合していきます。全体が1つにまとまるまで続け、併合の過程を木の形のデンドログラム(樹形図)に描きます。
デンドログラムをどの高さで切るかで、クラスタ数を後から選べます。クラスタ間の距離の定義には、最短距離法、最長距離法、群平均法、ウォード法などがあり、どれを選ぶかで結果が変わります。ウォード法は、併合したときのクラスタ内の平方和の増加が最も小さい組を選ぶ方法です。
すべてのデータの組の距離を扱うため、件数が多いと計算量やメモリの負担が大きくなります。件数が少なく、まとまり方の全体像を図で確かめたい場面に向いています。
見分けるコツ
- クラスタ数を最初に決めるならk-means法、後から決めるなら階層的クラスタリングです。デンドログラムが出てきたら、階層的クラスタリングの話です。
- 件数が多いデータを手早く分けるならk-means法、件数が少なく、まとまり方の全体像を図で確かめたいなら階層的クラスタリングが向きます。
- ウォード法は、k-means法と同じくクラスタ内の平方和に着目しますが、階層的クラスタリングの一種です。名前や考え方の近さで分類を取り違えないようにします。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
凝集型の階層的クラスタリングでは、一度併合したクラスタが、その後の手順で別々のクラスタに分け直されることはない。
答えを見る
答え ◯ 正しい
凝集型は、近い組を順に併合していくだけで、前の併合を取り消しません。重心が動くたびに各データの所属を割り当て直すk-means法とは、この点が異なります。
-
階層的クラスタリングで、クラスタ数を3から5に変えて結果を見直したい場合は、デンドログラムを切る高さを変えればよく、併合の計算をやり直す必要はない。
答えを見る
答え ◯ 正しい
併合の過程はデンドログラムにすべて残っています。低い位置で切ればクラスタ数が増え、高い位置で切れば減ります。
-
k-means法でk=2とk=3の結果を比べると、k=3のクラスタは、必ずk=2のクラスタのどれか1つを2つに分けたものになっている。
答えを見る
答え × 誤り
k-means法はkごとに独立に計算するので、kを変えるとクラスタの境界がまったく別の位置に引かれることがあります。必ず入れ子になるのは、階層的クラスタリングを異なる高さで切った場合です。
関連問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目8 教師なし学習)
- Stuart P. Lloyd, Least Squares Quantization in PCM, IEEE Transactions on Information Theory 28(2), 129–137 (1982)
- Joe H. Ward Jr., Hierarchical Grouping to Optimize an Objective Function, Journal of the American Statistical Association 58(301), 236–244 (1963)
- scikit-learn User Guide, Clustering(K-means / Hierarchical clustering)
ほかの違い比較
- アジャイルとウォーターフォールの違い 進め方とAI開発での使い分け
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い 罰則の重さ
- バギングとブースティングの違い 並列か逐次か、減らす誤差の違い
- バッチ正規化とレイヤー正規化の違い 平均と分散を計算する範囲の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い 更新回数とぶれ
- BERTとGPTの違い エンコーダとデコーダ、学習課題の違い
- CBOWとスキップグラムの違い 予測の向きと学習の速さ
- 分類問題と回帰問題の違い 出力の形で見分けるコツと評価指標
- CNN・RNNとTransformerの違い 得意なデータと計算の並列性
- 協調フィルタリングとコンテンツベースフィルタリングの違い 仕組み
- 共分散と相関係数の違い 式の関係と単位・値の範囲
- データ汚染とAdversarial Attackの違い 学習時か推論時かと対策
- 決定木とランダムフォレストの違い 解釈のしやすさと精度・安定性
- 深さ優先探索と幅優先探索の違い 調べる順番・最短解・メモリ
- 営業秘密と限定提供データの違い 3つの要件と刑事罰の有無
- Faster R-CNNとYOLOの違い 2段階型と1段階型、速度と精度
- GANと拡散モデル(Diffusion Model)の違い 学習と生成の仕組み
- GANとVAEの違い 識別器の有無と学習の仕組み
- GDPRと個人情報保護法の違い 法的根拠・本人の権利・制裁金
- 勾配降下法と誤差逆伝播法の違い 勾配を使う側と求める側
- グリッドサーチとランダムサーチの違い 試行回数の決まり方と効率
- ホールドアウト検証と交差検証の違い 分割回数・計算量・使い分け
- 画像分類(物体識別)と物体検出の違い 出力の形と使い分け
- 委託・第三者提供と共同利用の違い 同意の要否と受け手が使える範囲
- 個人情報・個人データと保有個人データの違い 範囲の入れ子とかかる義務
- 個人情報と個人識別符号の違い 包含関係と当たる例・当たらない例
- L1正則化とL2正則化の違い 罰則の形と重みが0になるか
- 最小二乗法と最尤法の違い 推定の基準と結果が一致する条件
- LIMEとSHAPの違い 局所近似とシャープレイ値の使い分け
- LSTMとGRUの違い ゲートの数と記憶セルの有無
- 機械学習とディープラーニングの違い 包含関係と特徴量の決め方
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い 外れ値への強さ
- 正規化と正則化の違い 目的と代表的な手法を表で整理
- 主成分分析(PCA)と特異値分解(SVD)の違い 目的と計算の関係
- 主成分分析(PCA)とt-SNEの違い 線形か非線形か、保つ構造の違い
- 適合率と再現率の違い 分母の違いと重視する場面
- プルーニング・量子化と蒸留の違い 何を減らすかと元モデルの扱い
- Q学習とSARSAの違い 更新式の1か所と方策オン・オフ
- RNNとLSTMの違い 記憶セルと勾配消失の起きにくさ
- Self-AttentionとSource-Target Attentionの違い Q・K・Vの出どころ
- セマンティック・インスタンスとパノプティックの違い 背景と個体の扱い
- 新規性と進歩性の違い 比べ方とAI発明での論点
- シグモイド関数とソフトマックス関数の違い 出力の合計と使い分け
- ソフトローとハードローの違い 法的拘束力の有無と日本・EUの例
- 強いAIと弱いAIの違い 心をもつと考えるかの違い
- 教師あり学習・教師なし学習と強化学習の違い 学習の手がかりと代表例
- 特許権と著作権の違い 発生・保護対象・期間とAIでの使い分け
- 匿名加工情報と仮名加工情報の違い 加工の程度と第三者提供の可否
- 転移学習とファインチューニングの違い 重みを固定するか更新するか
- 請負契約と準委任契約の違い 完成義務とAI開発での使い分け
- Zero-shotとFew-shotの違い 与える例の数と重みを更新しない点