เหตุใดจึงต้องใช้มาตราส่วนของแพลต


17

เพื่อการปรับระดับความเชื่อมั่นความน่าจะเป็นในการเรียนรู้ภายใต้การดูแล (พูดกับแผนที่ความเชื่อมั่นจากนัก SVM หรือต้นไม้ตัดสินใจโดยใช้ข้อมูล oversampled) วิธีหนึ่งคือการใช้แพลตขูดหินปูน (เช่นได้รับการสอบเทียบความน่าจะเป็นจากการส่งเสริม )

โดยทั่วไปจะใช้การถดถอยโลจิสติกเพื่อทำแผนที่ถึง[ 0 ; 1 ] ตัวแปรตามคือป้ายจริงและตัวทำนายคือความมั่นใจจากแบบจำลองที่ไม่ผ่านการปรับเทียบ สิ่งที่ฉันไม่เข้าใจคือการใช้ตัวแปรเป้าหมายอื่นที่ไม่ใช่ 1 หรือ 0 วิธีการนี้เรียกร้องให้สร้าง "label" ใหม่:[-;][0;1]

เพื่อหลีกเลี่ยงการ overfitting ไปยังชุดรถไฟ sigmoid จะใช้โมเดลตัวอย่างนอก หากมีตัวอย่างบวกและN -ตัวอย่างเชิงลบในชุดรถไฟสำหรับตัวอย่างการฝึกอบรมแต่ละการสอบเทียบแพลตใช้ค่าเป้าหมายy +และy - (แทน 1 และ 0 ตามลำดับ) โดยที่ y + = N + + 1ยังไม่มีข้อความ+Ny+y

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

สิ่งที่ฉันไม่เข้าใจก็คือเป้าหมายใหม่นี้มีประโยชน์อย่างไร การถดถอยโลจิสติกไม่เพียงแค่จัดการกับตัวแปรตามเป็นป้ายกำกับไบนารี (ไม่ว่าจะได้รับฉลากใด)

UPDATE:

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 เป็นค่าลบ)

พีผม=1(1+อีxพี(A* * * *ผม+B))ผมY+Y-


ขอบคุณสำหรับคำตอบ! ฉันใช้ SAS เป็นครั้งแรกและไม่สามารถรับตัวแปรตอบกลับที่แตกต่างกันได้ ฉันพอดีกับสิ่งต่อไปนี้ใน R เป็นตัวอย่างและเห็นว่ามีการออกคำเตือนเกี่ยวกับการไม่เป็นตัวแปร reponse จำนวนเต็ม แต่ผลลัพธ์นั้นพอดีกับแบบจำลองอื่น
B_Miner

data (ToothGrowth) แนบ (ToothGrowth) # 1/0 การเข้ารหัส dep <-ifelse (supp == "VC", 1,0) OneZeroModel <-glm (dep ~ len, ครอบครัว = binomial) OneZeroModel ทำนาย #Platt การเข้ารหัส dep2 <-ifelse (supp == "VC", 31/32, 1/32) plattCodeModel <-glm (dep2 ~ len, ครอบครัว = binomial) plattCodeModel ทำนาย (plattCodeModel) เปรียบเทียบ <-cbind (ทำนาย (OneZeroModel) plattCodeModel) พล็อต (ทำนาย (OneZeroModel), คาดการณ์ (plattCodeModel))
B_Miner

@ user2040: 1. ใช่ ... มีคำถามหรือเป็นเพียงคำพูด :) 2. ทำไมคุณไม่เพิ่มรหัสในคำถาม ไม่มีการจัดรูปแบบที่น่ากลัว
steffen

2

วิธีการในการหลีกเลี่ยงในช่วงที่เหมาะสมที่ฉันได้พบว่ามีประโยชน์อีกประการหนึ่งคือเพื่อให้พอดีกับรูปแบบการถดถอยโลจิสติก univariate ที่จะลาออกจากการตรวจสอบข้ามการส่งออกของ SVM ซึ่งสามารถประมาณได้อย่างมีประสิทธิภาพโดยใช้ช่วงที่ถูกผูกไว้

อย่างไรก็ตามหากคุณต้องการตัวจําแนกที่สร้างการประมาณความน่าจะเป็นของการเป็นสมาชิกคลาสคุณควรใช้การถดถอยลอจิคัลเคอร์เนลซึ่งจะทำให้ดีขึ้นได้โดยตรง ouput ของ SVM ได้รับการออกแบบมาสำหรับการจำแนกแบบไม่ต่อเนื่องและไม่จำเป็นต้องมีข้อมูลที่จำเป็นสำหรับการประมาณความน่าจะเป็นที่ถูกต้องจาก p = 0.5 contour

ลักษณนามของกระบวนการแบบเกาส์เป็นอีกตัวเลือกที่ดีถ้าคุณต้องการลักษณนามที่น่าจะเป็นเคอร์เนล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.