การมีตัวแยกแบบเป็นเส้นตรงมากเกินไป


10

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


4
ทำไมคุณถึงบอกลักษณนามเชิงเส้น? โมเดลเชิงเส้นส่วนใหญ่ใช้สำหรับการคาดคะเนไม่ใช่การจำแนกประเภท และคุณพูดถูก - โมเดลเชิงเส้นอาจคว่ำได้ง่าย ไม่มากเท่ากับวิธีการเรียนรู้ของเครื่อง แต่การมีน้ำหนักเกินอาจเป็นปัญหาได้
Frank Harrell

5
มันง่ายมากที่จะจัดลักษณนามเชิงเส้นมากเกินไป เพียงติดตั้งโมเดลนี้กับชุดข้อมูลบางส่วน (มีเสียงดัง, โลกแห่งความจริง) และอย่าใช้การทำให้เป็นมาตรฐาน
Vladislavs Dovgalecs

2
ระวังการจัดหมวดหมู่ - โดยปกติไม่จำเป็นต้องตั้งค่าสายตาของคุณให้ต่ำ
Frank Harrell

2
@ FrankHarrell ... และทำไมล่ะ
Pugl

1
ใช่ถ้าเป็นเลขฐานสองเดิม ถ้าหากต่อเนื่องเป็นครั้งแรกการจำแนกก็เป็นปัญหามากกว่า YY
Frank Harrell

คำตอบ:


12

การถดถอยเชิงเส้น / ลักษณนามสามารถ overfit อย่างแน่นอนถ้าใช้โดยไม่ต้องดูแลที่เหมาะสม

นี่คือตัวอย่างเล็ก ๆ ลองสร้างเวกเตอร์สองอันอันแรกคือแค่เหรียญสุ่มพลิก:5000

set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)

เวกเตอร์ที่สองคือการสังเกตแต่ละแบบสุ่มจะถูกสุ่มเข้าเรียนหนึ่งในคลาส:5000500

N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))

ควรจะมีความสัมพันธ์ระหว่างพลิกของเราyและการเรียนการสุ่มของเราrand.classพวกเขาได้รับการพิจารณาอิสระอย่างสมบูรณ์

แต่ถ้าเราพยายามทำนายการพลิกแบบสุ่มกับคลาสแบบสุ่มโดยใช้การถดถอยแบบลอจิสติก (ลักษณนามเชิงเส้น) แน่นอนว่าคิดว่ามีความสัมพันธ์

M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)

ป้อนคำอธิบายรูปภาพที่นี่

มูลค่าที่แท้จริงของสัมประสิทธิ์เหล่านี้ทุกตัวเป็นศูนย์ แต่อย่างที่คุณเห็นเราค่อนข้างแพร่กระจาย ลักษณนามเชิงเส้นนี้มีความเหมาะสมมากเกินไป

หมายเหตุ: สุดขั้วใน histogram นี้ที่ค่าสัมประสิทธิ์ได้เดินไปและเป็นกรณีที่มีชั้นเรียนทั้งไม่มีข้อสังเกตที่มีค่าหรือไม่มี ค่าประมาณที่เกิดขึ้นจริงสำหรับค่าสัมประสิทธิ์เหล่านี้เป็นบวกและลบอินฟินิตี้ แต่ขั้นตอนวิธีการถดถอยโลจิสติกเป็นรหัสอย่างหนักกับผูกพันของ15-1515y == 1y == 015

"overfitting" ดูเหมือนจะไม่ได้รับการกำหนดอย่างเป็นทางการ ทำไมถึงเป็นอย่างนั้น?

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

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

การวัดระยะทางระหว่างการฝึกซ้อมและชุดทดสอบจะไม่อนุญาตให้ทำในรูปแบบดังกล่าวหรือไม่

มีแนวคิดดังกล่าวเรียกว่าการมองโลกในแง่ดี มันถูกกำหนดโดย:

ω=Eทดสอบ-Eรถไฟ

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

มันไม่ได้ค่อนข้างได้รับในสาระสำคัญของ overfitting แต่เนื่องจากผลการดำเนินงานในชุดทดสอบสามารถค่อนข้างบิตเลวร้ายยิ่งกว่ารถไฟแม้ว่ารูปแบบของความซับซ้อนสูงลดลงทั้ง


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

1
ฉันต้องยอมรับว่าฉันไม่ใช่ผู้เชี่ยวชาญเกี่ยวกับ SVM และขาดประสบการณ์การใช้งานจริง ฉันไม่ต้องการที่จะเสี่ยงคำตอบและเสี่ยงต่อการถูกผิดมาก หากคุณสามารถกำหนดได้อย่างแม่นยำอาจเป็นคำถามของตัวเอง
Matthew Drury

SVM ได้รับการปรับให้เป็นมาตรฐานและทำให้มีแนวโน้มที่จะไม่เหมาะสมมากเกินไป เพื่อให้ทราบว่าคุณเพียงแค่ต้องดูที่ฟังก์ชั่นที่คุณกำลังย่อให้เล็กสุด: มันรวมทั้ง l1 norm หรือ l2 norm ของตุ้มน้ำหนัก, ลดขนาดพวกมันลงในการปรับให้เหมาะสมที่สุดและเลือกโมเดลที่ง่าย พารามิเตอร์ที่ควบคุมนี่คือพารามิเตอร์ไฮเปอร์ C ในกรณีที่ จำกัด (C = อินฟินิตี้), SVM เหมาะกับ "ชุด" การฝึกอบรมที่สมบูรณ์แบบและดังนั้นจึงอาจมีความเหมาะสมมากเกินไป (โปรดทราบว่าฉันบอกว่าอาจจะต้องมีชุดทดสอบเพื่อให้แน่ใจ!) โปรดทราบว่าฉันใช้คำพูดมากมาย แต่สามารถกำหนดได้อย่างถูกต้อง
skd

2

ใน 70 ความสัมพันธ์การทดลองด้วยอัลกอริธึมการจดจำรูปแบบบนชุดข้อมูลขนาดใหญ่พบว่าการเพิ่มคุณสมบัติพิเศษในบางกรณีจะเพิ่มอัตราความผิดพลาดของชุดทดสอบ นี่เป็นเรื่องที่เข้าใจง่ายเพราะใคร ๆ ก็คาดหวังว่าการเพิ่มคุณสมบัติพิเศษจะช่วยเพิ่มประสิทธิภาพของตัวจําแนกเสมอหรือในกรณีที่คุณสมบัติที่เพิ่มเป็น 'เสียงสีขาว' การเพิ่มจะไม่ส่งผลต่อประสิทธิภาพของตัวจําแนกเลย ผลของการเพิ่มคุณสมบัติพิเศษอื่น ๆ ให้กับลักษณนามในที่สุดก็นำไปสู่การลดลงของประสิทธิภาพการทดสอบชุดกลายเป็นที่รู้จักกันในชื่อปรากฏการณ์จุด [1]

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

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

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

[1 Trunk GV "ปัญหามิติ: ตัวอย่างง่ายๆ" ในธุรกรรม IEEE เกี่ยวกับการวิเคราะห์รูปแบบ PAMI-1 หมายเลข 3, pp. 306-307, กรกฎาคม 2522]


1

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

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


0

เช่น @ match-maker-ee กล่าวว่าตัวแยกประเภทแบบเชิงเส้นสามารถปรับได้มากเกินไปขึ้นอยู่กับคุณสมบัติอินพุต

โมเดลfต่อไปนี้เป็นเส้นตรงในพารามิเตอร์a , bและcแต่สามารถติดตั้งเข้ากับเส้นโค้งกำลังสองในพื้นที่คุณลักษณะของx :

(x)=ax2+x+

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

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