原理から応用まで: ロジスティック回帰アルゴリズムの簡単な説明

原理から応用まで: ロジスティック回帰アルゴリズムの簡単な説明

ロジスティック回帰は、バイナリ分類タスクで最も一般的に使用される機械学習アルゴリズムの 1 つです。設計がシンプルで、実装が簡単で、パフォーマンスベンチマークとして使用でき、多くのタスクで優れたパフォーマンスを発揮します。

したがって、機械学習に携わる人は誰でもその原理を理解しておく必要があります。ロジスティック回帰の基本原理はニューラル ネットワークでも使用できます。この記事では、ロジスティック回帰とは何か、どのように機能するか、その長所と短所は何かなどについて説明します。

[[229607]]

ロジスティック回帰とは何ですか?

他の多くの機械学習アルゴリズムと同様に、ロジスティック回帰は統計学から借用されています。名前に「回帰」という言葉が含まれていますが、連続的な結果を予測する必要がある回帰アルゴリズムではありません。

対照的に、ロジスティック回帰はバイナリ分類タスクに最適な方法です。 0 から 1 の間の離散的なバイナリ結果を出力します。簡単に言えば、その結果は 1 か 0 のいずれかになります。

がん検出アルゴリズムは、ロジスティック回帰問題の簡単な例として考えることができます。アルゴリズムは病理画像を入力として受け取り、患者ががんにかかっているか (1)、かかっていないか (0) を分類する必要があります。

どのように機能しますか?

ロジスティック回帰は、固有のロジスティック関数を使用して確率を推定することにより、従属変数 (予測するラベル) と 1 つ以上の独立変数 (特徴) の関係を測定します。

実際に予測を行うには、これらの確率を 2 値化する必要があります。これは、シグモイド関数としても知られるロジスティック関数の役割です。シグモイド関数は、任意の実数値を 0 から 1 の間の値にマッピングできる S 字型の曲線ですが、0/1 にはマッピングできません。次に、しきい値分類器を使用して、0 と 1 の間の値を 0 または 1 に変換します。

下の画像は、ロジスティック回帰を使用して予測を生成するために必要なすべての手順を示しています。

以下はロジスティック関数 (シグモイド関数) のグラフ表現です。

ランダムなデータ ポイントが正しく分類される確率、つまり最大尤度推定を最大化したいと考えています。最尤推定は、統計モデルのパラメータを推定する一般的な方法です。

さまざまな方法 (最適化アルゴリズムなど) を使用して確率を最大化できます。ニュートン法もその 1 つで、尤度関数を含むさまざまな関数の最大値 (または最小値) を見つけるために使用できます。ニュートン法の代わりに勾配降下法を使用することも可能です。

ロジスティック回帰と線形回帰

ロジスティック回帰と線形回帰の違いは何だろうと疑問に思うかもしれません。ロジスティック回帰では離散的な結果が得られますが、線形回帰では連続的な結果が得られます。住宅価格を予測するモデルは、連続的な結果を返すモデルの良い例です。この値は、家の大きさや場所などのパラメータによって変わります。個別の結果は常に 1 つ (がんがある) か別のもの (がんがない) です。

長所と短所

ロジスティック回帰は、非常に効率的で、多くの計算を必要とせず、理解しやすく、入力機能のスケーリングを必要とせず、調整を必要とせず、調整が容易で、調整された予測確率を出力するため、広く使用されているアルゴリズムです。

線形回帰と同様に、ロジスティック回帰では、出力変数に関連しない属性と類似性の高い属性を削除するとパフォーマンスが向上します。したがって、特徴処理はロジスティック回帰と線形回帰のパフォーマンスにおいて重要な役割を果たします。

ロジスティック回帰のもう 1 つの利点は、実装が非常に簡単で、トレーニングが非常に効率的であることです。私の研究では、より複雑なアルゴリズムを試す前に、通常、ロジスティック回帰モデルをベースラインとして使用します。

ロジスティック回帰は実装が簡単で迅速なため、他のより複雑なアルゴリズムのパフォーマンスを測定するための優れたベンチマークにもなります。

欠点の 1 つは、決定面が線形であるため、ロジスティック回帰を使用して非線形問題を解決できないことです。 2 つのクラスにそれぞれ 2 つのインスタンスがある次の例を見てみましょう。

明らかに、間違いを犯さずに 2 つのクラスを区別する直線を引くことはできません。シンプルな決定木を使用する方がよい選択肢です。

ロジスティック回帰は最も強力なアルゴリズムの 1 つではなく、より複雑なアルゴリズムによって簡単に上回られる可能性があります。もう 1 つの欠点は、正しいデータ表現に大きく依存することです。

つまり、重要な独立変数をすべて特定するまでは、ロジスティック回帰は有用なツールにはなりません。結果は離散的であるため、ロジスティック回帰ではカテゴリ結果のみを予測できます。また、過剰適合する傾向があることでも知られています。

いつ使うか

すでに述べたように、ロジスティック回帰は、線形境界を介して入力をクラスごとに 1 つずつ 2 つの「領域」に分割します。したがって、データは以下に示すデータ ポイントのように線形に分離可能である必要があります。

