2. 二値分類器(分類器)
二値分類器とは、与えられたデータを2つのクラス、例えば「スパムメール」か「非スパムメール」などに分類する機械学習モデルのことである。二値分類にはさまざまなアルゴリズムが使用される。
まずは、二値分類器に関連した数学関連の分野をまとめる。
特徴ベクトル、重みベクトル、共分散行列
特徴ベクトル:特徴ベクトル(feature vector)は、データを数値的に表現するために使用される特徴(属性や特性)の集合を持つベクトルのことで、例えば、[身長, 体重, 年齢] のように、複数の特徴量をまとめたものが特徴ベクトルである。特徴ベクトルは、これらの特徴を数値的に表現したもので、通常は数値のリストまたは配列として表される。例えば、あるデータポイントが3つの特徴を持つ場合、その特徴ベクトルは \([f_1, \; f_2,\; f_3]\)という形式になる。
画像認識では、画像のピクセル値を使って特徴ベクトルを構築することができる。例えば、\(28 \times 28\)ピクセルのグレースケール画像の場合、784次元の特徴ベクトル(各ピクセルの輝度を一つの特徴として)になる。
重みベクトル:重みベクトル(weight vector)は、機械学習や統計学において、データの特徴に対してどの程度の重要性や寄与度を持たせるかを示すために使われるベクトルである。従って、重みベクトルは、特徴ベクトルと同じ次元を持つ。重みベクトルは、モデルのパラメータとして機能し、各特徴の影響力を調整する。例えば、線形回帰モデルでは、予測値は特徴ベクトルと重みベクトルの内積として計算される。これにより、各特徴がどの程度予測に寄与するかが決まる。重みベクトルの各成分は、それぞれの特徴の重要性を示す。重みの絶対値が大きいほど、その特徴がモデルの予測に大きな影響を与えることを意味する。
線形回帰においては、予測値\(\hat{y}\) は次のように計算される。$$\hat{y} = w \cdot x + b$$ここで、\(w\)は重みベクトル、\(x\) は特徴ベクトル、\(b\)はバイアス項である。
共分散行列:共分散行列(covariance matrix)は、データの多次元変数間の共分散をまとめて表現するための行列である。共分散は、2つの確率変数の間の線形関係の強さと方向を示す指標であり、共分散行列はこの概念を多次元に拡張したものである。
2つの変数\(X\)と\(Y\) についての共分散は次のように定義される。$$\text{Cov}(X,Y)=E[(X - \mu X)(Y- \mu Y)]$$ここで、\(E\) は期待値、\(\mu X\)と\(\mu Y\) はそれぞれの変数の平均である。
共分散行列は、\(n\)次元のランダムベクトル \(X=[X_1,X_2,\ldots,X_n]^T\) に対して、共分散行列\(\sum\)は\(n \times n\) 行列である。その要素\(\sum_{ij}\) は、変数\(X_i\)と\(X_j\) の共分散である。$$\sum_{ij} = \text{Cov} (X_i,\; X_j)$$行列の対角要素\(\sum_{ii}\) は、各変数の分散を表す。共分散行列は対称行列で、\(\sum_{ij} = \sum_{ji}\) が成り立つ。
共分散行列は、データの分布がどのように広がっているか、どの方向に相関があるかを示す。これにより、データの構造やその特性を理解できる。
固有値と固有ベクトル
固有値と固有ベクトルは、線形代数の基本的な概念であり、データ解析や機械学習の手法である主成分分析(PCA)や線形判別分析(LDA)で重要な役割を果たす。
固有ベクトル:行列 \(A\)に対する非ゼロベクトル\(v\)が存在し、スカラー \(\lambda\)によって、$$A v = \lambda v$$の関係を満たす場合、この\(v\)を\(A\)の固有ベクトルと呼ぶ。ここで、\(\lambda\)は対応する固有値(スカラー)である。固有値と固有ベクトルは、行列の変換がどのようにしてベクトルを伸縮させるかを記述することになる。
主成分分析(PCA)は、データの次元を削減し、最も情報を保持する方向(主成分)を見つける手法で、データの分散を最大化する方向を探す。このために、データの変動を表現する共分散行列を計算し、その固有値と固有ベクトルを求める。固有ベクトルはデータの主成分の方向、対応する固有値はその方向に沿ったデータの分散の大きさを示すことになる。固有値の大きい順に固有ベクトルを選び、データをこれらの固有ベクトルに射影することで次元を削減する。
確率分布
2値分類器で使用される確率分布は、通常、データポイントが特定のクラスに属する確率を表現するために用いられる。2値分類器で一般的に使用される確率分布にベルヌーイ分布がある。
ベルヌーイ分布は、2つの可能な結果(成功と失敗、またはクラス0とクラス1)を持つ試行の確率を表す。
\(0 \lt p \lt 1\)として、確率変数\(X\)がベルヌーイ分布に従うとは、$$P(X=1)=p,\quad P(X=0)= 1- p$$となることである。2値分類問題において、各データポイントがクラス1に属する確率\(p\)に従って分類される。
ロジスティック回帰とシグモイド関数:ロジスティク回帰とは、ベルヌーイ分布に従う変数の統計的回帰モデルの一種である。ロジスティック回帰では、シグモイド関数を使用して、入力特徴の線形結合に基づいてクラス1の確率を求める。この確率は、0から1の間で値を取り、ベルヌーイ分布のパラメータとして解釈される。シグモイド関数は$$\sigma(z) = \frac{1}{1+e^{-z}}$$で定義される。ここで、\(z\)は入力特徴の線形結合である。
条件付き確率とベイズの定理
条件付き確率は、特定の情報が与えられた場合の事象の発生確率を評価し、ベイズの定理はこの情報に基づいて仮説の確率を修正する方法を提供する。
条件付き確率は、ある事象が発生したという情報をもとに、別の事象が発生する確率を表す。記号で表すと、事象\(A\)が発生する確率が\(P(A)\)であり、事象\(B\)が発生したときの\(A\)の条件付き確率は\(P(A|B)\)と表す。 条件付き確率は次のように計算される。$$P(A∣B)=\frac{P(A∩B)}{P(B)}$$ここで、\(P(A∩B)\)は\(A\)と\(B\)の両方が発生する確率である。つまり、事象\(B\)が発生したという情報が得られた場合において、事象\(A\)が発生する確率を求めることを意味する。
ベイズの定理は、ある事象に関連する可能性のある条件についての事前の知識に基づいて、その事象の確率を記述するものである。これは、条件付き確率を更新するための公式といえ、観測データに基づいて仮説の確率を修正する方法を提供する。特に、与えられたデータに基づいて仮説の信頼度を調整するために使用される。ベイズの定理は次のように表される。$$P(A∣B)=\frac{P(B∣A)⋅P(A)}{P(B)}$$ここで、\(P(A∣B)\)は\(B\)が与えられたときの\(A\)の条件付き確率(事後確率)、\(P(B∣A)\)は\(A\)が真であるときの\(B\)の条件付き確率(尤度)、\(P(A)\)は\(A\)が真である確率(事前確率)、\(P(B)\)は\(B\)が観測される確率(標準化定数)である。
二値分類器のアルゴリズム
二値分類器は、入力データを2つのクラスのいずれかに分類するモデルである。これは、最も基本的な分類問題であり、データポイントが2つのカテゴリのどちらに属するかを予測する。
教師あり学習
教師あり学習は、ラベル付きデータを用いてモデルを訓練し、データポイントを2つのクラスのいずれかに分類する手法である。このプロセスを通じて、モデルは入力データの特徴とそれに対応するクラスラベルとの関係を学び、新しいデータに対して予測を行うことができる。
教師あり学習による2値分類器のプロセス
1.データ収集と準備:必要なデータを収集し、2つのクラスにラベル付けする。例えば、電子メールがスパムかどうかを判定するためのデータセットを考えると、各メールに「スパム」または「非スパム」というラベルを付ける。また、データを前処理し、必要に応じて正規化や欠損値処理を行う。
2.特徴選択と抽出:モデルが予測に使用する重要な特徴を特定する。例えば、メールの単語頻度、メールの長さ、特定のキーワードの存在などを特徴として選択することができる。
3.モデル選択:2値分類に適したモデルを選択する。一般的なモデルには次のようなものがある。ロジスティック回帰「線形モデルで、入力特徴の線形結合を用いてクラス1に属する確率を予測する。」サポートベクターマシン (SVM)「データを分離する最適な超平面を学習し、非線形の境界もカーネルを使用して表現できる。」決定木「特徴に基づいてデータを分割しながら分類する。」ニューラルネットワーク「非線形な関係を捉えることができ、複雑なデータにも対応可能である。」
4.モデルの訓練:ラベル付きの訓練データを用いて選択したモデルを訓練する。訓練中にモデルはパラメータを調整し、データのパターンを学習する。勾配降下法などの最適化手法を用いて、損失関数を最小化する。
5.モデル評価:テストデータを用いてモデルの性能を評価する。評価には混同行列を用い、以下の指標を計算する。
・True Positives (TP):モデルが正と予測し、実際にも正であるデータポイントの数。
・True Negatives (TN):モデルが負と予測し、実際にも負であるデータポイントの数。
・False Positives (FP):モデルが正と予測したが、実際には負であるデータポイントの数。
・False Negatives (FN):モデルが負と予測したが、実際には正であるデータポイントの数。
適合率(Precision):正しく分類されたデータポイントの割合。$$\text{Precision} = \frac{\text{TP}}{\text{TP+FP}}$$
再現率 (Recall): 実際にクラス1のデータポイントのうち、正しくクラス1と予測された割合。$$\text{Recall} = \frac{\text{TP}}{\text{TP+FN}}$$
特異度 (Specificity): 実際にクラス0のデータポイントのうち、正しくクラス0と予測された割合。$$\text{Specificity} = \frac{\text{TN}}{\text{TN+FP}}$$
F値(F Score):精度と感度の調和平均で、バランスよく評価する。$$\text{F Score} = 2\times \frac{\text{Precision} \times \text{Recall}}{\text{Precision + Recall}}$$
※適合率と再現率はトレードオフの関係にある。このトレードオフは多くの場合に観察される現象だが、絶対的なものではない。データ分布、問題設定、そして「何を最適とみなすか」という目的によって、トレードオフの関係は変化する。従って、このトレードオフは評価の視点の問題として捉えるのが適切である。
6.モデルの調整と最適化:ハイパーパラメータのチューニングや特徴選択の見直しなどを行い、モデルの精度を向上させる。クロスバリデーションを使用して、モデルの汎化性能を確認する。