titc.ai › BLOG
BLOG · AI入門・機械学習
ロジスティック回帰の動きをアニメーションで理解する
「買う確率」を予測する仕組みを、境界線が回って合っていく様子で確かめる
公開日 / 著者 富田 良治(TITC合同会社 代表社員)
ロジスティック回帰は、名前に「回帰」と付いていますが、「購入する」「しない」のような2択の結果を、確率で予測する手法です。たとえば「このお客様がDMに反応して購入する確率は78%」のように、0〜100%の数字で答えが出ます。下のデモで、予測の線が少しずつ正しい位置に合っていく様子を見てみましょう。
動かして確かめる
左の図の点の一つひとつが、お客様です。横軸は「来店回数」、縦軸は「平均購入額」。青い丸(●)は「購入した」、赤いバツ(×)は「購入しなかった」お客様です。背景の色は「購入する確率」で、青いほど高く、赤いほど低くなります。太い線は、確率がちょうど50%になる境目です。まずは「再生」を押してください。
お客様の分布と、予測の境目(確率50%の線)
● 青い丸=購入した × 赤いバツ=購入しなかった / 背景は「購入する確率」(青=高い、赤=低い)。太線=確率50%
確率に変える「S字カーブ」(点が並ぶ位置)
横軸=スコア(右ほど「買いそう」、左ほど「買わなさそう」)/縦軸=購入する確率。学習が進むと、青は右上、赤は左下へ寄っていきます。
予測の外れ具合(損失)の推移
下がるほど、確率の予測が実際の結果に近づいています。
「再生」か「1ステップ進む」を押してください。
修正した回数:0 回
予測の外れ具合(損失):-
正解率(確率50%を境に分けたとき):-
「予測してみる」を押してから左の図をクリック(タップ)すると、その場所にいるお客様の購入確率が表示されます。
1回の「修正」で、境目の線が少しだけ動きます。「損失」は予測が外れているほど大きくなる数字です。
何が起きているのか:点数をつけて、確率に直して、修正する
ロジスティック回帰は、次の流れで「境目」を探します。
- 点数(スコア)をつける:お客様ごとに「来店回数 × 重み+平均購入額 × 重み+基準値」という足し算で、買いそう度の点数を出します。点数が0のところが、背景の太線(境目)です。(デモで境目の線が回ったり動いたりするのは、この「重み」と「基準値」を変えているからです)
- 点数を確率に直す:点数はマイナスからプラスまでどこまでも伸びるので、そのままでは確率になりません。そこで「S字カーブ」を通して、0〜1(0〜100%)に収めます。点数が0なら50%、大きなプラスなら100%に近く、大きなマイナスなら0%に近づきます。(右上の図で、点がS字の上に並ぶところ)
- 外れ具合を測る:実際に買ったお客様に低い確率をつけていたり、買わなかったお客様に高い確率をつけていたりすると、「損失」が大きくなります。自信を持って外すほど、損失は大きくなります。(右下のグラフ)
- 損失が減る方向へ、少しだけ修正する:重みと基準値を、損失が小さくなる向きにほんの少しずらします。これを「勾配降下法」と呼びます。霧の中で、足元の傾きだけを頼りに谷底へ下りていくイメージです。1回にどれだけ動くかが「学習率」です。
- 繰り返す:修正を重ねると、青い点は右上、赤い点は左下へ寄り、背景の色がくっきりしていきます。やがて損失がほとんど変わらなくなったら完了です。
学習率を「大」にすると、1回の修正が大きすぎて、境目が行き過ぎたり揺れたりすることがあります。「小」だと安定しますが、合うまでに時間がかかります。両方を試して、違いを見てください。
係数の読み方(どの項目が、どれだけ効くか)
学習が終わった「重み」は、各項目が購入確率にどう影響するかを表します。
- 符号(プラスかマイナスか):プラスなら、その項目が大きいほど「買う」方向に効きます。マイナスなら逆です。
- 大きさ:絶対値が大きいほど、強く効きます。ただし、項目どうしの単位がそろっているときだけ比べられます。このデモでは、あらかじめ両方の軸を同じ尺度にそろえて(標準化して)います。
- オッズ比:「オッズ」とは「買う確率 ÷ 買わない確率」のことです(確率50%なら1倍、75%なら3倍)。重みが w のとき、その項目が「軸の幅の約3割」ぶん増えると、オッズが ew 倍になります。たとえば重みが1.1なら約3倍です。デモの右上の数字で確認できます。
注意したいのは、「確率が○ポイント上がる」ではなく「オッズが○倍になる」という言い方になる点です。元の確率によって、確率の上がり幅は変わります。
使うときの注意点
- 基本は「直線で分ける」手法です。「データの形」を「円形」にしてみてください。購入したお客様が中心に固まっていると、どんなに学習しても、直線では分けきれず、損失も正解率も改善しません。曲がった境目が必要なら、項目を組み合わせて加える、別の手法を使うなどの工夫が要ります。
- きれいに分かれすぎると、重みが大きくなり続けます。「きれいに分かれる」を選んで長く再生すると、損失はどんどん0に近づき、境目の色の変わり目が極端に急になります。「100%買う」と言い切る過信した予測になりやすいので、実務では重みが大きくなりすぎないよう抑える(正則化)のが一般的です。
- 確率は、データに無いことまでは保証しません。過去のお客様の傾向から出した数字です。キャンペーンや景気が変われば、当たらなくなります。「重なりあり」のデータでは、境目の近くは確率が50%前後で、どちらとも言えないお客様がたくさん残ります。
- 項目の単位はそろえて使います。「購入金額(円)」と「来店回数(回)」を、そのまま入れると、学習が不安定になったり、重みの大きさを比べられなくなったりします。デモでも、軸を同じ尺度にそろえてから学習しています。
- 相関と因果は別です。「重みが大きい=その項目を変えれば買ってもらえる」とは限りません。あくまで「一緒に動く傾向」の強さです。
中小企業での使いどころ
「結果が2択」で、理由も知りたい場面に向いています。たとえば、次のような使い方があります。
- DMやクーポンの送り先選び:過去の反応を学習して、反応しそうなお客様の順に並べる。
- 解約・失注の予測:「解約する確率」が高いお客様に、先に声をかける。
- 入金の遅れや、クレームの起きやすさの見立て:確率の高い取引先を、事前に気にかける。
重みの符号と大きさが読めるので、「何が効いているか」を現場に説明しやすい点も、実務で重宝される理由です。予測の精度だけを求める場合は他の手法が上回ることもありますが、まず試す基準として、よく使われます。
富田 良治(とみた よしはる)
TITC合同会社 代表社員
AI経営コンサルタント。中小企業診断士・ITストラテジスト。元ITエンジニアで駄菓子屋オーナー。 プロフィールを見る