決定しきい値はロジスティック回帰のハイパーパラメーターですか?


13

(バイナリ)ロジスティック回帰からの予測クラスは、モデルによって生成されたクラスメンバーシップ確率のしきい値を使用して決定されます。私が理解しているように、通常はデフォルトで0.5が使用されます。

ただし、しきい値を変更すると、予測される分類が変更されます。これは、しきい値がハイパーパラメーターであることを意味しますか?その場合、(たとえば)scikit-learnのGridSearchCV方法を使用して(正則化パラメーターで行うようにC)しきい値のグリッドを簡単に検索できないのはなぜですか。


1
「私が理解したように、通常はデフォルトで0.5が使用されます。」「典型的」という言葉の意味に依存します。実際には、誰もこれを行うべきではありません。
マシュードゥルーリー

3
非常に関連性の高い:分類確率のしきい値
ステファンKolassa

厳密にはロジスティック回帰を意味するのではなく、バイナリ分類のしきい値を持つ1つのロジスティック回帰子を使用することを意味します(2つのクラスごとに1つの回帰子をトレーニングし、少しシードされたランダム性または重みを使用して、線形に依存しないようにすることもできます)。
smci

回答:


12

決定しきい値は、予測する正の数と予測する負の数の間のトレードオフを作成します。これは、トートロジー的に、決定しきい値を大きくすると、予測する正の数が減少し、負の数が増加するためです。予測します。

決定閾値があるではない、それは変更されませんので、モデルチューニングの意味でのハイパーパラメータの柔軟性モデルのを。

決定しきい値のコンテキストでの「調整」という言葉についての考え方は、ハイパーパラメーターの調整方法とは異なります。変更Cや他のモデルのハイパーパラメータは変更したモデルを(たとえば、ロジスティック回帰係数は異なります)、しきい値の調整は2つのことしか行えません:TPをFNに、FPをTNにトレードオフします。ただし、これは係数を変更しないため、モデルは同じままです。(ランダムフォレストなど、係数を持たないモデルにも同じことが言えます。しきい値を変更しても、ツリーについては何も変わりません。)狭い意味で、エラー間の最適なトレードオフを見つけることは正しいことです。は「チューニング」ですが、しきい値の変更はによって最適化された方法で他のモデルハイパーパラメーターにリンクされると考えるのは間違っていますGridSearchCV

別の言い方をすれば、決定のしきい値を変更すると、必要な誤検知と誤検知の数に関する選択が反映されます。決定しきい値を-1のような完全に信じがたい値に設定したと仮定してください。すべての確率は負ではないため、このしきい値を使用すると、すべての観測について「正」を予測できます。ある特定の観点からは、これは素晴らしいことです。なぜなら、偽陰性率は0.0だからです。ただし、誤検知率も1.0の極値であるため、その意味で、-1でのしきい値の選択はひどいです。

もちろん、理想は、TPRが1.0、FPRが0.0、FNRが0.0であることです。しかし、これは通常、実世界のアプリケーションでは不可能であるため、質問は「どれだけのFPRに対してどれだけのFPRを受け入れますか?」になります。そして、これが曲線の動機です。


@Sycoraxの回答に感謝します。あなたは私をほぼ納得させました。しかし、「どれだけのFPRをどのくらいのTPRで受け入れるか」という考えを形式化することはできませんか?たとえば、コストマトリックスを使用します。コストマトリックスがある場合、ハイパーパラメーターを調整するため、調整によって最適なしきい値を見つけることは望ましくありませんか?または、最適なしきい値を見つけるためのより良い方法はありますか?
ニック

1
CGridSearchCV

@Sycoraxしきい値とインターセプト(バイアス項)は基本的に同じことではありませんか?つまり、しきい値を0.5に固定したまま、それに応じて切片を変更できます。これは「最後のコメントに従って」「モデルを変更」しますが、バイナリ予測に関しては同じ効果があります。これは正しいです?もしそうなら、「モデルの変更」と「決定ルールの変更」の厳密な区別がこの場合にとても意味があるかどうかはわかりません。
アメーバは、モニカーを復活させる

@amoebaこれは刺激的な発言です。私はそれを考慮する必要があります。あなたの提案は「しきい値を0.5に保ち、インターセプトを調整するハイパーパラメーターとして扱う」ことになります。これを行うことを数学的に止めることはできませんが、モデルがその可能性を最大化しないという観察を除きます。ただし、特定の状況では、MLEを達成することは優先事項ではありません。
シコラックスは、モニカの復活を

10

ただし、しきい値を変更すると、予測される分類が変更されます。これは、しきい値がハイパーパラメーターであることを意味しますか?

うん、そうだね、ちょっと。これは決定ルールのハイパーパラメーターですが、基礎となる回帰ではありません。

その場合、(たとえば)scikit-learnのGridSearchCVメソッドを使用して(正則化パラメーターCに対して行うように)しきい値のグリッドを簡単に検索できないのはなぜですか。

これは、sklearnの設計エラーです。ほとんどの分類シナリオのベストプラクティスは、これらの確率の品質の尺度(ロジスティック回帰のログ損失など)を使用して、基礎となるモデル(確率を予測する)を適合させることです。その後、これらの確率に関する決定しきい値を調整して、分類ルールのビジネス目標を最適化する必要があります。ライブラリを使用すると、品質の尺度に基づいて意思決定のしきい値を簡単に最適化できるはずですが、それがうまくいくとは思いません。

これは、sklearnが間違えた場所の1つだと思います。ライブラリには、predictでしきい値を設定するすべての分類モデルに関するメソッドが含まれてい0.5ます。この方法は役に立たないため、これを呼び出さないことを強く推奨します。sklearnがより良いワークフローを促進していないのは残念です。


また、predictメソッドの既定の選択である0.5をカットオフとして懐疑的に共有していますが、サンプル外のクロスエントロピー損失に関してモデルを調整できるオブジェクトをGridSearchCV受け入れscorerます。私はあなたのポイントを逃していますか?
シコラックスは、モニカを復活させる

そう、これはベストプラクティスであることに同意しましたが、ユーザーが決定のしきい値を調整することを推奨していません。
マシュードゥルーリー

わかった。何が言いたいのか理解した!
シコラックスは、モニカを復活させる

1
@Sycoraxは、明確にするために編集しようとしました!
マシュードゥルーリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.