忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【DS検定対策】クラスタの「近さ」はどう測る?階層型クラスタリングの距離計算まとめ

データを似たもの同士のグループに分ける「クラスタリング」。その中でも、トーナメント表のような樹状図(デンドログラム)を作る「階層型クラスタリング」では、グループ(クラスター)同士の【距離】をどう定義するかが非常に重要です。手法ごとの違いをスッキリ整理しましょう!

1. 【 問題 】

階層型クラスタリングにおいて、2つのクラスター同士の距離を定義する方法のうち、「それぞれのクラスターに含まれるすべてのデータペア間の距離の平均」をそのクラスター間の距離とする手法の名称として、最も適切なものはどれでしょうか?

① 最短距離法(単連結法)
② 最長距離法(完全連結法)
③ 群平均法
④ ウォード法


2. 【 解答 】

正解: ③ 群平均法

3. 整理:クラスター間距離の5大手法と特徴

試験で問われるのは、各手法の「定義」と「どんなクラスタができやすいかという特徴」です。以下の表で一撃でマスターしましょう!

手法名距離の定義実務上の特徴・性質
最短距離法
(単連結法)
2つのクラスタの中で、最も近いデータ同士の距離を採用する。 データが鎖のようにつながる「鎖状効果(チェーン効果)」が起きやすく、細長いクラスタになりやすい。
最長距離法
(完全連結法)
2つのクラスタの中で、最も遠いデータ同士の距離を採用する。 鎖状効果は起きにくいが、外れ値(異常値)の影響を非常に強く受けやすい。
群平均法 2つのクラスタにあるすべてのデータペアの距離の平均を採用する。 最短と最長の中間的な性質を持ち、比較的バランスの良いクラスタリングができる(外れ値にもやや強い)。
重心法 各クラスターの「重心(平均ベクトル)」同士の距離を採用する。 計算効率が良いが、クラスタが合体したときに「前の段階より距離が短くなる(矛盾が生じる)」現象(逆転現象)が起きることがある。
ウォード法
★試験最頻出!
クラスタを合体させたときの「クラスター内の分散の増加量」が最も小さくなるように選ぶ。 計算量は多いが、サイズが均等で球状の綺麗なクラスタを作りやすいため、実務で最もよく使われる。

4. なぜ使い分けが重要なのか?(DS実務の視点)

階層型クラスタリングは、データ間の距離行列さえあれば計算できるため非常に強力ですが、上記のように「どの距離を採用するか」で結果の解釈が180度変わります。
例えば、マーケティングで「似たような購買傾向の顧客グループ」を綺麗に等分割したいときはウォード法が第一候補になりますし、逆に「不正アクセス検知」や「異常値の検出」のように、孤立した変なデータを見つけ出したいときには最短距離法が役に立つことがあります。データの分布や分析の目的に応じて手法を選択するセンスが、データサイエンティストには求められます。


5. DS検定形式:実戦4択クイズ

問:階層型クラスタリングの距離計算手法において、「クラスターを結合した際の『クラスター内平方和(分散)』の増加量が最小になるものから順に結合していく」という特徴を持ち、ノイズに比較的強く、データの個数が同程度に揃った球状のクラスタを形成しやすい、実務で最も一般的に用いられる手法はどれか。

① 最短距離法   ② 重心法   ③ メドイド法   ④ ウォード法

【 正解: ④ 】

解説: 受験生が絶対に落としてはいけない**「ウォード法」**に関する超頻出問題です。 「分散の増加量を最小にする」「球状の綺麗なクラスタを作る」というキーワードが出てきたら、迷わずウォード法を選べるように頭のインデックスを整理しておきましょう!


6. まとめ

階層型クラスタリングのクラスター間距離は、「最短」「最長」「群平均」はその名の通りの定義なので覚えやすいですが、試験で得点差になるのは「重心法(逆転現象のリスク)」と「ウォード法(分散の増加量最小・実務で最強)」の2つです。それぞれの距離の測り方が持つ「クセ」を理解して、試験の選択肢を確実に撃破しましょう!

