สรุป: สามารถดำเนินการ PCA ก่อน LDA เพื่อทำให้ปัญหาเป็นปกติและหลีกเลี่ยงการปรับขนาดที่มากเกินไป
จำได้ว่าประมาณการ LDA คำนวณได้จาก eigendecomposition ของโดยที่ Σ Wและเป็นเมทริกซ์ความแปรปรวนร่วมระหว่างและภายในคลาส หากมีจุดข้อมูลน้อยกว่าจุด (โดยที่คือขนาดของพื้นที่ของคุณเช่นจำนวนคุณสมบัติ / ตัวแปร) ดังนั้นจะเป็นเอกพจน์ดังนั้นจึงไม่สามารถกลับด้านได้ ในกรณีนี้ไม่มีวิธีการที่จะดำเนินการ LDA โดยตรง แต่ถ้าใช้ PCA ก่อนมันจะใช้ได้ @Aaron ทำหมายเหตุนี้ในความคิดเห็นเพื่อตอบกลับของเขาและฉันเห็นด้วยกับที่ (แต่ไม่เห็นด้วยกับคำตอบของเขาโดยทั่วไปตามที่คุณจะเห็นตอนนี้) N Σ WΣ- 1WΣBΣW NΣBยังไม่มีข้อความยังไม่มีข้อความΣW
อย่างไรก็ตามนี่เป็นเพียงส่วนหนึ่งของปัญหา ภาพที่ใหญ่กว่าคือ LDA นั้นมีแนวโน้มที่จะทำให้ข้อมูลง่ายเกินไป โปรดทราบว่าเมทริกซ์ความแปรปรวนร่วมภายในคลาสจะกลับด้านในการคำนวณ LDA สำหรับเมทริกซ์ผกผันในระดับสูงเป็นการดำเนินการที่อ่อนไหวมากซึ่งสามารถทำได้อย่างน่าเชื่อถือหากการประเมินนั้นดีจริงๆ แต่ในมิติที่สูงมันยากจริงๆที่จะได้รับการประมาณที่แม่นยำของและในทางปฏิบัติเรามักจะต้องมีจุดข้อมูลมากกว่าจุดเพื่อเริ่มหวังว่าการประเมินนั้นดี มิฉะนั้นΣ W N » 1 Σ W NΣWยังไม่มีข้อความ≫ 1ΣWยังไม่มีข้อความΣW จะเกือบเป็นเอกเทศ (เช่นค่าลักษณะเฉพาะบางอย่างจะต่ำมาก) และสิ่งนี้จะทำให้เกิดการปรับตัวที่เหมาะสมเช่นการแยกชั้นเรียนที่ใกล้เคียงกับข้อมูลการฝึกอบรมพร้อมกับประสิทธิภาพการทำงานของข้อมูลการทดสอบ
เพื่อจัดการกับปัญหานี้เราจำเป็นต้องทำให้ปัญหาเป็นปกติ วิธีหนึ่งในการทำคือใช้ PCA เพื่อลดมิติข้อมูลก่อน มีอีกคนเนื้อหาที่ดีขึ้นเช่นมีregularized LDA (rLDA) วิธีการซึ่งก็ใช้มีขนาดเล็กλแทนΣ W (เรียกว่าการหดตัวประมาณ ) แต่ทำ PCA แรกคือแนวคิด วิธีการที่ง่ายที่สุดและมักจะทำงานได้ดี( 1 - λ ) ΣW+ λ ฉันλΣW
ภาพประกอบ
นี่คือภาพประกอบของปัญหาการปรับตัวมากเกินไป ฉันสร้างตัวอย่าง 60 คลาสต่อคลาสใน 3 คลาสจากการแจกแจงแบบเกาส์มาตรฐาน (หมายถึงศูนย์, ความแปรปรวนของหน่วย) ในช่องว่าง 10, 50-, 100- และ 150 มิติและใช้ LDA เพื่อฉายข้อมูลบน 2D:
สังเกตว่าเมื่อมิติข้อมูลเติบโตขึ้นคลาสจะดีขึ้นและแยกออกได้ดีขึ้น แต่ในความเป็นจริงไม่มีความแตกต่างระหว่างคลาส
เราสามารถดูว่า PCA ช่วยป้องกันการ overfitting อย่างไรถ้าเราแยกชั้นเรียนออกเล็กน้อย ฉันเพิ่ม 1 ลงในพิกัดที่หนึ่งของชั้นหนึ่ง 2 ไปยังพิกัดที่หนึ่งของชั้นสองและ 3 ในพิกัดที่หนึ่งของชั้นสาม ตอนนี้พวกเขาจะถูกแยกออกจากกันเล็กน้อยให้ดูแผนย่อยด้านบนซ้าย:
การ overfitting (แถวบน) ยังคงชัดเจน แต่ถ้าฉันประมวลผลข้อมูลล่วงหน้าด้วย PCA ให้รักษา 10 มิติ (แถวล่าง) เสมอการหายไปมากเกินไปจะหายไปในขณะที่คลาสยังคงอยู่ใกล้กันมากที่สุด
PS เพื่อป้องกันความเข้าใจผิด: ฉันไม่ได้อ้างว่า PCA + LDA เป็นกลยุทธ์การทำให้เป็นมาตรฐานที่ดี (ตรงกันข้ามฉันจะแนะนำให้ใช้ rLDA) ฉันแค่แสดงให้เห็นว่ามันเป็นกลยุทธ์ที่เป็นไปได้
ปรับปรุง ก่อนหน้านี้หัวข้อที่คล้ายกันมากถูกกล่าวถึงในหัวข้อต่อไปนี้พร้อมคำตอบที่น่าสนใจและครอบคลุมโดย @cbeleites:
ดูคำถามนี้ด้วยคำตอบที่ดี:
best practice
จะต้องไม่มีสากล PCA และ LDA ซึ่งเป็นเทคนิคการลดขนาดนั้นแตกต่างกันมาก บางครั้งผู้คนทำ PCA ก่อน LDA แต่มีความเสี่ยงที่จะทิ้งมิติที่สำคัญเกี่ยวกับการเลือกปฏิบัติ (กับพีซีที่ถูกทิ้ง) คำถามที่คุณถามถูกถามจริงในบางรูปแบบหลายครั้งในเว็บไซต์นี้ โปรดค้นหา "PCA LDA" เพื่ออ่านสิ่งที่ผู้คนพูดถึง