情報処理試験を勉強していると、「クラスタリングって結局何をしてるの?k-means法ってどう動くの?」と手が止まることがあります。
対象試験と出題頻度
クラスタリングは、基本情報技術者・応用情報技術者で出題されるテーマです。
機械学習の分類問題(教師あり学習・教師なし学習・強化学習の区別)として定番化しており、「クラスタリング=教師なし学習」の対応づけが問われます。
詳細をクリックして確認
基本情報技術者
応用情報技術者
★★★☆☆
ランクB(標準)覚えておくと有利
用語の定義
クラスタリング(Clustering)とは、一言で言うと
「正解ラベルなしのデータ群を、類似度に基づいて自動でグループ分けする教師なし学習の手法」
のことです。
イメージとしては、「バラバラに散らばったビーズを、色や形が似たもの同士で皿に仕分けする作業」です。
ビーズには「これは赤グループ」といったラベルが貼られていません。
人間が見た目の類似度だけで自然にまとめるのと同じことを、アルゴリズムが数値的な距離計算で行います。
📊 クラスタリングの基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Clustering |
| 分類 | 教師なし学習(Unsupervised Learning) |
| 代表的アルゴリズム | k-means法、階層的クラスタリング(ウォード法など) |
| 試験での位置づけ | 機械学習の3分類(教師あり・教師なし・強化学習)を問う問題で登場 |
解説
機械学習には大きく3つの学習方法があります。教師あり学習(正解付きデータで訓練する)、教師なし学習(正解なしでデータの構造を発見する)、強化学習(行動の報酬を最大化する)の3種類です。
クラスタリングはこのうち教師なし学習に属します。「あらかじめ答えが決まっていないデータ」に対して、データ間の距離や類似度を手がかりにグループを発見する手法です。
機械学習の3分類とクラスタリングの位置づけ
| 学習方法 | 特徴 | 代表的手法 |
|---|---|---|
| 教師あり学習 | 正解ラベル付きデータで訓練 | 回帰分析、分類(決定木、SVM など) |
| 教師なし学習 | 正解ラベルなしでデータの構造を発見 | クラスタリング(k-means法 など)、主成分分析 |
| 強化学習 | 行動に対する報酬を最大化するよう学習 | Q学習、方策勾配法 |
教師あり学習の「分類」と混同しやすいので注意してください。
分類(Classification)は「このデータは猫か犬か」のように正解ラベルがある前提で境界を学ぶのに対し、クラスタリングは正解がない状態でグループを自動発見する点が根本的に異なります。
k-means法のアルゴリズム
クラスタリングの代表的なアルゴリズムがk-means法です。「k個のグループに分ける」という意味で、手順は4ステップに集約されます。
k-means法の手順(k=3の場合)
初期セントロイドをランダムに配置
k個(ここでは3個)の「仮の中心点(セントロイド)」をデータ空間にランダムに置く。
各データを最も近いセントロイドに割り当て
すべてのデータについて、3個のセントロイドのうち最も距離が近いものを探し、そのグループに振り分ける。
セントロイドを再計算
各グループに所属するデータの平均値(重心)を計算し、その位置を新しいセントロイドとする。
収束するまで②③を繰り返す
セントロイドの位置が変化しなくなった(またはほぼ変化しなくなった)時点で終了。
図解:k-means法の動き(2次元データの例)
6個のデータ点を k=2 でグループ分けするイメージを示します。
図解:k-means法の動き(2次元データの例)
6個のデータ点を k=2 でグループ分けするイメージを示します。
Step 1:初期セントロイドをランダムに配置
データ点(●)はまだどのグループにも属していない。セントロイド(★)をランダムに2つ置く。
▼ 割り当て&再計算を繰り返す ▼
Step 2〜3 完了:グループが確定
各データが最寄りのセントロイドに割り当てられ、セントロイドが各グループの重心に移動して収束。
▲ 同じ6個のデータに対し、セントロイドが各グループの重心に収束した様子
k-means法の注意点
k-means法は直感的でシンプルなアルゴリズムですが、2つの弱点があります。
1つ目は、k(グループ数)を事前に決める必要がある点です。データの構造がわからない段階で「何グループに分けるか」を指定しなければなりません。
2つ目は、初期セントロイドの配置によって結果が変わる場合がある点です。ランダム配置のため、実行するたびに異なるグループ分けになる可能性があります。
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 クラスタリングの核心を3行で
・正解ラベルなしのデータを類似度に基づき自動でグループ分けする教師なし学習の手法
・代表的アルゴリズムのk-means法は「セントロイド配置 → 割り当て → 再計算」の繰り返しで収束させる
・教師あり学習の「分類(Classification)」とは正解ラベルの有無が根本的に違う
試験ではこう出る!
クラスタリングは、FE・APの午前問題で「機械学習の3分類」を問う問題に繰り返し登場しています。APでは午後のプログラミング問題としてk-means法のアルゴリズム自体が出題された実績もあります。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| AP R1秋 午前 問4 |
教師なし学習で用いられる手法を選ぶ問題。 | ・正解は「類似度に従ってグループ化するクラスタリング」 ・分離境界(教師あり)、モンテカルロ法、回帰分析がひっかけ |
| FE H31春 午前 問4 |
教師あり学習の説明を選ぶ問題。 | ・選択肢にクラスタリングが「教師なし学習」として登場 ・強化学習、協調フィルタリングとの区別が必要 |
| AP R3春 午後 問3 |
k-means法のアルゴリズムを疑似コードで実装するプログラミング問題。 | ・セントロイドの再計算、収束判定のロジックを穴埋め ・IPAの採点講評で「アルゴリズムの理解」が問われたと明記 |
| IP R6 問65 |
教師あり学習と教師なし学習の手法を正しく組み合わせる問題。 | ・「教師なし学習 + クラスタリング」の組み合わせが正解 ・回帰・分類との対応づけを入れ替えたひっかけ |
📝 IPA試験での出題パターン
パターン1:「教師なし学習の手法を選べ」
4つの手法の説明文が並び、教師なし学習に該当するものを選ぶ形式。ひっかけとして「分離境界を定めてパターン認識する」(教師あり学習のSVM等)、「回帰分析で予測する」(教師あり学習)が紛れ込む。キーワードは「類似度」「グループ化」「ラベルなし」。
パターン2:「教師あり/教師なし/強化学習の組み合わせを選べ」
各学習方法と代表手法の対応表が示され、正しい組み合わせを選ばせる形式。「クラスタリング=教師なし学習」を確実に対応づけられればOK。
試験ではここまででOKです。k-means法の計算手順まで問われるのはAPの午後問題に限られるので、FE受験者はアルゴリズムの深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. AIの機械学習における教師なし学習で用いられる手法として、最も適切なものはどれでしょうか?
- A. 入力と数値出力の対応関係を学習し、得られた近似曲線で未来予測を行う回帰分析。
- B. 個々の行動に対して報酬を与え、累積報酬が最大になるよう最適な方策を学習させる強化学習。
- C. データ同士の類似度を定義し、その類似度に従って似たもの同士を同じグループにまとめるクラスタリング。
正解と解説を見る
正解:C
解説:
クラスタリングは、正解ラベルを持たないデータ群に対し、データ間の類似度を基準にグループを自動形成する教師なし学習の代表的な手法です。AP R1秋 午前問4でもまさにこの定義が問われました。
選択肢Aの回帰分析は、入力と正解(数値出力)の対応を学習する教師あり学習の手法です。選択肢Bの強化学習は、教師あり学習とも教師なし学習とも異なり、エージェントが環境から受け取る報酬を最大化する方策を学ぶ方法であるため、クラスタリングとは別の枠組みに位置します。
よくある質問(FAQ)
Q. k-means法の「k」はどうやって決めるのですか?
実務では「エルボー法」がよく使われます。kの値を1, 2, 3…と増やしながら、各クラスタ内のデータとセントロイドの距離の合計(SSE:Sum of Squared Errors)を計算し、グラフにプロットします。SSEの減少が緩やかになる「肘」の位置が適切なkの目安です。IPA試験の午前問題ではkの決定方法まで問われることはないので、概念だけ知っておけば十分です。
Q. k-means法以外のクラスタリング手法にはどんなものがありますか?
階層的クラスタリング(ウォード法、群平均法など)が代表的です。k-means法と違い、事前にグループ数を指定する必要がなく、「デンドログラム(樹形図)」と呼ばれる図で段階的な結合過程を確認できます。そのほか、密度ベースのDBSCANという手法もあり、形状が不規則なグループの検出に向いています。IPA試験の範囲ではk-means法を押さえておけば得点に支障はありません。
Q. クラスタリングは実務のどんな場面で使われますか?
マーケティングにおける顧客セグメンテーションが代表例です。ECサイトの購買履歴をもとに顧客を「高頻度・高単価」「低頻度・低単価」などのグループに自動分類し、グループごとに施策を打ち分けます。他にも、ニュース記事の自動カテゴリ分け、異常検知(正常クラスタから外れたデータを異常とみなす)など幅広い分野で使われています。
Q. クラスタリングと「クラスタ構成(サーバの冗長化)」は関係ありますか?
まったく別の概念です。サーバの「クラスタ構成(クラスタリングシステム)」は、複数のサーバを連携させて可用性や処理性能を高める仕組みであり、データ分析の手法であるクラスタリングとは分野が異なります。IPA試験では両方が出題対象ですが、問題文を読めば文脈から判別できるので混乱する必要はありません。