PR

【DS検定】AIは本当に「意味」を理解しているのか?「中国語の部屋」の問いかけ

驚異的な賢さを見せる現代の生成AI(LLM)ですが、彼らは本当に言葉の「意味」を理解しているのでしょうか?それとも単に確率の計算をしているだけなのか?AIの歴史に深く刻まれる有名な思考実験「中国語の部屋」から、その本質を考えてみましょう。

1. 【 問題 】

アメリカの哲学者ジョン・サールが提唱した、人工知能がどれほど人間らしく、適切な対話(応答)を行えたとしても、それは「事前に定義された規則(ルールブック)に従って記号を機械的に変換・処理しているだけ」であり、AI自身がその言葉の「意味」を本当に理解しているわけではない、ということを批判的に指摘した有名な思考実験の名称は何でしょうか?

① トラックの部屋
② チューリングの部屋
③ 中国語の部屋(Chinese Room)
④ エルミートの部屋


2. 【 解答 】

正解: ③ 中国語の部屋(Chinese Room)

3. 整理:「中国語の部屋」の仕組みとストーリー

この思考実験の状況を頭の中でイメージしてみると、現代のAIと人間の関係がそのまま見えてきます。

【 思考実験のシチュエーション 】

1. 密室に閉じ込められた人:中国語を一切読めない・話せない「英語圏の人間」が部屋にいます。
2. 完璧なマニュアル(ルールブック):部屋の中には、「この中国語の文字(記号)が来たら、この中国語の文字を並べて返しなさい」という、膨大かつ完璧な英語の指示書(マニュアル)が用意されています。
3. 外からの入力:部屋の外にいる「ネイティブの中国語話者」が、スリットから中国語の手紙(質問)を差し込みます。
4. 部屋の中での処理:中の人は、文字の意味は1ミリも分かりませんが、マニュアル通りに記号を照合し、指示された中国語の文字を並べ替えて外に返します。

サールが言いたかった結論:
外から見れば、完璧な中国語の返事が返ってくるため、まるで「部屋の中に中国語を完璧に理解している知的な存在がいる」ように見えます。しかし、実際の中にいる人間は、中国語を一切理解していません。
ジョン・サールはこれと同じように、コンピュータやAIがどれほど人間らしい素晴らしい回答を返してきたとしても、それは「プログラム(マニュアル)に従って記号(データ)を処理しているだけ」であり、AI自身には心も、意味の理解も伴っていないと主張したのです。


5. DS検定形式:実戦4択クイズ

問:この「中国語の部屋」の思考実験は、人工知能の分類におけるある2つの概念の違いを説明するためによく引用される。人間と同等の、またはそれを超える柔軟な「心」や「自己意識」「本当の意味理解」を持つ人工知能の概念(A)と、特定の限定されたタスクを処理するためだけの道具としての人工知能の概念(B)の組み合わせとして、最も適切なものはどれか。

① (A)強いAI(Strong AI)   /   (B)弱いAI(Weak AI)
② (A)汎用型AI   /   (B)超人工知能(ASI)
③ (A)シンギュラリティ   /   (B)エキスパートシステム
④ (A)コネクショニズム   /   (B)記号主義

【 正解: ① 】

解説: 人工知能の根底にある定義問題です。サールは「中国語の部屋」を用いて、人間のように心や真の理解を持つ「強いAI(Strong AI)」はコンピュータの記号処理の延長線上では実現不可能であり、私たちが目にするものはすべて、特定の処理をシミュレートしているだけの「弱いAI(Weak AI)」に過ぎない、と論じました。現代のLLM(大規模言語モデル)の限界やハルシネーションを議論する際にも、この「強いAI / 弱いAI」の視点が非常に重要視されています。


6. まとめ

