以下は、多重(多変量)二項ロジスティック回帰(複数の特徴量から二項結果(0/1)を予測する)の実践ガイドです。
二項ロジスティック回帰(通常はロジスティック回帰と呼ばれます)は、1つ以上の独立変数と二項(2カテゴリ)結果の関係をモデル化するために用いられる統計手法です。
二項:目標値 y∈{0,1}
多重(多変量):複数の入力特徴量 x_1、x_2、...、x_n
モデル:
p(y=1∣x)=1/(1+e^{−z})、ここで z=w_0+w_1*x_1+⋯+w_n*x_n
w_0、w_1...w_n は x_1、x_2、...、x_n によって計算される重み、および y と予測値間の誤差です。
ロジスティック回帰は、値を直接予測するのではなく、予測変数zの線形結合を用いて対数オッズを予測します。その後、対数オッズはロジスティック(シグモイド)関数を用いて変換され、0から1の間の確率を生成します。
二項ロジスティック回帰は、シグモイド関数を用いて2つの結果のうちの1つの可能性を予測する確率分類モデルであり、統計学、データサイエンス、機械学習において解釈可能な二項決定を行うために広く用いられています。
モデルパラメータは、最尤推定法(MLE)を用いて推定されます。閾値(通常0.5)を用いて結果を分類します(P≥0.5の場合 → クラス1、P<0.5の場合 → クラス0)。
多項ロジスティック回帰は、一連の独立変数(予測変数)と、2つ以上の結果が考えられ、かつ各カテゴリに自然な順序付けがないカテゴリ従属変数との関係をモデル化するために用いられる統計的・機械学習的手法です。
モデル:クラス k の場合:
P(y=k∣x)=e^w_k⋅x / ∑e^w_j⋅x (j=1,2...K)
ここで: - x = 特徴ベクトル
w_k = クラス k の重み
K = クラス数
アプリでは、各オブジェクト Object_k (object_1、object_2、... object_m) は、独立変数 (X_ki - 特徴、i = 1...n) と 1 つの従属変数 (Y_k - ターゲット) で記述されます。係数 (beta_0、beta_1、beta_2、...、beta_n) の最適値を計算するには、通常最小二乗法 (OLS) などの手法が使用されます。ターゲット値は次のように計算されます:
Y = beta_0 + beta_01* P_1 + beta_2 *P_2 + ... + beta_n* P_n
ここで:P_1、P_2、...P_n はターゲットの予測変数です。
アプリケーションは、多重ロジスティック回帰モデルのデータをAppMultiNomialLogisticRegression.dbというSQLiteデータベース(DB)に保存します。回帰モデルは名前で区別されます。
アプリケーション(App Multinomial Linear Logistic Regression Solver)の起動画面には、回帰モデルのサンプルリスト(スピナーリスト)と、回帰モデルのサンプルの作成(新規サンプル)、読み込み(読み込み)、保存(保存)、名前を付けて保存(名前を付けて保存)、計算(計算)、削除(削除)機能を有効にするボタンが表示されます。メイン画面のメニュー要素からは、言語の選択、データベースの保存とコピー、サンプルデータによるデータベースの初期化などの機能に加え、アプリケーションのヘルプ、設定、すべてのアプリケーションの説明が掲載されているWebサイトへのリンクなどの補助機能にもアクセスできます。
作成 (新しいサンプル) の機能には、新しいサンプルのデータを入力するマトリックスのサイズ (行数 (予測データ P_1、P_2...P_n の行数 - 最終行)) と列数 (従属データ Y_1、Y_2、...Y_k の列数 - 最終列) を入力するためのダイアログが含まれます。次に、関連データを入力するためのテーブルが生成されます。生成されたテーブルは、保存する前に名前を付ける必要があります。関数 Load はテーブルをクリアします。
スピナー リストから選択することで、以前に保存したテーブルを表示できます。表示されているテーブルを計算し、ソリューションを App の結果ダイアログで表示できます。関数 Print は、このダイアログからファイル AppMultipleLogisticRegressionSolver.txt で実行できます。Print には、ファイルを保存するフォルダーを選択することで、アクティビティ Save Db/Save file が含まれます。フォルダーを選択すると、保存用のボタンが表示されます。同じアクティビティから、選択したファイルの内容を表示したり、選択したファイルを削除したりできます。