ฟังก์ชันวัตถุประสงค์ PCA: การเชื่อมต่อระหว่างการเพิ่มความแปรปรวนและการลดข้อผิดพลาดคืออะไร?


32

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

maxw(Xw)T(Xw)s.t.wTw=1.

นี่เป็นเรื่องปกติและเราใช้ตัวคูณแบบลากรองจ์เพื่อแก้ปัญหานั่นคือเขียนใหม่เป็น:

maxw[(Xw)T(Xw)λwTw],

ซึ่งเทียบเท่ากับ

maxw(Xw)T(Xw)wTw,

และด้วยเหตุนี้ ( ดูที่นี่ใน Mathworld ) ดูเหมือนจะเท่ากับ

maxwi=1n(distance from point xi to line w)2.

แต่ตอนนี้ไม่ว่าจะเป็นเพื่อเพิ่มระยะห่างระหว่างจุดและสายและจากสิ่งที่ผมเคยอ่านที่นี่นี้ไม่ถูกต้อง - มันควรจะเป็นminไม่\maxข้อผิดพลาดของฉันอยู่ที่ไหน

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


ฉันคิดว่าระยะทางต่ำสุดถูกใช้เพื่อให้เป็นไปตามเกณฑ์ของ orthogonality สำหรับส่วนประกอบ คะแนนจะถูกฉายลงในพีซีที่ตั้งฉากซึ่งกันและกัน แต่ในแต่ละองค์ประกอบที่ต่อเนื่องความแปรปรวนที่เหลือจะถูกขยายให้ใหญ่สุด
Michael R. Chernick

คำแนะนำ: จะเกิดอะไรขึ้นเมื่อคุณพิจารณาค่าลักษณะเฉพาะที่เล็กที่สุดก่อนแทนที่จะเป็นค่าที่ใหญ่ที่สุด
whuber

@whuber ค่าลักษณะเฉพาะขนาดเล็กที่สุดอาจมีพีซีที่เป็นทางออกของฟังก์ชันวัตถุประสงค์ขั้นสุดท้าย แต่พีซีนี้ไม่ได้เพิ่มฟังก์ชั่นวัตถุประสงค์ดั้งเดิมไว้สูงสุด
Cam.Davidson.Pilon

2
ฉันไม่แน่ใจว่าคุณหมายถึงอะไรโดยฟังก์ชั่นวัตถุประสงค์ "ขั้นสุดท้าย" และ "ต้นฉบับ" Cam PCA ไม่ใช่โปรแกรมเพิ่มประสิทธิภาพ (แนวคิด) เอาต์พุตเป็นชุดของทิศทางหลักไม่ใช่เพียงทิศทางเดียว มันเป็นทฤษฎีบททางคณิตศาสตร์ (น่าสนใจ) ที่สามารถพบคำสั่งเหล่านี้ได้ด้วยการแก้ลำดับของโปรแกรมกำลังสองที่ จำกัด แต่นั่นไม่ได้เป็นพื้นฐานของแนวคิดหรือการปฏิบัติของ PCA ฉันแนะนำเพียงว่าโดยมุ่งเน้นไปที่ค่าลักษณะเฉพาะที่เล็กที่สุดแทนที่จะเป็นค่าที่ใหญ่ที่สุดคุณสามารถปรับความคิดสองข้อของ (1) ลดระยะทางและ (2) รับมุมมองการปรับให้เหมาะสมของ PCA
whuber

1
ไม่เป็นไร - คำตอบของคุณคือเวอร์ชันที่ไม่ใช่ข้อผิดพลาดของสิ่งที่ฉันพยายามทำ
Cam.Davidson.Pilon

คำตอบ:


42

ปล่อยให้เป็นเมทริกซ์ข้อมูลกึ่งกลางโดยมีการสังเกตในแถว ปล่อยเป็นเมทริกซ์ความแปรปรวนร่วม ปล่อยเป็นเวกเตอร์หน่วยระบุแกนในพื้นที่ตัวแปร เราต้องการเป็นแกนหลักแรกXnΣ=XX/(n1)ww

ตามแนวทางแรกแกนหลักแรกจะเพิ่มความแปรปรวนของเส้นโครง (ความแปรปรวนขององค์ประกอบหลักตัวแรก) ความแปรปรวนนี้ได้รับจากXw

Var(Xw)=wXXw/(n1)=wΣw.

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

XXww2=tr((XXww)(XXww))=tr((XXww)(XwwX))=tr(XX)2tr(XwwX)+tr(XwwwwX)=consttr(XwwX)=consttr(wXXw)=constconstwΣw.

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


สิ่งที่ฉันสังเกตเห็นไม่ใช่เป็นฟังก์ชันนูน (เทียบกับในขณะที่เป็น PSD เราจะลองเพิ่มประสิทธิภาพได้อย่างไรwTΣwwΣ
Royi

@ amoeba คุณสามารถอธิบายว่าคุณไปจาก tr () เป็น const ในขั้นตอนสุดท้ายได้อย่างไร
alberto

1
@alberto สิ่งที่อยู่ภายในร่องรอยคือจำนวน (เมทริกซ์ 1x1); การติดตามของตัวเลขคือหมายเลขนี้เองดังนั้นการติดตามสามารถลบออกได้ ค่าคงที่ปรากฏเนื่องจากเท่ากับดังนั้นจึงมีปัจจัยนี้ ΣXX/n1/n
อะมีบาพูดว่า Reinstate Monica

1
@Leullame การคำนวณจะเก็บคำต่อคำสำหรับถ้ามันเป็นเมทริกซ์ที่มีคอลัมน์ orthonormal คุณต้องจะไปจากบรรทัด # 3 ถึงบรรทัด # 4 หากเมทริกซ์มีคอลัมน์ orthonormal แล้วแน่นอนจะมีการประมาณการของบนสเปซทอดคอลัมน์ของ (ที่นี่เป็นเวกเตอร์แถว) WWW=IWxWWxWx
อะมีบาพูดว่า Reinstate Monica

1
@ DanielLópezเรากำลังมองหาข้อผิดพลาด subspace 1 มิติที่ลดข้อผิดพลาดในการสร้างใหม่ สเปซย่อย 1 มิติสามารถกำหนดได้โดยเวกเตอร์หน่วยบรรทัดฐานที่ชี้ไปยังทิศทางของมันซึ่งเป็นสิ่งที่จะต้องดำเนินการ มันมีหน่วยมาตรฐานโดยการก่อสร้าง w
อะมีบาพูดว่า Reinstate Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.