ในการเรียนรู้แบบมีผู้สอนเหตุใดจึงไม่ดีที่จะมีคุณลักษณะที่สัมพันธ์กัน


35

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


3
กฎนี้ใช้อย่างยิ่งในบางรุ่นและการวิเคราะห์กว่าอย่างอื่น โอกาสใดที่คุณสามารถเพิ่มบริบทให้กับ "ฉันอ่านที่ไหนสักแห่ง" - เช่นมันเกี่ยวข้องกับการฝึกอบรมรูปแบบเฉพาะหรือไม่?
Neil Slater

3
ฟีเจอร์ที่สัมพันธ์กันไม่จำเป็นต้องทำให้แบบจำลองแย่ลง การลบคุณสมบัติที่เกี่ยวข้องช่วยในการอนุมานความหมายเกี่ยวกับคุณสมบัติ
Hobbes

คำตอบ:


31

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

  1. สำหรับรูปแบบเชิงเส้น (เช่นการถดถอยเชิงเส้นหรือการถดถอยโลจิสติก) multicolinearityสามารถให้ผลผลิตการแก้ปัญหาที่แตกต่างกันอย่างดุเดือดและอาจไม่เสถียรตัวเลข

  2. ฟอเรสต์แบบสุ่มสามารถตรวจจับการโต้ตอบระหว่างคุณลักษณะที่แตกต่างกันได้ แต่คุณลักษณะที่มีความสัมพันธ์สูงสามารถปกปิดการโต้ตอบเหล่านี้ได้

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


4
ความมั่นคงเชิงตัวเลขด้านข้างการทำนายที่กำหนดโดยแบบจำลอง OLS ไม่ควรได้รับผลกระทบจากความหลากหลายทางชีวภาพเนื่องจากผลกระทบโดยรวมของตัวแปรทำนายไม่ได้รับผลกระทบจากการปรากฏตัวของความหลากหลายทางชีวภาพ เป็นการตีความผลกระทบของตัวแปรทำนายส่วนบุคคลที่ไม่น่าเชื่อถือเมื่อมีหลายสายพันธุ์
Akavall

11

(สมมติว่าคุณกำลังพูดถึงการเรียนรู้แบบมีผู้สอน)

ฟีเจอร์ที่สัมพันธ์กันจะไม่ทำให้แบบจำลองของคุณแย่ลง แต่จะไม่ทำให้ดีขึ้นเสมอ

มีเหตุผลหลักสามประการที่คุณจะลบคุณลักษณะที่เกี่ยวข้อง:

  • ทำให้อัลกอริทึมการเรียนรู้เร็วขึ้น

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

หากความเร็วไม่ใช่ปัญหาอาจไม่ลบคุณลักษณะเหล่านี้ทันที (ดูประเด็นต่อไป)

  • ลดอคติที่เป็นอันตราย

คำหลักเป็นอันตราย หากคุณมีคุณสมบัติที่สัมพันธ์กัน แต่มีความสัมพันธ์กับเป้าหมายคุณต้องการเก็บไว้ คุณสามารถดูคุณสมบัติต่างๆเป็นคำใบ้เพื่อคาดเดาได้ดีหากคุณมีคำใบ้สองคำที่เหมือนกัน แต่โดยพื้นฐานแล้วมันเป็นคำใบ้ที่ดี

อัลกอริทึมบางอย่างเช่น Naive Bayes ได้รับประโยชน์โดยตรงจากคุณสมบัติที่มีความสัมพันธ์ "บวก" และคนอื่น ๆ เช่นป่าสุ่มอาจได้รับประโยชน์ทางอ้อมจากพวกเขา

ลองนึกภาพว่าการมี 3 คุณลักษณะ A, B และ C A และ B นั้นมีความสัมพันธ์อย่างมากกับเป้าหมายและต่อกันและกันและ C ก็ไม่ได้เป็นเช่นนั้น หากคุณสุ่มจาก 3 ฟีเจอร์คุณมีโอกาส 2/3 ในการรับฟีเจอร์ "ดี" ในขณะที่ถ้าคุณลบ B เช่นโอกาสนี้จะลดลงเหลือ 1/2

แน่นอนว่าถ้าคุณสมบัติที่มีความสัมพันธ์กันนั้นไม่ได้ให้ข้อมูลมากนักในตอนแรกอัลกอริทึมอาจไม่ประสบปัญหามากนัก

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

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

  • การตีความโมเดลของคุณ

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


2

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


2

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

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


เกี่ยวกับdatascience.stackexchange.com/users/38887/valentin-calommeความคิดเห็น: "ฟีเจอร์ที่สัมพันธ์กันไม่ได้ทำให้แบบจำลองของคุณแย่ลง แต่พวกเขาก็ไม่ได้ปรับปรุงเสมอไป" ฉันไม่เห็นหรือไม่สามารถคิดได้ว่าที่ไหนที่มีความสัมพันธ์สูงระหว่างตัวแปรนั้นไม่ทำให้โมเดลของคุณแย่ลง อย่างน้อยก็ในแง่ที่ได้รับตัวเลือก: ฉันควรจะฝึกอบรมเครือข่ายที่มีความสัมพันธ์น้อยกว่า สิ่งอื่นใดนอกจากนั้นมีประโยชน์และแย่ลงกว่าเดิม มีกรณีที่สิ่งนี้ไม่เป็นความจริงหรือไม่?
tjborromeo

1

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

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

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

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

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


0

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

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

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

โดยเฉพาะอย่างยิ่งวิธีการเช่นฟอเรสต์แบบสุ่มและ KNN ปฏิบัติต่อคุณลักษณะทั้งหมดอย่างเท่าเทียมกันดังนั้นคุณลักษณะที่สัมพันธ์กันบางเบาจึงลดอัตราส่วนสัญญาณต่อสัญญาณรบกวนโดยตรง

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

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