โมเดลที่ติดตั้งเกินความจำเป็นไร้ประโยชน์หรือไม่?


25

สมมติว่าแบบจำลองมีความแม่นยำ 100% สำหรับข้อมูลการฝึกอบรม แต่ความแม่นยำ 70% สำหรับข้อมูลการทดสอบ อาร์กิวเมนต์ต่อไปนี้เป็นจริงเกี่ยวกับโมเดลนี้หรือไม่?

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


17
หาก 70% เป็นที่ยอมรับในแอปพลิเคชันเฉพาะฉันก็เห็นด้วยกับคุณ
Richard Hardy

6
ฉันเห็นด้วยอย่างยิ่งกับ @RichardHardy ยกตัวอย่างเช่นฟอเรสต์แบบสุ่ม: บ่อยครั้งที่การสร้างประสิทธิภาพของ insample (ไม่ใช่ประสิทธิภาพนอกถุง) ใกล้เคียงกับ 100% ดังนั้นจึงมีการล้นอย่างมาก แต่ถึงกระนั้นประสิทธิภาพที่ต่ำกว่าก็ประเมินว่าอยู่นอกถุงหรือในชุดทดสอบ / การตรวจสอบความถูกต้องอาจสูงพอที่จะทำให้เป็นแบบจำลองที่มีประโยชน์
Michael M

1
@Metariat ทำไมล่ะ ความแม่นยำนี้ได้รับจากชุดทดสอบที่ไม่ได้ใช้ในขั้นตอนการฝึกอบรม
Hossein

3
@Mariariat การโต้แย้งดังกล่าวสามารถลดการปฏิบัติทางสถิติได้เกือบทั้งหมดเช่นตัวประมาณ OLS ในตัวแบบเชิงเส้นปกติ -test เพื่อทดสอบความเท่าเทียมกันของค่าเฉลี่ยตัวอย่างกับค่าที่ตั้งสมมติฐานและสิ่งที่ไม่ สิ่งที่น่าสนใจคือการโต้แย้งนั้นไม่ได้ขึ้นอยู่กับรูปแบบการให้ข้อมูลมากเกินไปในตัวอย่างการฝึกอบรม มันถือได้เป็นอย่างดีสำหรับรุ่นที่เหมาะสมและรุ่นทั่วไป มันไม่ถูกต้องเหรอ? t
Richard Hardy

4
ฉันจะไม่เรียกแบบจำลองนั้นว่าติดมากเกินไป รูปแบบที่ติดตั้งมากเกินไปถูกสร้างขึ้นเพื่อเปรียบเทียบประสิทธิภาพการตรวจสอบความถูกต้องกับการทดสอบประสิทธิภาพ แม้กระนั้นก็ตามถ้าประสิทธิภาพการทดสอบต่ำกว่าที่ยอมรับได้อย่างมากอาจเป็นความหายนะ ประสิทธิภาพการฝึกอบรมไม่มีความหมายอะไรเลย
Firebug

คำตอบ:


32

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

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

แก้ไข:หลังจากความคิดเห็นโดย Firebug และ Matthew Drury ภายใต้ OP ฉันจะเพิ่มที่จะตัดสินว่ารูปแบบ overfitted โดยไม่ทราบประสิทธิภาพการตรวจสอบอาจเป็นปัญหาได้ Firebug แนะนำการเปรียบเทียบการตรวจสอบกับประสิทธิภาพการทดสอบเพื่อวัดปริมาณการล้น อย่างไรก็ตามเมื่อแบบจำลองนั้นให้ความแม่นยำ 100% ในชุดการฝึกอบรมโดยไม่ส่งความแม่นยำ 100% ในชุดการทดสอบมันเป็นตัวบ่งชี้ถึงการมีน้ำหนักเกินที่เป็นไปได้ (โดยเฉพาะในกรณีของการถดถอย แต่ไม่จำเป็นต้องจำแนก)


คุณขอตัวอย่าง: นำโค้ดสำหรับโครงข่ายประสาทในชุดข้อมูลirisที่stats.stackexchange.com/a/273930/2958จากนั้นลองset.seed(100)ใช้ภาพประกอบเช่นปรากฏการณ์ที่อธิบายไว้ที่นี่และset.seed(15)สิ่งที่ตรงกันข้าม อาจจะดีกว่าที่จะพูดว่า "ตัวบ่งชี้ความเป็นไปได้ที่จะเกิดการล้น"
เฮนรี่

เป็นไปได้หรือไม่ที่แบบจำลองจะได้รับความแม่นยำ 100% ทั้งในรถไฟและแบบทดสอบและไม่มีความผิดปกติมากเกินไป?
Rika

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

ฉันเพิ่งทำที่นี่คือลิงค์
Rika

25