DS検定やG検定といった各種試験において「記号処理と真の意味理解を区別する、ジョン・サールの思考実験」という主旨が出題されたら、正解は「中国語の部屋」です。現代のLLMがやっている「トークンの確率予測」の本質を、数十年前から見事に予言していた不朽の名作ですので、AI倫理の教養としてカチッと整理しておきましょう!


【Qiskit】はじめての量子回路構築:Hゲートを可視化する

量子コンピュータの基礎である「量子回路」を実際に組んでみます。今回は最も基本的な操作である「アダマールゲート(H)」を適用し、量子ビットを重ね合わせ状態にする回路を作成し、その構造を可視化してみます。

1. サンプルコードの作成

Qiskitの QuantumCircuit を使い、1量子ビットの回路を定義してHゲートを配置します。以下の内容を sample1.py として保存しました。

from qiskit import QuantumCircuit

# 1量子ビットの量子回路を作成
qc = QuantumCircuit(1)

# アダマールゲート(H)を適用して重ね合わせ状態にする
qc.h(0)

# 回路をテキスト形式で描画して表示
print(qc.draw(output='text'))

2. 実行結果

ターミナルでスクリプトを実行すると、以下のように量子回路が視覚的に表示されます。

% python sample1.py
     ┌───┐
 q: ┤ H ├
     └───┘

3. この結果が意味するもの

表示された図は、量子ビット q に対して H(アダマールゲート)が適用されていることを表しています。初期状態が |0⟩ であれば、このゲートを通過することで、量子力学特有の「0と1の重ね合わせ状態」へと変換されます。

量子回路の可視化成功!
テキストベースの描画により、回路の構造を一目で確認できるようになりました。

次のステップ

回路の構造を確認できるようになったので、次は「測定(Measure)」を追加して、確率的に 0 や 1 が出力される様子をシミュレーションで確認していきたいと思います。


【Qiskit】macOS Sequoiaに最新環境を構築

量子コンピュータのプログラミングフレームワークである「Qiskit」を、現在のMiniconda環境に直接インストールしました。今回は、複雑な環境分離を行わず、ベース環境に直接ライブラリを追加する最短の手順を整理します。

0. 現在の検証環境

作業を行うMacおよびPython環境の構成は以下の通りです。この環境へQiskit最新版(2.5.0)を導入します。

OS: macOS Sequoia 15.7.7
Python: 3.13.5

1. Qiskitのインストール

ターミナルから以下のコマンドを実行し、インストールを行いました。依存関係のあるライブラリ(rustworkx, dill, stevedore等)を含めて自動的にセットアップされます。

% pip install qiskit
Collecting qiskit
  Downloading qiskit-2.5.0-cp310-abi3-macosx_11_0_arm64.whl.metadata (14 kB)
...
Successfully installed dill-0.4.1 qiskit-2.5.0 rustworkx-0.18.0 stevedore-5.9.0

2. インストール確認用の検証コード

インストール完了後、Pythonインタープリタを立ち上げ、ライブラリが正しくロードできているかをバージョン出力で確認します。

import qiskit
from qiskit import __version__

print(f"Qiskit version: {__version__}")

3. インストールの実行ログ

実行結果は以下の通りです。無事「2.5.0」が読み込まれました。

>>> print(f"Qiskit version: {__version__}")
Qiskit version: 2.5.0

4. 環境準備の完了

無事に最新版である「2.5.0」を確認できました。普段の作業フローの中でシームレスに量子プログラミングが実行可能です。Qiskit 2.x系では量子回路の構築や最適化機能がさらに強化されています。

環境構築完了:Qiskit 2.5.0 Ready
ここからは、量子ゲートの操作やアルゴリズムの実装など、より具体的な量子コンピューティングの世界へ踏み込んでいきます。

今後の検証計画

環境が整ったため、次回の記事では「量子回路(Quantum Circuit)を作成し、ローカル環境でシミュレーションを実行する」までの一連の流れを実践します。まずは最小の量子回路の実行を目指します。

