web-dev-qa-db-ja.com

ロジスティック回帰とソフトマックス回帰の違い

私は、ロジスティック回帰がバイナリ分類用であり、マルチクラス問題のソフトマックス回帰であることを知っています。同じデータを使用して複数のロジスティック回帰モデルをトレーニングし、それらの結果を正規化して、1つのソフトマックスモデルを使用する代わりにマルチクラス分類器を取得する場合、違いはありますか?結果は同じだと思います。 「マルチクラス分類器はすべてバイナリ分類器のカスケード結果です」と言えるでしょうか。 (ニューロンネットワークを除く)

13
Xuan Wang

複数のロジスティック回帰モデルとsoftmax出力には、わずかな違いがあります。

基本的に、サイズdの入力を単一の出力k回にマッピングするか、サイズdの入力をkは1回出力します。ただし、複数のロジスティック回帰モデルは混乱を招き、実際にはパフォーマンスが低下します。これは、ほとんどのライブラリ(TensorFlow、Caffe、Theano)が低レベルのコンパイル済み言語で実装され、高度に最適化されているためです。複数のロジスティック回帰モデルの管理はより高いレベルで処理される可能性が高いため、回避する必要があります。

1
Joshua Howard

他の人がすでに伝えていることについてのエコー。

  1. Softmax Regressionはロジスティック回帰の一般化であり、任意の値の 'k'次元ベクトルを範囲(0、1)で囲まれた値の 'k'次元ベクトルに要約します。
  2. ロジスティック回帰では、ラベルはバイナリ(0または1)であると想定しています。ただし、Softmax回帰では、  クラス。
  3. 仮説関数:
    • LR: 
    • Softmax回帰: 

参考: http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/

7
Pramit

ロジスティック回帰はバイナリ分類子と考えることができます。ソフトマックス回帰は、マルチクラス分類子を実装する1つの方法です(他の方法があります)。 softmax回帰の出力層の数は、予測するクラスの数と同じです。

例:数字認識の場合、予測する10個のクラス[0-9]があるので、これはモデルごとに10個の確率を出力するモデルと考えることができ、実際には最も高い確率を持つクラスを選択します予測クラスとして。

上記の例から、softmax関数の出力はクラスの数に等しいことがわかります。これらの出力は確かに各クラスの確率に等しいため、合計すると1になります。代数的説明については、スタンフォード大学のWebサイトをご覧ください。このトピックについて簡潔に説明しています。

リンク: http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/

違い:上記のリンクでは、クラスが2つしかないソフトマックスはロジスティック回帰と同じであると詳細に説明されています。したがって、大きな違いは命名規則だけであると言えます。 2クラスの問題を扱う場合はロジスティック回帰と呼び、多国籍(2クラスを超える)問題を扱う場合はソフトマックスと呼びます。

注:ソフトマックス回帰は、ニューラルネットワークなどの他のモデルでも使用できることを覚えておく価値があります。

お役に立てれば。

4
Veera Marni