ロジスティック回帰の行列表記


15

線形回帰(二乗損失)では、行列を使用して、目的を非常に簡潔に表記します

最小化する  Aバツb2

ここで、Aはデータ行列、バツは係数、bは応答です。

ロジスティック回帰の目的に同様の行列表記はありますか?私が見たすべての表記法は、すべてのデータポイント(\ sum _ {\ text data} \ text {L} _ \ text {logistic}(y、\ beta ^ Tx)のようなもの)の合計を取り除くことはできませんdataLロジスティックyβTバツ


編集:joceratopsとAdamOの素晴らしい答えに感謝します。彼らの答えは、線形回帰がより簡潔な表記法を持っている別の理由が、正方形と和またはe ^ \ top eをカプセル化するノルムの定義にあることを理解するのに役立ちましたee。しかし、ロジスティック損失では、そのような定義はなく、表記法が少し複雑になります。

回答:


18

線形回帰では、xを推定する尤度推定の最大化(MLE)ソリューションには、次の閉形式のソリューションがあります(Aが完全な列ランクの行列であると仮定します)。

x^lin=argminxAxb22=(ATA)1ATb

これは「目的関数を最小化するを見つける、」と読みます。この方法で線形回帰目的関数を表現することの良いところは、すべてを行列表記で保持し、を手で解くことができることです。Alex R.が言及しているように、実際には直接考慮ことはありません。計算が非効率的であり、がフルランク基準を満たさないことが多いためです。代わりに、Moore-Penrose疑似逆関数を使用します。擬似逆問題の計算的解決の詳細には、コレスキー分解または特異値分解が含まれます。xAxb22X LINA T A - 1 Ax^lin(ATA)1A

あるいは、ロジスティック回帰の係数を推定するためのMLEソリューションは次のとおりです。

x^log=argminxi=1Ny(i)log(1+exTa(i))+(1y(i))log(1+exTa(i))

ここで(データの各サンプルが行ごとに保存されると仮定):

バツは回帰係数を表すベクトルです

a i t h Aは、データ行列のサンプル/行を表すベクトルですthA

yでスカラー、及びに対応するラベルサンプル{01}thth

Nは、データサンプル数/データ行列行数です。A

繰り返しますが、これは「目的関数を最小化するを見つける」と読みます。バツ

必要に応じて、さらに一歩進んで、をマトリックス表記で次のように表すことができます。バツ^ログ

x^log=argminx[1(1y(1))1(1y(N))][log(1+exTa(1))...log(1+exTa(N))log(1+exTa(1))...log(1+exTa(N))]

しかし、これを行っても何も得られません。ロジスティック回帰には閉形式の解がなく、行列表記で表現することで線形回帰と同じ利点が得られません。を解くには、勾配降下法やニュートンラプソン法などの推定手法が使用されます。これらの手法のいくつか(つまり、Newton-Raphson)を使用して、は近似され、マトリックス表記で表されます(Alex Rが提供するリンクを参照)。x^logx^log


すごい。ありがとう。解くようなものがない理由は、マトリックス表記を作成して合計記号を回避するためにそのステップを踏まない理由だと思います。AAバツ=Ab
ハイタオデュ

さらに一歩進んで、行列乗算にするとコードが簡単になるという利点があります.matlabなどの多くのプラットフォームでは、すべてのデータを合計するforループは行列演算よりもはるかに遅くなります。
ハイタオデュ

5
@ hxd1011:ちょっとしたコメント:行列方程式に還元することは必ずしも賢明とは限りません。以下の場合、、あなたが実際に逆行列を探してみてはいけませんのではなく、より速く、より数値的に安定になるコレスキー分解のような何かをします。ロジスティック回帰の場合、実際に行列計算を使用するさまざまな反復スキームがあります。偉大なレビューについてはこちらをご覧ください:research.microsoft.com/en-us/um/people/minka/papers/logreg/...ATAバツ=ATbATA
アレックスR.

1
@AlexR。どうもありがとうございました。正規方程式を使用すると、行列の条件数が二乗されることを学びました。そして、QRまたはコレスキーの方がはるかに良いでしょう。あなたのリンクは素晴らしく、数値的手法によるこのようなレビューは常に私が望んでいたものです。
ハイタオデュ

15

@joceratops answerは、推定の最尤の最適化問題に焦点を当てています。これは確かに、多くのタイプの問題に柔軟に対応できるアプローチです。線形およびロジスティック回帰モデルを含むほとんどのモデルを推定するために、モーメント推定の方法に基づいた別の一般的なアプローチがあります。

線形回帰推定量は、推定式のルートとして定式化することできます。

0=バツTYバツβ

この点で、は0の平均残差を取得する値と見なされます。この解釈を行うために、基礎となる確率モデルに依存する必要はありません。ただし、通常の尤度のスコア方程式を導き出すのは興味深いことです。実際に、上記の形式とまったく同じになることがわかります。線形モデル(たとえば、線形回帰またはロジスティック回帰)の正規指数族の尤度を最大化することは、スコア方程式の解を得ることと同等です。β

0==1nSαβ=βログLβαバツY=バツTYgバツβ

ここ値が期待している。GLM推定では、はリンク関数の逆であると言われています。通常の尤度方程式では、は恒等関数であり、ロジスティック回帰でははロジット関数です。より一般的なアプローチは、を要求することです。これにより、モデルの指定ミスが可能になります。Ygバツβgg1g10==1nYgバツβ

さらに、正規の指数族の場合、これは、平均分散関係と呼ばれます。実際、ロジスティック回帰の場合、平均分散関係は、平均がによって分散に関連するようなものです。これは、GLMが誤って指定されたGLMの解釈が、平均ピアソン残差0を与えるものであると解釈することを示唆しています。これはさらに、非比例関数平均導関数と平均分散関係を可能にする一般化を示唆しています。gバツββ=Vgバツβp=gバツβvarY=p1p

一般化推定方程式のアプローチは、次のように線形モデルを指定します:

0=gバツββV1Ygバツβ

で与えフィット値(平均値)に基づいて、分散の行列。この推定アプローチにより、GLMと同様にリンク関数と平均分散関係を選択できます。Vgバツβ

ロジスティック回帰では、は逆ロジットになり、はで与えられます。ニュートンラプソンによって得られたこの推定式の解は、ロジスティック回帰から得られたを生成します。ただし、同様のフレームワークの下では、いくぶん広範なクラスのモデルが推定可能です。たとえば、リンク関数を線形予測子の対数とみなすと、回帰係数はオッズ比ではなく相対リスクになります。これは、ORをRRとして解釈する際によく文書化された落とし穴を与えられたので、なぜ誰もロジスティック回帰モデルにまったく適合しないのかと疑問に思います。gVgバツβ1gバツββ


1
+1すばらしい回答。微分に関するルート発見としてそれを定式化することは私にとって本当に新しいです。そして、2番目の式は本当に簡潔です。
ハイタオデュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.