มันเหมาะสมหรือไม่ที่จะรวม PCA และ LDA


25

สมมติว่าฉันมีชุดข้อมูลสำหรับงานการจัดหมวดหมู่ทางสถิติภายใต้การดูแลเช่นผ่านตัวจําแนกของ Bayes ชุดข้อมูลนี้ประกอบด้วย 20 ฟีเจอร์และฉันต้องการต้มให้เหลือ 2 ฟีเจอร์โดยใช้เทคนิคการลดขนาดเช่นการวิเคราะห์ส่วนประกอบหลัก (PCA) และ / หรือการวิเคราะห์เชิงเส้น (LDA)

เทคนิคทั้งสองกำลังฉายข้อมูลลงในพื้นที่ย่อยขนาดเล็ก: ด้วย PCA ฉันจะหาทิศทาง (ส่วนประกอบ) ที่เพิ่มความแปรปรวนในชุดข้อมูล (โดยไม่คำนึงถึงคลาสฉลาก) และด้วย LDA ฉันจะมีส่วนประกอบที่ขยายระหว่าง - คลาสแยก

ตอนนี้ฉันกำลังสงสัยว่าอย่างไรและทำไมเทคนิคเหล่านี้สามารถรวมกันและถ้ามันทำให้รู้สึก

ตัวอย่างเช่น:

  1. แปลงชุดข้อมูลผ่าน PCA และฉายลงบนพื้นที่ว่างสองมิติใหม่
  2. Transform (ชุด PCA-transformed) ชุดข้อมูลที่ผ่าน LDA เป็นค่าสูงสุด การแยกชั้นเรียน

หรือ

  1. ข้ามขั้นตอน PCA และใช้ส่วนประกอบ 2 อันดับแรกจาก LDA

หรือชุดค่าผสมอื่น ๆ ที่เหมาะสม


2
best practiceจะต้องไม่มีสากล PCA และ LDA ซึ่งเป็นเทคนิคการลดขนาดนั้นแตกต่างกันมาก บางครั้งผู้คนทำ PCA ก่อน LDA แต่มีความเสี่ยงที่จะทิ้งมิติที่สำคัญเกี่ยวกับการเลือกปฏิบัติ (กับพีซีที่ถูกทิ้ง) คำถามที่คุณถามถูกถามจริงในบางรูปแบบหลายครั้งในเว็บไซต์นี้ โปรดค้นหา "PCA LDA" เพื่ออ่านสิ่งที่ผู้คนพูดถึง
ttnphns

@SebastianRaschka: ฉันสงสัยว่าคำตอบของฉันที่นี่มีประโยชน์หรือคุณมีคำถามเพิ่มเติมเกี่ยวกับปัญหาเหล่านี้หรือไม่
อะมีบาพูดว่า Reinstate Monica

@ amoeba ขอโทษที่ยังไม่เห็นคำตอบจนกระทั่งตอนนี้ - อย่างใดมันต้องลื่นผ่านรอยแตกขอบคุณ!

คำตอบ:


44

สรุป: สามารถดำเนินการ PCA ก่อน LDA เพื่อทำให้ปัญหาเป็นปกติและหลีกเลี่ยงการปรับขนาดที่มากเกินไป

จำได้ว่าประมาณการ LDA คำนวณได้จาก eigendecomposition ของโดยที่ Σ Wและเป็นเมทริกซ์ความแปรปรวนร่วมระหว่างและภายในคลาส หากมีจุดข้อมูลน้อยกว่าจุด (โดยที่คือขนาดของพื้นที่ของคุณเช่นจำนวนคุณสมบัติ / ตัวแปร) ดังนั้นจะเป็นเอกพจน์ดังนั้นจึงไม่สามารถกลับด้านได้ ในกรณีนี้ไม่มีวิธีการที่จะดำเนินการ LDA โดยตรง แต่ถ้าใช้ PCA ก่อนมันจะใช้ได้ @Aaron ทำหมายเหตุนี้ในความคิดเห็นเพื่อตอบกลับของเขาและฉันเห็นด้วยกับที่ (แต่ไม่เห็นด้วยกับคำตอบของเขาโดยทั่วไปตามที่คุณจะเห็นตอนนี้) N Σ WΣW1ΣBΣW NΣBNNΣW

อย่างไรก็ตามนี่เป็นเพียงส่วนหนึ่งของปัญหา ภาพที่ใหญ่กว่าคือ LDA นั้นมีแนวโน้มที่จะทำให้ข้อมูลง่ายเกินไป โปรดทราบว่าเมทริกซ์ความแปรปรวนร่วมภายในคลาสจะกลับด้านในการคำนวณ LDA สำหรับเมทริกซ์ผกผันในระดับสูงเป็นการดำเนินการที่อ่อนไหวมากซึ่งสามารถทำได้อย่างน่าเชื่อถือหากการประเมินนั้นดีจริงๆ แต่ในมิติที่สูงมันยากจริงๆที่จะได้รับการประมาณที่แม่นยำของและในทางปฏิบัติเรามักจะต้องมีจุดข้อมูลมากกว่าจุดเพื่อเริ่มหวังว่าการประเมินนั้นดี มิฉะนั้นΣ W N » 1 Σ W NΣWN1ΣWNΣW จะเกือบเป็นเอกเทศ (เช่นค่าลักษณะเฉพาะบางอย่างจะต่ำมาก) และสิ่งนี้จะทำให้เกิดการปรับตัวที่เหมาะสมเช่นการแยกชั้นเรียนที่ใกล้เคียงกับข้อมูลการฝึกอบรมพร้อมกับประสิทธิภาพการทำงานของข้อมูลการทดสอบ

