決定木は「もしAならば左、そうでなければ右」という硬い判断を繰り返す。 だが現実のデータは、境界線上の点をどちらか一方に強制的に振り分けることが 難しいケースが多い。
階層的専門家混合モデル(Hierarchical Mixtures of Experts, HME)は、 その「硬さ」を「柔らかさ」に変えることで、決定木の持つ問題を乗り越えようとするアプローチだ。 複数の「専門家(エキスパート)」が協力して予測を行う、 アンサンブル的な発想を木構造に組み込んでいる。
決定木を思い出してほしい。 各内部ノードで、あるデータ点は必ずどちらか一方の枝に進む。 これをハードスプリット(hard split)と呼ぶ。
たとえば「年齢が40歳以上なら右、未満なら左」という判断では、 39歳と40歳はまったく別の経路をたどる。 しかし実際には、この2つのデータ点の性質はほぼ同じはずだ。

この「境界線での硬い判断」には2つの問題がある:
「もし、データ点が確率的に複数の経路を同時にたどれたとしたら?」
これが階層的専門家混合モデル(HME)の出発点だ。 ハードな0/1の判断を、0〜1の確率に「柔らかく」置き換えることで、 この問題を乗り越えようとする。
HMEは決定木と似た木構造を持つが、ノードの役割が異なる。
この言葉の由来を想像してほしい。スポーツチームに例えるなら:

エキスパートたちはそれぞれ特定の状況で最も得意なプレイヤーだ。 各エキスパートは自分の見解(予測)を持っている。ゲーティングネットワークは「今の状況(入力x)を見て、 どのエキスパートを何割信頼するか」を決める司令塔だ。
2階層のHMEモデルを考えよう:
この階層構造が「階層的」という名前の由来だ。 各エキスパートは「専門領域」を持ち、ゲーティングネットワークが 状況に応じて適切なエキスパートを選ぶ仕組みになっている。
ゲーティングネットワークは「入力xを見て、どの枝に何割振り向けるか」を計算する。 この割合は、ソフトマックス関数で表される。
ソフトマックスとは複数の実数値を「確率に変換する」関数だ。 直感的には「最も大きな値を持つものに高い確率を与えつつ、 他も完全には無視しない」変換と思えばよい。

最上位のゲーティングネットワークの出力(各枝 $j$ への振り分け確率):
式の各項の意味を確認しよう:
重要なポイントを確認しよう:
もし $K=2$ の場合、$\gamma_1$ の係数を$+\infty$ にすると、 ロジスティック曲線が無限の傾きを持ち、「硬い0/1の分割」になる。 つまりCARTはHMEの特殊ケースと見なせる。
2階層目のゲーティングネットワークも同じ形をとる:
これは「枝jに入った条件のもとで、さらに枝$\ell$ に進む確率」だ(条件付き確率)。
各エキスパート(末端ノード)は、自分が担当する「領域」について予測を行う。 エキスパート $j\ell$ のパラメータを$\theta_{j\ell} = (\beta_{j\ell}, \sigma_{j\ell}^2)$ とする。
回帰問題の場合、線形回帰モデルを使う:
分類問題の場合、ロジスティック回帰モデルを使う:

これはCARTとの重要な違いだ。CARTでは葉ノードに定数を置く (その葉に属するデータの平均など)。HMEでは各エキスパートが線形モデルを持つ。
データを「担当領域」に分けて、それぞれの領域でローカルに線形モデルを当てはめる。 これは「区分線形(piecewise linear)」のアイデアに似ている。 ただし分割は「確率的」に行われる点がCARTと大きく異なる。
全体の予測は、すべてのエキスパートの予測を、ゲーティングネットワークの確率で 重み付けして足し合わせたものだ:
この式を分解して読もう:
「各経路を通る確率 × その経路のエキスパートの予測」をすべての経路について足したもの。 これが混合モデルの予測だ。$\Psi = \{\gamma_j, \gamma_{j\ell}, \theta_{j\ell}\}$ は モデル全体のパラメータ集合を表す。
HMEの全パラメータ $\Psi = \{\gamma_j, \gamma_{j\ell}, \theta_{j\ell}\}$ を どうやって学習するか?
目標は対数尤度の最大化だ。 対数尤度とは「このパラメータのもとで観測データが得られる確率の対数」で、 これを大きくするパラメータを求める:
直接最適化しようとすると複雑になる(確率の和の対数は扱いにくい)。 そこでEMアルゴリズム(Expectation-Maximization)という手法を使う。

EMアルゴリズムのアイデア:「もし割り当てが分かれば簡単」
問題を整理しよう。もし「このデータ点はエキスパート(j,ℓ)が担当する」という 割り当てが事前に分かっていたら、各エキスパートを単純な線形回帰で推定できる。 しかし割り当ては未知だ。
そこでEMは「割り当ての不確かさを確率で表す」ことで、両者を同時に更新する:
Eステップ(期待値計算): 現在のパラメータを使って「各データ点がどのエキスパートの担当である確率」を計算する。 たとえばデータ点Aについて「エキスパート1が担当する確率70%、エキスパート2が30%」 という確率的割り当てを得る。
Mステップ(最大化): Eステップの確率を「重み」として使い、各エキスパートを重み付き線形回帰で更新する。 エキスパート1の重みが0.7のデータ点は、重み0.7として使われる。
これを繰り返すと、割り当てとエキスパートのパラメータが共に改善されていく。
CARTとの比較:

HMEとCARTの違いをまとめると:
| 特徴 | CART | HME |
|---|---|---|
| 分割方式 | ハード(0/1決定) | ソフト(確率的) |
| 葉のモデル | 定数 | 線形(またはロジスティック)回帰 |
| 分割の方向 | 単一の入力特徴 | 入力の線形結合 |
| 分岐数 | 2分岐(バイナリ) | K分岐(多値可能) |
| 最適化 | 離散的(組み合わせ探索) | 連続的(EMアルゴリズム) |
実用上は、CARTで得られた木の構造をHMEの初期構造として使うことが多い。
HMEの親戚に潜在クラスモデル(latent class model)がある。 これは1階層のみのHMEで、ノード(潜在クラス)は 「似た反応パターンを持つ対象のグループ」として解釈される。 HMEを理解することは、より広い混合モデルの世界への入り口にもなっている。