【DS検定・データサイエンス】関数の形を確率で操る!「ガウス過程モデル」の基礎

データ分析で「予測」を行うとき、多くの手法は1本の予測線を引きます。しかし、データがない場所の予測はどれくらい信用できるのでしょうか?「予測値」だけでなく「その予測の自信のなさ(不確実性)」も同時に計算できる強力なベイズ手法、それが「ガウス過程モデル」です。

1. 【 問題 】

機械学習における回帰分析において、特定の数式(パラメータ)を仮定するのではなく、「未知の関数そのものを確率変数(無限次元のガウス分布)」として扱い、すでに得られている観測データに基づいて、関数の具体的な形状(平均)と、データがない領域の予測のばらつき(分散・不確実性)を同時に予測するノンパラメトリックな統計モデルを何と呼ぶでしょうか?

① ガウス過程モデル(Gaussian Process)
② ロジスティック回帰モデル
③ 主成分分析(PCA)
④ K-meansクラスタリング


2. 【 解答 】

正解: ① ガウス過程モデル(Gaussian Process)

3. 整理:通常の回帰分析との決定的な違い

ガウス過程モデルの最大の特徴は、予測の「不確実性(自信度)」が可視化できる点にあります。一般的な手法と比較して整理しておきましょう。

項目通常の回帰(線形回帰など)ガウス過程モデル(GP)
アプローチ パラメトリック($y = ax + b$ などの数式やパラメータを固定する) ノンパラメトリック(特定の関数を仮定せず、関数そのものを確率的に扱う)
出力されるもの 「x のときは y」という、ピンポイントな1つの予測値。 予測される「関数の平均値(最もありそうな線)」と、「分散(予測のばらつき・不確実性)」のセット。
データの有無による挙動 データが多くても少なくても、引かれる直線(あるいは曲線)は1本。 観測データの近くでは予測のばらつきが小さくなり(自信満々)、データから離れた未知の領域ではばらつきが大きく(不確実)なる。

4. 関数の「滑らかさ」を決めるカーネル関数

ガウス過程モデルにおいて、予測される関数が「どれくらい滑らかに変化するか」「どれくらい周期性を持つか」という『関数の性質』を決定づける超重要コンポーネントがカーネル関数(共分散関数)です。
代表的なものに、データ間の距離が近いほど強い相関を持つと定義する「RBFカーネル(放射基底関数 / ガウスカーネル)」などがあり、このカーネルの選択とハイパーパラメータの調整によって、複雑な非線形データを柔軟にフィッティングすることができます。


5. DS検定形式:実戦4択クイズ

問:ガウス過程モデルの「予測の不確実性(分散)も同時に出力できる」という性質を応用し、実験候補やハイパーパラメータの探索空間の中から、「現在の予測値が最も高い場所(活用)」と「まだデータがなくて予測の不確実性が最も大きい場所(探索)」のバランスを取りながら、効率的に最適な条件を探索していくアルゴリズムの手法を何と呼ぶか。

① ベイズ最適化(Bayesian Optimization)   ② 勾配ブースティング   ③ ランダムフォレスト   ④ 協調フィルタリング

【 正解: ① 】

解説: ガウス過程の最強の相棒とも言える**「ベイズ最適化」**です。 ガウス過程モデルで「次にどこを調べたら一番効率よく最適値が見つかるか(獲得関数)」を計算し、最少の実験回数でベストな結果を導き出す手法として、製造業の材料開発(マテリアルズインフォマティクス)や、機械学習のハイパーパラメータ自動チューニングで猛烈に多用されています。


6. まとめ

DS検定や高度な統計学の試験において「未知の関数そのものを確率的に扱う」「予測値と同時に不確実性を評価する」というフレーズが登場したら、それは「ガウス過程モデル」を指しています。実務では「ベイズ最適化」の裏側で動いているエンジンの役割を果たしている重要な概念として、その仕組みとメリット(ノンパラメトリック、不確実性の可視化)をしっかり整理しておきましょう!