機械学習の体系的理解 - 確率・統計の基礎からモデル構築まで
今回の記事では、機械学習の基礎理論と代表的なアルゴリズムについて説明します。確率論、統計学、最適化の考え方を土台とし、具体的には以下の点について詳しく解説します。
【機械学習の定義と概要】
・教師あり学習、教師なし学習、強化学習
【機械学習の統計的枠組み】
・最尤推定、ベイズ推定
・ジャックナイフ、ブートストラップ
【線形モデル】
・線形回帰と分類への応用
・正則化手法(ridge, lasso, elastic net)
【カーネル法】
・カーネルトリック
・サポートベクターマシン
【決定木(ディシジョンツリー)とアンサンブル学習】
・ランダムフォレスト、ブースティングなど
【クラスタリングと次元削減】
・k-means、主成分分析、t-SNE
【ベイズ理論とグラフィカルモデル】
・ベイズ網、変分ベイズ、マルコフ確率場
数学的背景を押さえつつ、分かりやすく実践的な解説をしていく予定です。
機械学習の基礎理論
機械学習とは
機械学習(Machine Learning)とは、データから一般的な規則性を発見し、未知のデータに対して予測や判断を行うことができるようにするための技術分野です。人工知能(AI)の中核をなす重要な技術です。
機械学習の目的は、プログラムにデータから学習させ、新しい状況に対して適切に対応できるようにすることにあります。これにより、ルールベースのプログラミングに頼らずに、柔軟で高性能なシステムを構築できます。
機械学習は大きく以下の3つに分類されます。
1. 教師あり学習 (Supervised Learning)
・入力データと正解ラベルのペアから学習する
・回帰(値の予測)と分類(カテゴリの予測)がある
2. 教師なし学習 (Unsupervised Learning)
・正解ラベルなしでデータから規則性を見つける
・クラスタリング、次元削減、密度推定など
3. 強化学習 (Reinforcement Learning)
・環境から報酬を得ながら、対話的に行動方針を学習する
・ゲームのエージェントや制御システムなどに用いられる
統計的機械学習
機械学習の理論的基礎は統計学と確率論にあります。データから背後にあるモデルを推定することが機械学習の本質といえます。
代表的な統計的フレームワークには、以下のようなものがあります。
最尤推定 (Maximum Likelihood Estimation)
与えられたデータから尤度(確率)を最大化するようにモデルパラメータを推定する
単純でデータ量が十分にあれば良い性能が得られる
ベイズ推定 (Bayesian Estimation)
モデルパラメータを確率分布として推定する
事前分布と尤度の積に比例する事後分布を求める
パラメータの不確実性を評価できる
これらの枠組みは線形モデル、カーネル法、決定木、ニューラルネットワークなど、様々なアルゴリズムに適用されています。
次に代表的な機械学習手法について詳しく解説していきます。
線形モデル
線形モデルは機械学習で最も基本的で重要なモデルの1つです。入力変数$${x}$$と出力変数$${y}$$の関係を線形の式で表現します。
線形回帰
線形回帰は連続値の出力$${y}$$を予測するための代表的な手法です。モデルは以下の式で表されます。
$$
\begin{array}{} y = w0 + w1x1 + w2x2 + ... + wn*xn + ε\end{array}
$$
ここで$${w}$$はモデルパラメータ、εは誤差項を表します。訓練データから最小二乗法などで$${w}$$を推定します。
線形分類
線形分類は離散値のカテゴリ$${y}$$を予測する問題に使われます。
代表的な手法は以下があります。
ロジスティック回帰
・シグモイド関数でクラス確率を出力
・交差エントロピー損失関数で訓練
線形サポートベクターマシン(SVM)
・最大の幅を持つ境界線を見つける
・ヒンジ損失を用いて識別性を高める
正則化
線形モデルは特徴量が多いと過学習が起こりやすくなります。
正則化によってモデルを単純化し、一般化性能を高めます。
リッジ回帰 (L2正則化)
・重み係数ベクトルのL2ノルムを制約
LASSO (L1正則化)
・重み係数ベクトルのL1ノルムを制約
・一部の係数を正確に0にする特性がある
線形モデルはシンプルながら解釈性が高く、スパースモデリング、カーネル法、ニューラルネットにも発展しています。
次にカーネル法について解説します。
カーネル法
カーネル法は入力データを高次元の特徴空間に写像することで、非線形の問題を線形のアルゴリズムで解くテクニックです。
カーネルトリック
カーネル関数$${K(x,z)}$$は2つの入力ベクトル$${x,z}$$の類似度を計算する関数です。この類似度をデータ間の内積と解釈することで、高次元写像を明示的に計算せずに線形アルゴリズムを適用できます。これがカーネルトリックと呼ばれる手法です。
代表的なカーネル関数には以下のようなものがあります。
線形カーネル:$${K(x,z) = x^Tz}$$
多項式カーネル:$${K(x,z) = (x^Tz + c)^d}$$
ガウシアンRBFカーネル:$${K(x,z) = exp(-||x-z||^2 / 2σ^2)}$$
カーネルトリックにより、カーネル法は高次元の特徴を効率的に扱えます。
サポートベクターマシン (SVM)
SVMはカーネル法に基づく代表的な教師あり学習手法です。最大の幅を持つ境界線を求めることで高い一般化性能が得られます。
カーネルSVMは以下の式で表現されます。
$$
f(x) = Σ_i α_i y_i K(x_i, x) + b
$$
ここでの$${α,b}$$はSVMの双対問題を解いて求められるパラメータです。
SVMは高次元特徴を明示的に計算しなくてよいため、メモリ効率が良く、過学習を抑えられるメリットがあります。しかし、カーネル選択が重要で、パラメータチューニングが難しい側面もあります。
次にアンサンブル学習手法の決定木とそれに基づくアルゴリズムについて解説します。
決定木とアンサンブル学習
決定木は教師あり学習における代表的なアルゴリズムです。
データを反復的に分割することで、判別規則や予測モデルを構築します。
決定木学習アルゴリズム
決定木構築には以下のような反復的なアルゴリズムが用いられます。
全データセットをルートノードとする
最も分類性能が良い特徴量fと閾値tを選ぶ
fの値がt以下ならば左の子ノード、そうでなければ右の子ノードに振り分ける
それぞれの子ノードで2-3を再帰的に繰り返す
stopping criteriaを満たすまで分割を続ける
分類木では葉ノードがクラスラベルを出力し、回帰木では連続値を出力します。分割基準として情報エントロピーやジニ不純度などが用いられます。
決定木の特徴
データの構造をよく捉えられる
高次元データにも対応できる
モデルの解釈性が高い
データにノイズがあると不安定
アンサンブル学習
単一の決定木は不安定なため、アンサンブル学習によりモデルの性能と頑健性を高めます。代表的な手法は以下のようなのもです。
バギング (Bootstrap Aggregation)
・bootstarpでサンプリングした部分データで複数の弱い学習器を作成
・最終出力は学習器の出力を多数決で統合
ブースティング
・弱い学習器を順次重み付けしながら構築
・前の学習器の誤りを次の学習器が修正する
また、代表的なアンサンブル学習アルゴリズムは以下のようなものです。
ランダムフォレスト (バギングの決定木アンサンブル)
Adaboost (ブースティングの決定木アルゴリズム)
Gradient Boosting Decision Trees (GBDTや XGBoostなど)
アンサンブル学習により、バイアスとバリアンスのトレードオフを適切に制御でき、高い予測性能が得られます。
次に教師なし学習の代表的な手法であるクラスタリングと次元削減について解説します。
クラスタリングと次元削減
クラスタリングと次元削減は教師なし学習の主要な手法です。前者はデータを自動的にグループ分けし、後者は高次元データを低次元に圧縮することで、データの構造を捉えます。
クラスタリング
クラスタリングは、与えられたデータを類似度に基づきグループ(クラスタ)に分割する手法です。代表的なアルゴリズムは以下のものがあげられます。
k-means clustering
・データをk個のクラスタに分割する反復アルゴリズム
・クラスタ中心の更新と各データ点の再割り当てを繰り返す
階層的クラスタリング
・デンドログラム(階層的なクラスタツリー)を構築
・凝集法と分割法の2つのアプローチがある
DBSCAN
・密度ベースのクラスタリングアルゴリズム
・ノイズに強く、任意の形状のクラスタを検出できる
クラスタリングはデータ構造の把握、可視化、外れ値検出などに役立ちます。しかし、最適なクラスタ数の決定や異常値の影響が課題となります。
次元削減
高次元データは可視化や解釈が難しいため、重要な情報を残しつつデータを低次元に圧縮する手法があります。
主成分分析 (PCA)
・データの分散を最大化する直交基底を見つける
・上位数個の主成分で元データを近似できる
線形判別分析 (LDA)
・クラス間の分散を最大化し、クラス内の分散を最小化する
・識別の観点から次元を削減する
t-SNE, UMAP
・近傍構造を保ったままデータを2D/3Dに可視化
・非線形な次元削減が可能
次元削減はデータ可視化やデータクレンジングなどに活用されます。
また、高次元の特徴量を低次元に圧縮してから分類器に入力すると、過学習を抑え性能が向上する場合があります。
次にベイズ理論に基づく機械学習手法について見ていきます。
ベイズ理論とグラフィカルモデル
機械学習の理論的基礎のひとつにベイズ統計があります。
ベイズ推論はモデルパラメータをランダム変数として確率分布で表現し、データからパラメータの事後分布を推定するというものです。
ベイズの定理
ベイズ推論の基礎となるベイズの定理は以下の式で表されます。
$$
\begin{array}{} p(θ|X) &=& \frac{p(X|θ)p(θ)}{p(X)} \\\ &=& \frac{p(X|θ)p(θ)} {∫p(X|θ)p(θ)dθ}\end{array}
$$
$${p(θ)}$$:モデルパラメータθの事前分布
$${p(X|θ)}$$:データXが観測された際の尤度
$${p(θ|X)}$$:データXが観測された後のθの事後分布
事後分布は一般に解析的に求められないため、数値計算や近似が必要です。
変分ベイズ
変分ベイズ法は事後分布を近似的に求める手法です。
近似分布q(θ)を導入し、以下の変分下限を最大化することで、p(θ|X)に近い分布を得ます。
$${L(q) = ∫ q(θ) log p(X,θ)/q(θ) dθ <= log p(X)}$$
平均場近似や排他的サンプリングなどの手法で変分下限を効率的に最適化します。
ベイズ網とマルコフ確率場
グラフィカルモデルはベイズ統計と組み合わせて用いられ、複雑な確率分布を効率的にモデル化できます。
ベイズ網 (Bayesian Network)
・確率変数間の因果関係を有向グラフで表現
・変数間の条件独立性を仮定して効率的な推論が可能
マルコフ確率場 (Markov Random Field)
・グラフの近傍変数のみで局所的なクリーク分解ができる
・画像のピクセル等の空間データの表現に適している
ベイズ統計は過学習への頑健性、不確実性の表現、事前知識の利用など多くの利点があり、機械学習の理論的支柱となっています。
以上が主要な機械学習手法の概要でした。
今後、ディープラーニングや強化学習など新しい手法の詳細についても解説していく予定です。
参考文献
『パターン認識と機械学習』 - クリストファー・ビショップ
『統計学習の要素』 - トレバー・ヘイスティ, ロバート・ティブシラーニ, ジェローム・フリードマン
『機械学習:確率的視点』 - ケビン・P・マーフィー
この記事が気に入ったらサポートをしてみませんか?