ในโครงการที่ผ่านมาของฉันด้วยการตรวจจับการฉ้อโกงบัตรเครดิตเราต้องการที่จะใส่ข้อมูล / ฮาร์ดโค้ดเพื่อจำกรณีการทุจริต (หมายเหตุการ overfitting ชั้นหนึ่งไม่ได้เป็นปัญหาทั่วไป overfitting OP พูดคุยเกี่ยวกับ.) ระบบดังกล่าวมีผลบวกปลอมค่อนข้างต่ำและตอบสนองความต้องการของเรา

ดังนั้นฉันจะบอกว่าแบบจำลองที่ติดตั้งเกินไปจะมีประโยชน์ในบางกรณี


5
คำตอบนี้น่าสนใจมากเพราะมันแสดงกรณีการใช้งาน ฉันคิดว่าด้วย "รหัสยากที่จะจำ" @ hxd1011 หมายความว่าแบบจำลองทำให้แน่ใจว่ากรณีการฉ้อโกงที่รายงานแต่ละรายการนำไปสู่ ​​"สถานะการฉ้อโกง" และพวกเขาไม่ได้ถูกปรับให้เรียบหรือสอดแทรกโดย a, uhm พูดฟังก์ชั่นการติดตั้ง . บางสิ่งเช่นนั้นใช่ไหม
IcannotFix

@Icannot แก้ไขปัญหานี้ใช่ ในความเป็นจริงเราได้ลองวิธีอื่น ๆ เพื่อควบคุมการบวกผิด ๆ แต่การพยายามทำให้คดีฉ้อโกงมากเกินไปก็ใช้งานได้ดี
Haitao Du

3
ในกรณีของคุณฟังก์ชั่นการประเมินของคุณมีน้ำหนักเกิน TPR และมีน้ำหนักน้อยกว่า FPR เช่นคะแนนF_ ด้วยβ >> 1 (ตอนนี้ฉันรู้ว่าทำไม บริษัท บัตรเดบิตของฉันเป็นที่น่ารำคาญเช่นนั้นพวกเขาธงสิ่งใดสิ่งเล็ก ๆ น้อย ๆ แม้ผิดพลาดบัตรสแกนเนอร์ที่สถานีบริการน้ำมัน)ββ
smci

3
อาจเป็นเรื่องที่น่ารำคาญ แต่ก็เป็นที่น่ารำคาญน้อยกว่าการให้เงินซากของคุณเนื่องจากมีคนชั่วร้ายได้รับข้อมูลบัตรของคุณ
Matthew Drury

12

อาจจะ: ระวัง เมื่อคุณพูดว่าความแม่นยำ 70% (แต่คุณวัดได้) นั้นดีพอสำหรับคุณรู้สึกว่าคุณคิดว่าข้อผิดพลาดนั้นมีการกระจายแบบสุ่มหรือสม่ำเสมอ

แต่หนึ่งในวิธีการมองที่เกินกำลังคือว่ามันเกิดขึ้นเมื่อเทคนิคแบบจำลองอนุญาตให้ (และกระบวนการฝึกอบรมสนับสนุน) ให้ความสนใจมากเกินไปกับนิสัยใจคอในชุดการฝึกอบรม หัวเรื่องในประชากรทั่วไปที่แบ่งปันนิสัยใจคอเหล่านี้อาจมีผลลัพธ์ที่ไม่สมดุลอย่างมาก

ดังนั้นบางทีคุณอาจจะมีรูปแบบที่บอกว่าสุนัขสีแดงทุกตัวเป็นมะเร็ง - เพราะการเล่นโวหารโดยเฉพาะในข้อมูลการฝึกอบรมของคุณ หรือคนที่แต่งงานแล้วที่มีอายุระหว่าง 24 ถึง 26 ปีเกือบจะรับประกันว่าจะมีการเรียกร้องค่าสินไหมทดแทนจากการฉ้อโกง ความแม่นยำ 70% ของคุณออกจากห้องจำนวนมากเพื่อให้กระเป๋าของตัวแบบผิด 100% เนื่องจากโมเดลของคุณมีความพอดี

(การไม่ฟิตเกินไปไม่ใช่การรับประกันว่าคุณจะไม่มีการคาดการณ์ผิด ๆ ในความเป็นจริงแบบจำลองแบบไม่พอดีจะมีการคาดการณ์ที่ไม่ดี .)


ขอบคุณ คุณหมายความว่าเป็นไปได้หรือไม่ที่ความแม่นยำ 70% นี้ได้จากข้อมูลการฝึกอบรมที่มีอยู่ในข้อมูลทดสอบด้วย? เราไม่สามารถตัดสินจากความถูกต้องของข้อมูลการทดสอบได้หรือไม่? ฉันคิดว่านิสัยใจคอในข้อมูลการฝึกอบรมที่มีอยู่ในข้อมูลการทดสอบควรได้รับการเรียนรู้ในระหว่างการฝึกอบรม
Hossein

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