เพื่อจัดการกับปัญหานี้เราจำเป็นต้องทำให้ปัญหาเป็นปกติ วิธีหนึ่งในการทำคือใช้ PCA เพื่อลดมิติข้อมูลก่อน มีอีกคนเนื้อหาที่ดีขึ้นเช่นมีregularized LDA (rLDA) วิธีการซึ่งก็ใช้มีขนาดเล็กλแทนΣ W (เรียกว่าการหดตัวประมาณ ) แต่ทำ PCA แรกคือแนวคิด วิธีการที่ง่ายที่สุดและมักจะทำงานได้ดี(1λ)ΣW+λIλΣW

ภาพประกอบ

นี่คือภาพประกอบของปัญหาการปรับตัวมากเกินไป ฉันสร้างตัวอย่าง 60 คลาสต่อคลาสใน 3 คลาสจากการแจกแจงแบบเกาส์มาตรฐาน (หมายถึงศูนย์, ความแปรปรวนของหน่วย) ในช่องว่าง 10, 50-, 100- และ 150 มิติและใช้ LDA เพื่อฉายข้อมูลบน 2D:

Overfitting ใน LDA

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

เราสามารถดูว่า PCA ช่วยป้องกันการ overfitting อย่างไรถ้าเราแยกชั้นเรียนออกเล็กน้อย ฉันเพิ่ม 1 ลงในพิกัดที่หนึ่งของชั้นหนึ่ง 2 ไปยังพิกัดที่หนึ่งของชั้นสองและ 3 ในพิกัดที่หนึ่งของชั้นสาม ตอนนี้พวกเขาจะถูกแยกออกจากกันเล็กน้อยให้ดูแผนย่อยด้านบนซ้าย:

ล้นใน LDA และ regularization ด้วย PCA

การ overfitting (แถวบน) ยังคงชัดเจน แต่ถ้าฉันประมวลผลข้อมูลล่วงหน้าด้วย PCA ให้รักษา 10 มิติ (แถวล่าง) เสมอการหายไปมากเกินไปจะหายไปในขณะที่คลาสยังคงอยู่ใกล้กันมากที่สุด

PS เพื่อป้องกันความเข้าใจผิด: ฉันไม่ได้อ้างว่า PCA + LDA เป็นกลยุทธ์การทำให้เป็นมาตรฐานที่ดี (ตรงกันข้ามฉันจะแนะนำให้ใช้ rLDA) ฉันแค่แสดงให้เห็นว่ามันเป็นกลยุทธ์ที่เป็นไปได้


ปรับปรุง ก่อนหน้านี้หัวข้อที่คล้ายกันมากถูกกล่าวถึงในหัวข้อต่อไปนี้พร้อมคำตอบที่น่าสนใจและครอบคลุมโดย @cbeleites:

ดูคำถามนี้ด้วยคำตอบที่ดี:


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

ฉันไม่เข้าใจพล็อตที่สองดูเหมือนว่าฉันจะไม่แยกชั้นเรียนด้วย PCA ก่อน LDA (แถวล่าง)
PierreE

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

ตกลงฉันเห็น ฉันลืมว่าการแยกชั้นเรียนที่เราเห็นในแถวบนสุดนั้นเกินความจริงแล้ว ขอบคุณ
PierreE

1

หากคุณมีปัญหาสองระดับ LDA จะพาคุณไปสู่มิติที่ 1 ไม่มีเหตุผลที่ต้องทำ PCA ก่อน


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

1
เหตุผลเดียวที่จะทำ PCA ก่อนคือถ้าเมทริกซ์ความแปรปรวนร่วมในระดับนั้นเป็นเอกพจน์ หากคุณมีคุณสมบัติ 20 อย่างและสามคลาสคุณจะไม่แปลกใจดังนั้นอย่าทำ PCA ก่อน
แอรอน

4
assume we have 3 classes. @SebastianRaschka: จากนั้น LDA จะอนุญาตให้คุณเลือกฟังก์ชันได้สูงสุด 2 ฟังก์ชัน จำนวนค่าลักษณะเฉพาะในLDAคือ min (num_groups-1, num_features)
ttnphns

@Sebastian จำนวนของฟังก์ชันการจำแนกที่คุณเลือกจาก LDA ขึ้นอยู่กับสิ่งที่คุณต้องการจะทำ เนื่องจากการแปลงพื้นที่มันค่อนข้างคล้ายกับ PCA "แบบมีผู้ดูแล" และคุณเลือกได้มากเท่าที่คุณต้องการ ในฐานะวิธีการจำแนกไฮเปอร์เพลนการแยกส่วนไฮเพอร์เพลทคือตามนิยามของขนาด N-1 ฉันอาจถามคำถามเกี่ยวกับหัวข้อนั้นสำหรับข้อมูลเพิ่มเติม แต่เนื่องจากฉันยังไม่เข้าใจว่าmin(num_groups-1,num_features)มาจากไหน ...
Matthieu

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