機械学習

ロジスティック回帰①

投稿日:2019年2月7日 更新日:

こちらを読むと

  • 機械学習のロジスティック回帰の概要を知ることができます
  • ロジスティック回帰のモデル式が分かります

ロジスティック回帰とは

分類問題に使われる機械学習のモデルです。
単純パーセプトロンのように、”0 or 1″ではなく、
“0の確率は〇%、1の確率は△%”のように、出力を確率で表すことができます。

何が嬉しいか

 ロジスティック回帰で出力を確率で表せると何が嬉しいかというと、
モデルを使う人が、グレーゾーンの結果をどうするか、決められることです。
詳解ディープラーニングやCourseraの機械学習コースでも挙げられていますが、スパムメールの分類を行う際の例を挙げます。
 スパムメールか、通常メールか、の分類をするとき、今までの学習結果を用いても、”スパム or 通常”とはっきり分けられることはなく、どうしてもグレーゾーンが存在します。例えば、100%ではないけれど、56%の確率でスパムメールと判断される場合などです。
 開発システムの仕様として、40%以上でスパムメールと判断された場合は、警告を出す、と決めることはできます。それが現場によって、30%だったり、60%だったりすることもあるでしょう。
 すなわち、”0 or 1″ではなく、その中間(グレーゾーン)も分かるので、モデルを使う人が結果に応じて処理を決めることができます。

シグモイド関数

ロジスティック回帰には、出力にシグモイド関数を使います。シグモイド関数の式は以下の形です。

$$
\sigma(x) = \frac{1}{1+e^{-x}}
$$

出典:Wikipedia(https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%B0%E3%83%A2%E3%82%A4%E3%83%89%E9%96%A2%E6%95%B0)

シグモイド関数がロジスティック回帰に用いられるのは、以下の2点の理由によるものです。

  1. 出力が0~1の間で出力される
  2. 微分計算の結果をシグモイド関数で表せる

2の微分計算の結果は、以下のようになっており、微分計算結果がさらにシグモイド関数で表せます。この特長が、非常に都合がよいのです。

$$
\sigma'(x) = \sigma(x)(1 – \sigma(x))
$$

モデル式

ある入力\({\bf x}\)に対して、ニューロンが発火するかしないかをとり得る確率変数を\(C\)とおきます。すなわち\(C\)は、ニューロンが発火する場合\(C\)=1、発火しない場合\(C\)=0です。単純パーセプトロンと同様に、以下のようなモデルを考えた場合、

この画像には alt 属性が指定されておらず、ファイル名は image-82.png です

ニューロンが発火する確率は

$$
p(C = 1 | {\bf x}) = \sigma({\bf w}^T{\bf x} + b)
$$

となります。確率は和が1なので、ニューロンが発火しない確率は

$$
p(C = 0 | {\bf x}) = 1-p(C = 1 | {\bf x})
$$

となります。ここで、\(y:=\sigma({\bf w}^T{\bf x} + b)\)とおくと、上記の2式は以下のようにひとまとめにできます。

$$
p(C = t | {\bf x}) = y^t(1 – y)^{1-t}
$$

この式変形は、ちょっとわかりにくいのですが、t=0、t=1をそれぞれ代入したとき、元の式になることが分かるかと思います。

まとめ

  • 機械学習のロジスティック回帰の概要を知ることができました
  • ロジスティック回帰のモデル式が分かりました

次回はこのモデル式から、どのように学習を行っていくかについて説明します。
ロジスティック回帰もニューラルネットワークの基本になるので、しっかり理解していきたいところです!

Reference

詳解ディープラーニング
https://book.mynavi.jp/manatee/books/detail/id=72424



-機械学習

執筆者:


  1. […] 前回の記事で、ロジスティック回帰はシグモイド関数を用いていること、モデル式が以下のように表せることまでを説明しました。 […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

scikit-learn load_iris datasetのまとめ

Table of Contents こちらを読むと何がしたいかload_iris datasetまとめ こちらを読むと scikit-learnのload_iris datasetについて、詳細が分か …

[機械学習] sklearnのグリッドサーチ(Grid Search)実装

Table of Contents こちらを読むとやりたいこと実装例まとめReference こちらを読むと sklearnのグリッドサーチ実装例が分かりますグリッドサーチしたベストパラメータの見方が …

kaggleのKernelでGPUを使うには

Table of Contents こちらを読むとはじめにKernelの設定まとめ こちらを読むと kaggleのKernelでGPUを使う方法が分かります。記事の所要時間は5分です。 はじめに ka …

多クラスロジスティック回帰①

Table of Contents こちらを読むと多クラスロジスティック回帰とは何が嬉しいか多クラス分類モデルソフトマックス関数まとめReference こちらを読むと 機械学習多クラスロジスティック …

SIerエンジニアが1年間AIを勉強して感じること

Table of Contents こちらを読むと結論:AI職は、エンジニアの上位職ではなく、別物著者についてAI職と一般エンジニアとの違い機械学習エンジニアが一般エンジニアと違うところ機械学習のモデ …