この記事を読んで分かること
- ロジスティック回帰とは何か
- ロジスティック回帰の確率の求め方
ロジスティック回帰(Logistic regression)とは?
ロジスティック回帰(Logistic regression)は、ある事象が起こる確率を計算して予測を行うモデルです。
ロジスティック回帰は主に2値分類を行うアルゴリズムですが、3種類以上の分類問題に対して利用することもできます。
また、ロジスティック回帰は一般化線形モデルの一種です。
定義だけだと分かりづらいので、勉強時間からテストの合否結果予測する例を考えてみます。
100人のテスト結果データ
- 勉強時間 0時間 : 合格者10人(合格率 10%)
- 勉強時間 10時間 :合格者30人 (合格率 30%)
- 勉強時間 20時間 : 合格者70人(合格率 70%)
- 勉強時間 30時間 : 合格者90人(合格率 90%)
自分が20時間勉強した場合は70%の確率で合格しているので、(50%をしきい値とすると)おそらくテストに合格できると推定されます。
ロボくん
「ロジスティック回帰」という名前がついているけど、解くことができるのは分類問題だよ。
ロジスティック回帰(Logistic regression)の確率算出アルゴリズム
先程のテストの例を考えると、テストの合格率を判断基準としてテストの合否を推定していました。
ロジスティック回帰ではどのように確率を算出しているか確率算出の方法を説明します。
変数の定義
- p: テストの合格率
- t : 勉強時間
- a : 係数(重み)
- b : 係数(バイアス)
ロジスティック回帰の確率の求め方は、基本的に線形回帰と同様の考え方を使っています。
線形回帰とは? 機械学習の分析手法を簡単に解説
線形回帰(Linear Regression)は、教師あり学習の一つの手法です。 回帰問題の予測を行うシンプルなアルゴリズムとなっています。 線形回帰(Linear Regression)とは? 線形回帰とは、「目的変数(予想した...
しかし、単純な数式ではテストの合格率は勉強時間を数式で表すことはできません。
$$p(t)≠at + b$$このようなモデルだと、右辺は確率(0~1の範囲)にはなりません。
右辺の出力範囲を0以上1以下にするために、シグモイド関数(σ)を用いることで確率に変換しています。
$$σ(z)= \frac{1}{1 + e^{-z}}$$このシグモイド関数を使い、確率を数式で表すことができます。
$$p(t)= σ(at + b)$$求めた確率p(t)を使い、しきい値以上だったら合格といった判断を行います。
ロボくん
ロジスティック回帰の判断根拠となる確率は、線形回帰とシグモイド関数を使って求めているんだね。
まとめ
ロジスティック回帰とは何かをまとめると以下の3つの特徴を持つモデルです。
- ある事象が起こる確率を計算して予測を行うモデル
- 分類問題を解くためのモデル
- 一般化線形モデルの一種
コメント