คุณถูกต้องว่าชุดการทดสอบอาจมีลักษณะแปลก ๆ เมื่อเทียบกับประชากร แต่นี่ไม่ได้เฉพาะเจาะจงกับรุ่นที่ overfited การประเมินทั้งหมดของเราประสบกับมันและเราไม่มีทางเลือกอื่นนอกจากพึ่งพาชุดทดสอบเป็นตัวแทนสำหรับประชากรที่แท้จริง
Hossein

จริงมันไม่ได้เป็นเอกลักษณ์ของรุ่นที่ติดตั้งมากเกินไป แต่มันถูกขยายในรูปแบบที่พอดี ฉันต้องการที่จะพูดตามคำจำกัดความของแบบจำลองที่มีมากเกินไปเพราะเห็นได้ชัดว่ามันทนทุกข์ทรมานจากการเน้นข้อความที่มากเกินไป
Wayne

7

ไม่มันมีประโยชน์ แต่ขึ้นอยู่กับวัตถุประสงค์ของคุณ มีหลายสิ่งที่ต้องนึกถึง:

  1. Fββ1

  2. ลักษณนามดังกล่าวจะเป็นประโยชน์จริงๆในวงดนตรี เราสามารถมีลักษณนามหนึ่งตัวที่มีน้ำหนักปกติหนึ่งตัวที่มีน้ำหนักเกิน TPR อันหนึ่งที่มีน้ำหนักเกิน FNR จากนั้นแม้การลงคะแนนแบบกฎง่ายๆสามครั้งหรือค่าเฉลี่ยจะให้ AUC ดีกว่าตัวแยกประเภทที่ดีที่สุดเพียงตัวเดียว หากแต่ละโมเดลใช้พารามิเตอร์ไฮเปอร์พารามิเตอร์ที่แตกต่างกัน (หรือชุดฝึกอบรมย่อยหรือสถาปัตยกรรมโมเดล) ที่ซื้อชุดภูมิคุ้มกันบางส่วนจากการ overfitting

  3. ในทำนองเดียวกันสำหรับการป้องกันสแปมการต่อต้านการฉ้อโกงหรือการให้คะแนนเครดิตแบบเรียลไทม์คุณสามารถใช้ลำดับชั้นของตัวแยกประเภท ระดับ 1 ลักษณนามควรประเมินได้อย่างรวดเร็วจริงๆ (MS) และก็ตกลงที่จะมี FPR สูง ; ความผิดพลาดใด ๆ ที่พวกเขาทำจะถูกจับได้โดยตัวแยกประเภทที่แม่นยำกว่ามีคุณสมบัติครบถ้วนช้ากว่าหรือเป็นผู้ตรวจสอบที่เป็นมนุษย์ในที่สุด ตัวอย่างที่เห็นได้ชัด: ป้องกันหัวข้อข่าวปลอมจากการครอบครองบัญชี Twitter เช่น "การโจมตีด้วยระเบิดของทำเนียบขาวสังหารสามครั้ง" ในปี 2013 ที่มีผลกระทบต่อการซื้อขาย $ พันล้านภายใน ms ของการโพสต์ มันก็โอเคสำหรับลักษณนามระดับ 1 ที่จะตั้งค่าสถานะว่าเป็นผลบวกต่อสแปม ลองใช้เวลาสักครู่เพื่อ (โดยอัตโนมัติ) กำหนดความจริง / เท็จของรายงานข่าวที่น่าตื่นเต้น แต่ไม่ได้ตรวจสอบ


2

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

เพื่อให้แน่ใจว่าเราอยู่ในหน้าเดียวกันของคำศัพท์หลังจากความคิดเห็นของ @RichardHardy ให้กำหนดข้อผิดพลาดการทดสอบเป็นข้อผิดพลาดที่ได้รับเมื่อใช้แบบจำลองในชุดทดสอบคนตาบอด และข้อผิดพลาดนอกตัวอย่างคือข้อผิดพลาดเมื่อใช้แบบจำลองกับประชากรทั้งหมด

การประมาณข้อผิดพลาดนอกตัวอย่างขึ้นอยู่กับสองสิ่ง: ตัวแบบและข้อมูล

  • โมเดล "ดีที่สุด" ให้ความแม่นยำ (ทดสอบ) ที่แทบจะขึ้นอยู่กับข้อมูลในกรณีนี้มันจะเป็นการประมาณที่ดี "โดยไม่คำนึงถึงข้อมูล" ข้อผิดพลาดในการทำนายจะคงที่

  • แต่ความแม่นยำของโมเดลที่ติดตั้งมากนั้นขึ้นอยู่กับข้อมูลเป็นอย่างมาก (ดังที่คุณกล่าวถึง 100% ในชุดฝึกอบรมและ 70% สำหรับชุดฝึกอบรมอื่น) ดังนั้นอาจเกิดขึ้นเมื่อใช้กับชุดข้อมูลอื่นความถูกต้องอาจต่ำกว่า 70% (หรือสูงกว่า) และเราอาจมีความประหลาดใจที่ไม่ดี กล่าวอีกนัยหนึ่งคือ 70% กำลังบอกคุณว่าคุณเชื่ออย่างไร แต่ไม่เป็นเช่นนั้น


