Plattのスケーリングを使用する理由


17

教師あり学習の信頼度を確率に調整する(たとえば、オーバーサンプリングデータを使用してSVMまたは決定木から信頼度をマップする)方法の1つは、Plattのスケーリングを使用することです(たとえば、ブースティングから調整済み確率を取得する)。

基本的には、ロジスティック回帰を使用してをにマッピングします。従属変数は真のラベルであり、予測子は未較正モデルからの信頼度です。私が理解していないのは、1または0以外のターゲット変数の使用です。このメソッドは、新しい「ラベル」の作成を呼び出します。[;][0;1]

シグモイド列セットへの過剰適合を回避するために、サンプル外モデルが使用されます。ある場合正例と各トレーニング例えば列車セット内の負例、プラットキャリブレーションが使用目標値及び(代わりに、1と0のそれぞれ)、 N+Ny+y

y+=N++1N++2;y=1N+2

私が理解していないのは、この新しいターゲットの有用性です。ロジスティック回帰では、従属変数をバイナリラベルとして扱うだけではありませんか(どのラベルが指定されているかに関係なく)。

更新:

SASで依存関係をから別の何かに変更すると、同じモデルに戻ります(を使用)。おそらく私のエラーか、多分SASの汎用性の欠如でしょう。Rでモデルを変更できました。例として:1/0PROC GENMOD

data(ToothGrowth) 
attach(ToothGrowth) 

  # 1/0 coding 
dep          <- ifelse(supp == "VC", 1, 0) 
OneZeroModel <- glm(dep~len, family=binomial) 
OneZeroModel 
predict(OneZeroModel) 

  # Platt coding 
dep2           <- ifelse(supp == "VC", 31/32, 1/32) 
plattCodeModel <- glm(dep2~len, family=binomial) 
plattCodeModel 
predict(plattCodeModel) 

compare        <- cbind(predict(OneZeroModel), predict(plattCodeModel)) 

plot(predict(OneZeroModel), predict(plattCodeModel))

回答:


13

ロジスティック回帰のウィキペディアのページを確認することをお勧めします。バイナリ従属変数の場合、ロジスティック回帰は、予測変数を従属変数の発生確率にマップすることを示しています。変換を行わない場合、モデルのトレーニングに使用される確率は1(トレーニングセットでyが正の場合)または0(yが負の場合)です。

そのため、(ここで、はSVMの未較正出力です) )、Plattは、前述の変換を使用して、反対のラベルをある程度の確率で表示することを提案しています。このようにして、いくつかの正則化が導入されます。データセットのサイズが無限に達すると、は1になり、はゼロになります。詳細については、Platt元の論文を参照してください。pi=1(1+exp(Afi+B))fiy+y


回答ありがとうございます!私は最初にSASを使用していましたが、異なる応答変数を取得できませんでした。例としてRに以下を当てはめ、整数応答変数ではないという警告が発行されるが、結果は別のモデルに適合することを確認します。
B_Miner

data(ToothGrowth)attach(ToothGrowth)#1/0コーディングdep <-ifelse(supp == "VC"、1,0)OneZeroModel <-glm(dep〜len、family = binomial)OneZeroModel predict(OneZeroModel)#Plattコーディングdep2 <-ifelse(supp == "VC"、31/32、1/32)plattCodeModel <-glm(dep2〜len、family = binomial)plattCodeModel predict(plattCodeModel)compare <-cbind(predict(OneZeroModel)、predict( plattCodeModel))plot(predict(OneZeroModel)、predict(plattCodeModel)))
B_Miner

@ user2040:1.はい...質問がありますか、これは単なる発言ですか?2.質問にコードを追加しませんか?恐ろしいフォーマットはありません。
ステフェン

2

私が有用であると判断した過剰適合を回避する別の方法は、単変量ロジスティック回帰モデルをSVMのleave-out-out交差検証出力に適合させることです。これは、Span boundを使用して効率的に近似できます。

ただし、クラスメンバーシップの確率の推定値を生成する分類器が必要な場合は、カーネルロジスティック回帰を使用する方が適切です。SVMの出力は離散分類用に設計されており、必ずしもp = 0.5の輪郭から離れた確率の正確な推定に必要な情報を含んでいるわけではありません。

カーネルベースの確率的分類器が必要な場合は、ガウスプロセス分類器も適切なオプションです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.