データサイエンティストとして、私たちは統計学者によって開発されたモデルに遭遇することがあります。これらのモデルの中には「最小二乗モデル」として開発されたものもあれば、「最尤モデル」として開発されたものもあります。では、この2つの手法にはどのような違いがあるのでしょうか?また、両者の間に関係はあるのでしょうか?
MLは最尤法(Maximum Likelihood)の略語としてよく使われますが、現在はデータサイエンスの文献で、MLは “Machine Learning(機械学習) “として記載されることが多いので、私はこの表記を使いません。
最小二乗法
モデルのフィッティングに使われる最小二乗法は、データを使って数式やモデルをフィッティングするための、より実用的なアプローチです。モデルの予測値と実際の値との差である誤差関数を定式化し、フィッティングデータから計算された誤差の二乗和を最小化するモデルパラメータを見つけます。
例えば、高校生の体重(Weight)を年齢(Age)から計算する一次方程式を求めたいとします。これは、任意の生徒の体重を次のように推定できるようなパラメータa,bの最適値を求めたいことを意味します。
![]()
“Weight”の上の帽子(ハット記号)は、それが推定値であって、観測された値ではないことを意味します。回帰モデルの適合は、”Weight”の推定値が既知の観測での実際の値にできるだけ近くなるようなパラメータ a と b の値を見つけようとすることを意味します。そのどれについても、我々は誤差を実際の”Weight”とモデル推定値の差として定義します。
![]()
誤差は、推定値が実際の値より大きいか小さいかによって、正にも負にもなり得るので、誤差のより客観的な尺度として誤差の2乗を使用します。すべての検証について誤差のこれらの2乗を合計すると、合計2乗誤差(SSE)として知られるものが得られます。
最小二乗法では、誤差の二乗和の合計が最小になるようなモデルパラメータ(a,b)を求めます。この基準が「最良」のモデルを導くと仮定した理由は特にありません。例えば、誤差の客観的な尺度として、実際の値と推定値の差の絶対値を選択することもできました。
![]()
この場合、パラメータ(a,b)を見つけるために最小化する関数を定式化するために、それらを合計する前に誤差を2乗する必要はありません。実際、モデル基準を定義するこの方法は、L1 回帰と呼ばれます。
重要なのは、誤差の二乗和を最小化することによってモデルのパラメータを求めるというのは、理論的な正当性がない、発見的で実用的なアプローチだということです。
しかし、最小2乗法は外れ値の影響を受けやすいことが実証できます。例えば、体重と年齢を検証した下の図1のデータを考えてみましょう。

図1:最小二乗モデルにおける外れ値の影響
左の図1(a)は、データに外れ値(赤で囲んだ部分)が含まれている場合の最小二乗モデルを示しています。図 1(b) は、これらのはずれ値を除去したときの最小2乗モデルです。これらの観測をはずれ値と呼ぶ理由は、これらの個体の”Weight”が、標本の残りの個体の”Weight”よりも非常に高いことが図からわかるからです。これは最小2乗回帰モデルでよくある問題です。
しかしながら、この問題を克服する方法はたくさんあり、たとえば、モデルの適合中に検証に異なる”Weight”(標本重み)を割り当てたり、はずれ値を除去したりすることができます。
最尤法
最尤法は一種の一般的な論理原理に基づいています。それは次のようなものです。「あるデータから始めて、このデータの振る舞いを表すモデルを当てはめたい場合、最良のモデルが得られるのは、このデータがこのモデルによって生成される可能性が最も高いデータであるときです。つまり、フィッティングしたデータがモデルによって生成される可能性が最も高いということです」
必要なのは、意味のある尤度関数を定義し、それを使ってモデルがデータを生成する確率を計算することだけです。そして、この関数は、フィッティングしたデータで最大値になります。最小2乗法で行ったように、”Weight”と”Age”の単純な線形回帰でそれを実証してみましょう。
まず、高校生の「体重」の推定値が「年齢」と関係式で結ばれていると仮定します。

推定誤差は次式で与えられます。
![]()
さらに、この誤差eが正規分布していると仮定すると、値eの誤差が生じる確率は正規分布の式、すなわち、次の式で与えられます。

ここで上に棒のついたeは平均誤差、ギリシャ記号のシグマは誤差の標準偏差です。この式は、誤差がどの検証でも特定の値をとる確率を定義しています。誤差がゼロのときに誤差の確率が最大になるので、正規分布の選択は便利です。したがって、この確率を最大化すると、実質的に推定誤差が減少することになります。
フィッティングデータの検証から得られる誤差が独立であると仮定すると、すべての検証から同時にこれらの誤差を得る確率は、それらの積になります。これが最大化する尤度関数の定義になります。この関数をLと呼びましょう。
L = フィッティングデータの全観測から計算された誤差の確率の積
計算を単純にするために、”Weight”を推定するために線形方程式をフィットする3つの検証しかないと仮定します。これらの3つの検証での推定誤差をe1、 e2、 e3とします。そして、誤差は独立で、ゼロ平均値と1の標準偏差を持つと仮定します。

そして、尤度関数Lは次のように書くことができます。

対数関数は単調(すなわち、値の順序を保持する)なので、Lの代わりに”Log L”を使うことができる。

最後に、Log Lの右辺の第1項を無視し(定数だから)、式を並べ替えて-2 Log Lを次のように表します。

最尤法ではLを最大化する必要があります。したがって、この場合、最尤法は最小2乗法と等価であることを実証しました。この結果は、検証の任意の数、標準偏差の任意の一定値について一般化できます。しかし、誤差がゼロ平均で独立であるという仮定を維持する必要があります。
したがって、最尤法は(ある仮定のもとでは)最小二乗法と等価になりうる。これがこの2つの方法の関係です。
まとめ
最尤法と最小二乗法は、良いモデルを決定する基準に関して異なる概念から出発しています。しかし、データとモデルの誤差についていくつかの仮定を置くと、両者が同じ結果を導くことがわかります。
上記の回帰モデルの議論では、2つの方法が等価であることを示すためにモデルの「線形性」仮定を使用しなかったことに注意してください。我々の仮定は、推定誤差の特徴だけに焦点を当てたものです。
しかし、最尤法は一般的な原理に基づいているという意味で、最小二乗法よりも一般的であるとも言えます。最小二乗法はどちらかというと、その場限りの発見的な方法です。
機械学習では、最小二乗法は回帰モデル(推定問題)で主に使われ、最尤法は分類やクラスタリングのアプリケーションで使われます。特定の定式化において、利便性以外にどちらかを選択する理論的理由はありません。
*本ブログ記事は、アルテアのチーフデータサイエンティストMamdouh Refaatの執筆した「Data Science Basics — (5) Least Squares vs. Maximum Likelihood Methods」を翻訳したものです。
データ分析・AIプラットフォームAltair® RapidMiner®
4. 統計分布を理解する << >> 6.サンプリングの有効性と種類
カテゴリー: Altair Global Blog, データアナリティクス