1
เนื่องจากชุดทดสอบที่ใช้ซึ่งมีความแม่นยำ 70% ไม่ปรากฏให้เห็นในขั้นตอนการฝึกอบรมการประเมินข้อผิดพลาดนอกตัวอย่างเป็นไปได้หรือไม่ ฉันคิดว่าความแตกต่างระหว่างข้อผิดพลาดการฝึกอบรม (100%) และข้อผิดพลาดในการทดสอบ (70%) ไม่ใช่ข้อบ่งชี้ที่ดีของความแตกต่างระหว่างข้อผิดพลาดนอกตัวอย่างและข้อผิดพลาดในการทดสอบ เป็นไปได้ว่ารุ่นที่ติดตั้งเกินจริงมีความแม่นยำ 70% ในโลกแห่งความเป็นจริงในขณะที่ข้อมูลการฝึกอบรมมีความแม่นยำ 100% ฉันคาดหวังว่าข้อผิดพลาดในการฝึกอบรมจะต่ำกว่าข้อผิดพลาดในการทดสอบเนื่องจากข้อมูลการฝึกอบรมถูกนำมาใช้เพื่อสร้างแบบจำลอง แต่ไม่เห็นข้อมูลการทดสอบในระหว่างการฝึก
Hossein

5
ฉันคิดว่าคุณอาจสับสนชุดการตรวจสอบและชุดทดสอบและข้อผิดพลาดที่เกี่ยวข้อง ทดสอบข้อผิดพลาดคือออกจากตัวอย่างข้อผิดพลาด ในขณะที่ข้อผิดพลาดในการตรวจสอบความถูกต้องเป็นการวัดในแง่ดีของรูปแบบที่เลือก แต่ข้อผิดพลาดในการทดสอบไม่ได้ ทดสอบข้อผิดพลาดคือการประมาณการเป็นกลางของวิธีการรูปแบบจะดำเนินการเกี่ยวกับตัวอย่างใหม่จากประชากรเดียวกัน เราสามารถประเมินความแปรปรวนของข้อผิดพลาดในการทดสอบดังนั้นเราค่อนข้างดีโดยรู้เพียงข้อผิดพลาดการทดสอบตราบใดที่ชุดการทดสอบนั้นไม่เล็กเกินไป @Hossein
Richard Hardy

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

1
จากมุมมองของฉันข้อผิดพลาดในการทดสอบคือข้อผิดพลาดที่ได้รับเมื่อนำแบบจำลองไปใช้ในชุดที่ตาบอดมันเป็นการประมาณค่าของข้อผิดพลาดนอกตัวอย่างซึ่งเป็นข้อผิดพลาดที่ได้รับเมื่อนำแบบจำลองไปใช้กับประชากรทั้งหมด และมันก็ไม่เหมือนกันข้อมูลที่มีค่าคือข้อผิดพลาดนอกตัวอย่าง และเมื่อตัวแบบ overfitted ข้อผิดพลาดการทดสอบไม่มั่นคงและ supprises ไม่ดีอาจเกิดขึ้นในชุดข้อมูลอื่น ๆ
Metariat

4
@Mariariat คุณถูกต้องว่าข้อผิดพลาดในการทดสอบเป็นค่าประมาณและอาจแตกต่างจากชุดทดสอบหนึ่งไปอีกชุดหนึ่ง อย่างไรก็ตามดังที่ฉันได้กล่าวไปแล้วก่อนหน้านี้ไม่มีเหตุผลที่จะคาดหวังว่าข้อผิดพลาดในการทดสอบจะประเมินข้อผิดพลาดจริงต่ำกว่าความเป็นจริง (โดยเฉลี่ยแล้ว) ดังนั้นโดยใช้ตัวอย่างทดสอบที่มีขนาดใหญ่พอเราสามารถผูกข้อผิดพลาดการทดสอบด้วยระดับความมั่นใจที่ต้องการในช่วงที่ต้องการ ทีนี้คุณควรกำหนดข้อผิดพลาดในการทดสอบโดยแก้ไขคำตอบของคุณเพื่อให้แน่ใจว่าไม่มีความเข้าใจผิดในสิ่งที่คุณหมายถึงเมื่อเปรียบเทียบข้อผิดพลาดในการทดสอบกับข้อผิดพลาดนอกตัวอย่าง
Richard Hardy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.