3-1-2-2 ロジスティック回帰

線形回帰は、数字を予測するモデルでした。
「だいたい、いくら?」「たぶん、このくらい。」
未来の値を、一本の線で描く。
でも、世の中には異なるかたちの問いがたくさんあります。

たとえば。
このメールは、スパム?それともスパムじゃない?
このお客さんは、買う?買わない?
この検査結果は、陽性?陰性?

答えは数字じゃなくて、はい/いいえ。

ここで登場するのが、ロジスティック回帰です。
ロジスティック回帰は、「どちらか」を決めるための線形モデル。

まずは線形回帰と同じように、特徴量を組み合わせて、ひとつのスコアを作ります。でも、そのまま使いません。
そのスコアを、0〜1の確率に変換するのです。
「0.83 → 83%の確率で『はい』」のように。

ロジスティック回帰は、世界を「確率の言葉」に翻訳するAIです。
白か黒か、ではなく、「たぶん白」「けっこう黒」「半々くらい」。
そんな曖昧さを、ちゃんと数字にします。
だからロジスティック回帰は、
・スパム判定
・購入予測
・離脱予測
・病気の有無
みたいな場面で、よく使われます。
しかも、シンプル計算が軽いなぜそう判断したか説明しやすいという、現場にやさしいモデル。
ただし弱点もあります。
境界は、基本的に直線。複雑に入り組んだ世界は、ちょっと苦手。

わたしたちも毎日、ロジスティック回帰みたいに生きています。
「今日は出かける確率、70%」
「この人を信じたい気持ち、85%」
白黒はっきり決められない世界を、確率で抱えながら選択しています。
ロジスティック回帰は、そんな人間の迷い方を、数式にしたモデルなのかもしれません。

分類の問題には、大きく分けてふたつのタイプがあります。

ひとつは、二値分類。
もうひとつは、マルチクラス分類。

まずは、二値分類
これは、
はい/いいえ
スパム/普通
病気あり/なし
のように、答えが2つしかない世界です。
ロジスティック回帰が、いちばん得意とするのがこの形です。
確率を出して、
「80%の確率で、はい」
「20%の確率で、いいえ」
というふうに判断する。

白か黒か。オンかオフか。
とてもシンプルで、現実のビジネスでもよく使われます。

次に、マルチクラス分類
こちらは、
猫/犬/鳥
春/夏/秋/冬
A商品/B商品/C商品
のように、選択肢が3つ以上ある世界
今度は、「どっち?」じゃなくて、「どれ?」を当てる。

実はロジスティック回帰も、工夫すればマルチクラス分類に使えます。
でも仕組みとしては、「二値分類をたくさん組み合わせている」というイメージ。

ロジスティック回帰には、大事な「翻訳係」がいます。
それが、シグモイド関数
ロジスティック回帰は最初、特徴量を組み合わせて、ひとつの数字(スコア)を作ります。
この時点では、その値は、マイナスにもなるし、ものすごく大きくもなります。
でも、このままでは「はい or いいえ」が決められない。

そこで登場するのがシグモイド関数。
この関数は、どんな数字が来ても、必ず 0〜1 のあいだに押し込めるのです。

たとえば:
すごく小さい値 → ほぼ 0
ちょうど真ん中 → 0.5
すごく大きい値 → ほぼ 1
というふうに。

シグモイド関数は、荒ぶる数字を、やさしく確率に変えてくれる存在。
直線だった世界を、なめらかなS字カーブにして、「どれくらい『はい』っぽいか」を教えてくれます。
だからロジスティック回帰は、
0.9 → かなり、はい
0.6 → ちょっと、はい
0.2 → ほぼ、いいえ
のように、白黒じゃなく「気配」で判断できるのです。