言い換えると、Y 変数に 2 つの値しかない場合 (たとえば、分類の問題があるとき) は、ロジスティック回帰の使用を検討する必要があります。次のセクションで説明するように、ロジスティック回帰をマルチクラス分類に使用することもできます。

複数分類タスク

ランダム フォレスト分類器やナイーブ ベイズ分類器など、複数の分類を行うアルゴリズムは数多く存在します。ロジスティック回帰などの一部のアルゴリズムは多重分類には使用できないように見えますが、いくつかのテクニックを使用することで多重分類タスクに使用することもできます。

手書きの数字 0 から 9 の画像を含む MNIST データセットから始めて、最も一般的な「トリック」について説明します。これは多重分類タスクであり、アルゴリズムによって画像がどの数字に対応するかがわかるはずです。

1. 1対多(OVA)

この戦略に従うと、各数字ごとに 1 つずつ、合計 10 個のバイナリ分類器をトレーニングできます。これは、1 つの分類器を 0 を検出するようにトレーニングし、1 つを 1 を検出するようにトレーニングし、1 つを 2 を検出するようにトレーニングする、ということを意味します。画像を分類したいときは、どの分類器の予測スコアが最も高いかを確認するだけです。

2. 1対1(OVO)

この戦略によれば、数字のペアごとにバイナリ分類器がトレーニングされます。これは、0 と 1 を区別できる分類器、0 と 2 を区別できる分類器、1 と 2 を区別できる分類器などをトレーニングすることを意味します。 N 個のカテゴリがある場合、N×N(N-1)/2 個の分類器をトレーニングする必要があります。MNIST データセットの場合、45 個の分類器が必要です。

画像を分類する場合、これら 45 個の分類器をそれぞれ実行し、パフォーマンスが最も優れた分類器を選択します。この戦略が他の戦略に比べて大きな利点となるのは、分類しようとしている 2 つのカテゴリのトレーニング セットでトレーニングするだけでよいことです。

サポート ベクター マシン分類器のようなアルゴリズムは、大規模なデータセットではうまく拡張できないため、この場合は、ロジスティック回帰などのバイナリ分類アルゴリズムを使用する OvO 戦略の方が適しています。これは、小規模なデータセットで多数の分類器をトレーニングする方が、大規模なデータセットで 1 つの分類器をトレーニングするよりも高速だからです。

ほとんどのアルゴリズムでは、sklearn はマルチ分類タスクにバイナリ分類子を使用するタイミングを認識し、OvA 戦略を自動的に使用できます。特殊なケース: サポート ベクター マシン分類器を使用すると、OvO 戦略が自動的に実行されます。

その他の分類アルゴリズム

その他の一般的な分類アルゴリズムには、ナイーブベイズ、決定木、ランダムフォレスト、サポートベクターマシン、K近傍法などがあります。これらについては他の記事で説明しますが、機械学習アルゴリズムの数に圧倒されることはありません。 4 つまたは 5 つのアルゴリズムを実際に理解し、特徴処理に重点を置く方がよいことに注意してください。これは、今後の作業のトピックでもあります。

要約する

この記事では、ロジスティック回帰とは何か、どのように機能するかについて学びました。これで、その長所と短所をしっかりと理解し、いつ使用すべきかがわかりました。

さらに、sklearn を使用したロジスティック回帰による多重分類の使用と、前者が他の機械学習アルゴリズムよりも優れたベースライン アルゴリズムである理由について説明しました。

オリジナルリンク: https://towardsdatascience.com/the-logistic-regression-algorithm-75fe48e21cfa

[この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  2018 年 4 月の最も人気のある AI 機械学習プロジェクト トップ 5

>>:  人工知能の時代にはどんな教師が必要なのでしょうか?

ブログ    
ブログ    

推薦する

Keras 機能 API によるディープラーニング

[[380280]] Keras Python ライブラリを使用すると、ディープラーニング モデルを...

データだけ? 2018 年の AI 予測トップ 5

[[213487]] 2017年、人工知能(AI)は職場でも家庭でも、ほとんどの人々の日常生活の一...

Java ソートアルゴリズムについてどれくらい知っていますか?

今日は、Java のさまざまなソート アルゴリズムについてお話します。以前、上級開発者との面接があり...

...

...

2020年のAIの現状

人工知能(AI)は今日最もホットな話題の一つです。最近の進歩は文字通りそれ自体を物語っています。GP...

...

AI聴覚技術は国際紛争に関与したことがあるか?

AI視覚技術がさまざまな業界で応用されるのはもはや目新しいことではなく、現在ではAI聴覚技術も戦場...

エア入力方式!浙江大学の最新研究:空中で指を動かすことでスマートウォッチにテキストを入力できる

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

...

CTO は、企業開発のさまざまな段階で知的財産権の対応する全体像をどのように確立できるでしょうか?

最近、新しい「特許法」の全文が公布され、新たに改正された「著作権法」が公布されたことにより、国は知的...

PyTorch を使用した文字ベースの再帰型ニューラル ネットワークの実装

ここ数週間、私は PyTorch で char-rnn のバージョンを実装することに多くの時間を費や...

インメモリコンピューティング技術に基づく人工知能チップが利用可能:パフォーマンスは数十から数百倍高速

[[249742]]人工知能システム用の新しいコンピュータチップが利用可能になりました。プリンストン...