最尤推定と対数尤度の公式の覚え方と積を対数で和に変える計算手順

こんにちは。ゆうせいです。

統計学や機械学習の学習において、観測されたデータに最もよく当てはまる数値を決定する手法として最尤推定が登場します。その計算過程で必ず使用されるのが対数尤度です。

教科書に並ぶ数式を単なる文字の配列として暗記しようとすると、対数を取る理由や微分の手順を取り違えてしまう原因になります。この計算公式を覚えるための中心的な規則は、積を対数で和に変えるという点にあります。本記事では、最尤推定の定義を整理した上で、公式を記憶しやすくするための構造や計算手順について解説します。

最尤推定の基本概念と鍵探しの比喩

最尤推定とは、手元にある観測データが得られる確率を最も大きくするような母数を特定の手順で推定する方法です。

最も合いそうな鍵を探す比喩

最尤推定の考え方は、手元にある鍵穴に対して、手持ちの鍵の束から最も適合する鍵を探し出す作業に例えられます。

鍵穴という実際に観測されたデータが存在します。一方で、削り方の異なる複数の鍵の候補(母数の候補)が手元にあります。それぞれの鍵を鍵穴に差し込んだとき、最も滑らかに回転しそうな鍵、すなわちその鍵穴を生み出した可能性が最も高い鍵を1つ選ぶ操作が最尤推定に相当します。

データを変更するのではなく、データを生み出した背景にある確率分布の数値を変化させ、観測結果の再現確率を最大化する数値を探し出します。

尤度関数と対数尤度の公式の覚え方

公式を覚える際は、確率の掛け算を足し算に変換するという変形の規則に着目します。

尤度関数の掛け算構造

独立して得られたn個のデータについて、それぞれの確率密度(または確率質量)が関数fで与えられるとします。すべてのデータが同時に得られる確率は、個別の確率の掛け算として以下のように表されます。

L(\theta) = \prod_{i=1}^{n} f(x_{i}; \theta) = f(x_{1}; \theta) \times f(x_{2}; \theta) \times \dots \times f(x_{n}; \theta)

この式において、パイ記号は掛け算を連続して行う指示を表します。確率の値は1以下であるため、データを何回も掛け合わせると数値は極めて小さくなります。

公式の記憶法「積を対数で和に変える」

掛け算の式を足し算の式へ書き換えるために自然対数を適用します。対数を取った関数を対数尤度関数と呼びます。

\ln L(\theta) = \sum_{i=1}^{n} \ln f(x_{i}; \theta) = \ln f(x_{1}; \theta) + \ln f(x_{2}; \theta) + \dots + \ln f(x_{n}; \theta)

公式を覚える際は、以下の変形手順を1つの規則として意識します。

  • 確率の連続する掛け算(パイ記号)に対数(ln)を付与する
  • 対数の性質により、中身の掛け算が外側の足し算(シグマ記号)へと分解される
  • 微分が容易な足し算の形式へと変形が完了する

自然対数は単調に増加する関数であるため、尤度関数を最大化する数値と、対数尤度関数を最大化する数値は一致します。最大値を与える位置を維持したまま、計算の構造を掛け算から足し算へと変換できる点がこの公式の本質です。

対数尤度を利用する利点と欠点

掛け算を足し算に変換して推定を行う手法には、客観的な利点と欠点が存在します。

利点

  • 計算作業の負担軽減:掛け算の微分には積の微分公式が必要ですが、足し算の微分は各項を個別に微分して合計する処理だけで完了します。
  • 計算機における数値の保護:極めて小さな確率の掛け算を続けるとコンピュータ上でゼロとして扱われる危険性がありますが、対数を取ることで適切な負の実数の加算として処理できます。
  • 指数を含む分布の単純化:確率の式にネイピア数eの指数が含まれる場合、対数を取ることで指数部分を直接計算可能な多項式へと変換できます。

欠点

  • 対数関数の基礎知識の要求:真数が0以下を取れない点や、掛け算が足し算に分解される法則など、対数に関する前提知識を理解しておく必要があります。
  • 極値の判定手順の発生:微分して0になる値を求めたあと、その値が最大値であるかを2階微分の符号などで別途確認する工程が生じます。

まとめ

最尤推定の公式を確実に記憶するための要点は、複雑な掛け算を対数によって足し算へとほぐす点にあります。この変形によって微分計算が容易になり、確率を最大にする数値を導き出すことができます。

最尤推定の解法を定着させるための学習手順は以下の通りです。

  1. 観測データに対する確率の式をすべて掛け合わせ、尤度関数を作成する。
  2. 作成した式全体に対数を適用し、掛け算を足し算(シグマ記号)の形へと書き直す。
  3. 対数尤度の式を推定対象の文字で微分し、導関数が0となる方程式を立てる。
  4. 方程式を解いて導出した数値を確認し、確率を最大にする推定量が得られているかを確かめる。

積を対数で和に変えるという操作の目的を常に意識することで、数式の暗記に頼らず計算の流れを把握できるようになります。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。