กลับไปหน้าบทความ

อ่าน 7 นาที

PCA แบบเบาบาง

การลดขนาด/อัลกอริธึมการเรียนรู้ของเครื่อง

การวิเคราะห์องค์ประกอบหลักแบบเบาบาง (SPCA หรือ sparse PCA) เป็นเทคนิคที่ใช้ในการวิเคราะห์ทางสถิติ โดยเฉพาะอย่างยิ่งในการวิเคราะห์ ชุดข้อมูล...

PCA แบบเบาบาง

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

ข้อเสียเปรียบที่สำคัญอย่างหนึ่งของ PCA ทั่วไปคือ ส่วนประกอบหลักมักจะเป็นผลรวมเชิงเส้นของตัวแปรอินพุตทั้งหมด SPCA เอาชนะข้อเสียเปรียบนี้ได้โดยการค้นหาส่วนประกอบที่เป็นผลรวมเชิงเส้นของตัวแปรอินพุตเพียงไม่กี่ตัว (SPC) ซึ่งหมายความว่าสัมประสิทธิ์บางส่วนของผลรวมเชิงเส้นที่กำหนด SPC เรียกว่า ค่าสัมประสิทธิ์ การถ่วงน้ำหนัก[หมายเหตุ 1 ] จะมีค่าเท่ากับศูนย์ จำนวนค่าสัมประสิทธิ์การถ่วงน้ำหนักที่ไม่เป็นศูนย์เรียกว่า จำนวนสมาชิกของ SPC

การกำหนดสูตรทางคณิตศาสตร์

พิจารณาเมทริกซ์ข้อมูลX{\displaystyle X}โดยที่แต่ละพี{\displaystyle p}แต่ละคอลัมน์แสดงถึงตัวแปรป้อนเข้า และแต่ละคอลัมน์n{\displaystyle n}แต่ละแถวแสดงถึงตัวอย่างอิสระจากประชากรข้อมูล โดยถือว่าแต่ละคอลัมน์ของX{\displaystyle X}มีค่าเฉลี่ยเป็นศูนย์ มิฉะนั้นสามารถลบค่าเฉลี่ยตามคอลัมน์ออกจากแต่ละองค์ประกอบของX{\displaystyle X}. อนุญาตΣ=1n1XX{\displaystyle \Sigma ={\frac {1}{n-1}}X^{\top }X}เป็นเมทริกซ์ความแปรปรวนร่วม เชิงประจักษ์ ของX{\displaystyle X}ซึ่งมีมิติพี×พี{\displaystyle p\times p}.

กำหนดให้เป็นจำนวนเต็มเค{\displaystyle k}กับ1เคพี{\displaystyle 1\leq k\leq p}ปัญหา PCA แบบเบาบางสามารถกำหนดได้เป็นการเพิ่มค่าความแปรปรวนสูงสุดตามทิศทางที่แสดงด้วยเวกเตอร์วีอาร์พี{\displaystyle v\in \mathbb {R} ^{p}}ในขณะเดียวกันก็จำกัดจำนวนสมาชิก:

สูงสุดวีทีΣวีขึ้นอยู่กับวี2=1วี0เค.{\displaystyle {\begin{aligned}\max \quad &v^{T}\Sigma v\\{\text{subject to}}\quad &\left\Vert v\right\Vert _{2}=1\\&\left\Vert v\right\Vert _{0}\leq k.\end{aligned}}}สมการที่ 1

ข้อจำกัดแรกระบุว่าvเป็นเวกเตอร์หน่วยในข้อจำกัดที่สองวี0{\displaystyle \left\Vert v\right\Vert _{0}}แสดงถึง0{\displaystyle \ell _{0}}ค่า pseudo-normของvซึ่งกำหนดโดยจำนวนส่วนประกอบที่ไม่เป็นศูนย์ ดังนั้นข้อจำกัดที่สองระบุว่าจำนวนส่วนประกอบที่ไม่เป็นศูนย์ในvมีค่าน้อยกว่าหรือเท่ากับk ซึ่งโดยทั่วไปเป็นจำนวนเต็มที่เล็กกว่ามิติ pมากค่าที่เหมาะสมที่สุดของสมการที่ 1เรียกว่าค่าeigenvalue ที่ใหญ่ที่สุดแบบ k -sparse

ถ้ากำหนดให้k=pปัญหาจะลดลงเหลือเพียงPCA แบบธรรมดา และค่าที่เหมาะสมที่สุดจะกลายเป็นค่าไอเกนที่ใหญ่ที่สุดของเมทริกซ์ความแปรปรวนร่วมΣ

หลังจากค้นหาคำตอบที่เหมาะสมที่สุดvแล้ว จะทำการลดขนาดของ Σเพื่อให้ได้เมทริกซ์ใหม่

Σ1=Σ(วีทีΣวี)วีวีที,{\displaystyle \Sigma _{1}=\Sigma -(v^{T}\Sigma v)vv^{T},}

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

นิยามที่เทียบเท่ากันต่อไปนี้อยู่ในรูปแบบเมทริกซ์ ให้วี{\displaystyle V}ถ้าเมทริกซ์สมมาตร เป็น p×p เราสามารถเขียนปัญหา PCA แบบเบาบางใหม่ได้ดังนี้

สูงสุดที(Σวี)ขึ้นอยู่กับที(วี)=1วี0เค2อาร์เอnเค(วี)=1,วี0.{\displaystyle {\begin{aligned}\max \quad &Tr(\Sigma V)\\{\text{subject to}}\quad &Tr(V)=1\\&\Vert V\Vert _{0}\leq k^{2}\\&Rank(V)=1,V\succeq 0.\end{aligned}}}สมการที่ 2

Trคือผลรวมของร่องรอยในเมทริกซ์และวี0{\displaystyle \Vert V\Vert _{0}}แสดงถึงองค์ประกอบที่ไม่เป็นศูนย์ในเมทริกซ์Vบรรทัดสุดท้ายระบุว่าVมีอันดับเมทริกซ์เป็นหนึ่งและเป็นเมทริกซ์กึ่งบวกแน่นอนบรรทัดสุดท้ายหมายความว่ามีหนึ่งวี=วีวีที{\displaystyle V=vv^{T}}ดังนั้นสมการที่ 2จึงเทียบเท่ากับ สมการ ที่1

ยิ่งไปกว่านั้น ข้อจำกัดอันดับในสูตรนี้ถือว่าซ้ำซ้อน ดังนั้น PCA แบบเบาบางจึงสามารถแปลงเป็นโปรแกรมกึ่งกำหนดจำนวนเต็มผสมได้ดังต่อไปนี้[ 1 ]

สูงสุดที(Σวี)ขึ้นอยู่กับที(วี)=1|วีฉัน,ฉัน|zฉัน,ฉัน{1,...,พี},|วีฉัน,เจ|12zฉัน,ฉัน,เจ{1,...,พี}:ฉันเจ,วี0,z{0,1}พี,ฉันzฉันเค{\displaystyle {\begin{aligned}\max \quad &Tr(\Sigma V)\\{\text{subject to}}\quad &Tr(V)=1\\&\vert V_{i,i}\vert \leq z_{i},\forall i\in \{1,...,p\},\vert V_{i,j}\vert \leq {\frac {1}{2}}z_{i},\forall i,j\in \{1,...,p\}:i\neq j,\\&V\succeq 0,z\in \{0,1\}^{p},\sum _{i}z_{i}\leq k\end{aligned}}}สมการที่ 3

เนื่องจากข้อจำกัดของจำนวนสมาชิก ปัญหาการหาค่าสูงสุดจึงยากที่จะแก้ไขได้อย่างแม่นยำ โดยเฉพาะอย่างยิ่งเมื่อมิติpสูง ในความเป็นจริง ปัญหา PCA แบบเบาบางในสมการที่ 1เป็น ปัญหา NP-hardในความหมายที่เข้มงวด[ 2 ]

ข้อควรพิจารณาในการคำนวณ

เช่นเดียวกับปัญหาเบาบางส่วนใหญ่ การเลือกตัวแปรใน SPCA เป็นปัญหา NP-hard ที่ไม่นูนซึ่งไม่สามารถคำนวณได้[ 3 ]ดังนั้นจึงมักใช้อัลกอริธึมย่อยที่โลภเพื่อหาคำตอบ

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

อัลกอริทึมสำหรับ SPCA

มีการเสนอแนวทางทางเลือกอื่นๆ หลายวิธี (ของสมการที่ 1 ) ซึ่งรวมถึง

  • กรอบการถดถอย[ 5 ]
  • กรอบการแยกส่วนเมทริกซ์แบบมีบทลงโทษ[ 6 ]
  • กรอบการเขียนโปรแกรมการผ่อนคลายแบบนูน/กึ่งกำหนด[ 7 ]
  • กรอบวิธีพลังงานทั่วไป[ 8 ]
  • กรอบการเพิ่มค่าสูงสุดแบบสลับกัน[ 9 ]
  • การค้นหาแบบโลภไปข้างหน้าและย้อนกลับ และวิธีการที่แม่นยำโดยใช้เทคนิคการแบ่งแยกและขอบเขต[ 10 ]
  • วิธีการแบ่งและจำกัดขอบเขตที่ได้รับการรับรองว่าเหมาะสมที่สุด[ 11 ]
  • กรอบการกำหนดสูตรแบบเบย์เซียน[ 12 ]
  • วิธีการแยกสาขาและตัดแบบผสมจำนวนเต็มกึ่งกำหนดที่รับรองได้ว่าเหมาะสมที่สุด[ 1 ]

การพัฒนาเชิงวิธีการและทฤษฎีของ Sparse PCA รวมถึงการประยุกต์ใช้ในการศึกษาทางวิทยาศาสตร์ได้รับการทบทวนในบทความสำรวจเมื่อเร็ว ๆ นี้[ 13 ]

หมายเหตุเกี่ยวกับการผ่อนคลายการเขียนโปรแกรมเชิงกึ่งกำหนด

มีการเสนอว่า PCA แบบเบาบางสามารถประมาณได้ด้วยการเขียนโปรแกรมแบบกึ่งกำหนด (SDP) [ 7 ] หากเราละทิ้งข้อจำกัดอันดับและผ่อนคลายข้อจำกัดจำนวนสมาชิกด้วยข้อจำกัด นูนแบบนอร์ม 1 จะได้การผ่อนคลายการเขียนโปรแกรมแบบกึ่งกำหนด ซึ่งสามารถแก้ไขได้อย่างมีประสิทธิภาพในเวลาพหุนาม:

สูงสุดที(Σวี)ขึ้นอยู่กับที(วี)=11ที|วี|1เควี0.{\displaystyle {\begin{aligned}\max \quad &Tr(\Sigma V)\\{\text{subject to}}\quad &Tr(V)=1\\&\mathbf {1} ^{T}|V|\mathbf {1} \leq k\\&V\succeq 0.\end{aligned}}}สมการที่ 3

ในข้อจำกัดข้อที่สอง1{\displaystyle \mathbf {1} }เป็น เวกเตอร์ขนาด p×1 ที่ประกอบด้วยเลข 1 ทั้งหมด และ|V|คือเมทริกซ์ที่มีองค์ประกอบเป็นค่าสัมบูรณ์ขององค์ประกอบในV

วิธีแก้ปัญหาที่ดีที่สุดวี{\displaystyle V}สำหรับปัญหาที่ผ่อนคลายสมการที่ 3ไม่รับประกันว่าจะมีอันดับหนึ่ง ในกรณีนั้นวี{\displaystyle V}สามารถตัดทอนเพื่อคงไว้เฉพาะเวกเตอร์ลักษณะเฉพาะที่เด่นที่สุดได้

แม้ว่าโปรแกรมแบบกึ่งกำหนดขอบเขตจะไม่สามารถปรับขนาดเกิน n=300 ตัวแปรอิสระได้ แต่ได้มีการแสดงให้เห็นแล้วว่าการผ่อนคลายแบบกรวยลำดับที่สองของการผ่อนคลายแบบกึ่งกำหนดขอบเขตนั้นเกือบจะกระชับและสามารถแก้ปัญหาที่มีตัวแปรอิสระ n=1000 ได้สำเร็จ[ 14 ]

แอปพลิเคชัน

การวิเคราะห์ข้อมูลทางการเงิน

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

ชีววิทยา

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

การทดสอบสมมติฐานมิติสูง

ชุดข้อมูลร่วมสมัยมักมีจำนวนตัวแปรอินพุต (พี{\displaystyle p}) เทียบเท่าหรืออาจมากกว่าจำนวนตัวอย่างมาก (n{\displaystyle n}) มีการแสดงให้เห็นแล้วว่า ถ้าพี/n{\displaystyle p/n}หากไม่ลู่เข้าสู่ศูนย์ PCA แบบคลาสสิกจะไม่สอดคล้องกันกล่าวอีกนัยหนึ่งคือ ถ้าเรากำหนดให้เค=พี{\displaystyle k=p}ในสมการที่ 1ค่าที่เหมาะสมที่สุดจะไม่ลู่เข้าสู่ค่าไอเกนที่ใหญ่ที่สุดของประชากรข้อมูลเมื่อขนาดตัวอย่างn{\displaystyle n\rightarrow \infty }และคำตอบที่เหมาะสมที่สุดไม่ได้ลู่เข้าสู่ทิศทางของความแปรปรวนสูงสุด แต่ PCA แบบเบาบางสามารถรักษาความสอดคล้องได้แม้ว่าจะเป็นเช่นนั้นก็ตามพีn.{\displaystyle p\gg n.}

ค่า ไอเกนที่ใหญ่ที่สุด k -sparse (ค่าที่เหมาะสมที่สุดของสมการ 1 ) สามารถใช้เพื่อแยกแยะแบบจำลองไอโซเมตริก ซึ่งทุกทิศทางมีความแปรปรวนเท่ากัน ออกจากแบบจำลองความแปรปรวนแบบมีหนามแหลมในการตั้งค่ามิติสูง[ 15 ]พิจารณาการทดสอบสมมติฐานที่สมมติฐานว่างระบุว่าข้อมูลX{\displaystyle X}ข้อมูล ถูกสร้างขึ้นจากการกระจายแบบปกติหลายตัวแปรที่มีค่าเฉลี่ย 0 และความแปรปรวนร่วมเท่ากับเมทริกซ์เอกลักษณ์และสมมติฐานทางเลือกกำหนดว่าข้อมูลX{\displaystyle X}สร้างขึ้นจากแบบจำลองที่มีสไปค์พร้อมความแรงของสัญญาณθ{\displaystyle \theta }:

ชม0:X~เอ็น(0,ฉันพี),ชม1:X~เอ็น(0,ฉันพี+θวีวีที),{\displaystyle H_{0}:X\sim N(0,I_{p}),\quad H_{1}:X\sim N(0,I_{p}+\theta vv^{T}),}

ที่ไหนวีอาร์พี{\displaystyle v\in \mathbb {R} ^{p}}มีพิกัดที่ไม่เป็นศูนย์ เพียง k ตัวเท่านั้น ค่าไอเกน แบบ k -sparse ที่ใหญ่ที่สุดสามารถแยกแยะสมมติฐานทั้งสองได้ก็ต่อเมื่อθ>Θ(เคบันทึก(พี)/n){\displaystyle \theta >\Theta ({\sqrt {k\log(p)/n}})}.

เนื่องจากการคำนวณ ค่าไอเกน แบบ k -sparse นั้นเป็นปัญหา NP-hard เราจึงสามารถประมาณค่าได้โดยใช้ค่าที่เหมาะสมที่สุดของการผ่อนคลายการเขียนโปรแกรมแบบกึ่งกำหนด ( สมการที่ 3 ) ในกรณีนั้น เราสามารถแยกแยะสมมติฐานทั้งสองได้หากθ>Θ(เค2บันทึก(พี)/n){\displaystyle \theta >\Theta ({\sqrt {k^{2}\log(p)/n}})}. เพิ่มเติมเค{\displaystyle {\sqrt {k}}}หาก สมมติฐานเกี่ยวกับกลุ่มคลิกที่กำหนดไว้เป็นจริงจะไม่สามารถปรับปรุงเงื่อนไขได้ด้วยอัลกอริทึมเวลาพหุนามอื่นใด

ซอฟต์แวร์/ซอร์สโค้ด

  • amanpg - แพ็คเกจ R สำหรับ Sparse PCA โดยใช้ Alternating Manifold Proximal Gradient Method [ 16 ]
  • elasticnet – แพ็กเกจ R สำหรับการประมาณค่าแบบเบาบางและ PCA แบบเบาบางโดยใช้ Elastic-Nets [ 17 ]
  • epca – แพ็กเกจ R สำหรับการวิเคราะห์ส่วนประกอบหลักเชิงสำรวจสำหรับชุดข้อมูลขนาดใหญ่ รวมถึงการวิเคราะห์ส่วนประกอบหลักแบบเบาบางและการประมาณเมทริกซ์แบบเบาบาง[ 18 ]
  • nsprcomp - แพ็คเกจ R สำหรับ PCA แบบเบาบางและ/หรือแบบไม่เป็นลบโดยอิงตามการวนซ้ำกำลังที่มีเกณฑ์[ 19 ]
  • scikit-learn – ไลบรารี Python สำหรับการเรียนรู้ของเครื่องซึ่งประกอบด้วย Sparse PCA และเทคนิคอื่นๆ ในโมดูลการแยกส่วน[ 20 ]

หมายเหตุ

  1. คำว่า "loadings" ถูกนำมาใช้ไม่เหมาะสมสำหรับเวกเตอร์เหล่านี้ ซึ่งควรเรียกว่า "coefficients" แทน ชื่อนี้มาจากคำว่า "loadings" ที่ใช้ในการวิเคราะห์ปัจจัยเพื่อออกแบบค่าที่สร้างเมทริกซ์ความแปรปรวนร่วม เนื่องจากใน PCA มาตรฐาน ค่า loadings จะเท่ากับค่า coefficients ดังนั้นจึงมีการใช้คำว่า loadings สำหรับค่า coefficients ซึ่งค่อนข้างน่าเสียดาย เพราะใน SPCA ค่า coefficients ไม่เท่ากับค่า loadings

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Sparse_PCA&oldid=1332584994 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ PCA แบบเบาบาง

การวิเคราะห์องค์ประกอบหลักแบบเบาบาง (SPCA หรือ sparse PCA) เป็นเทคนิคที่ใช้ในการวิเคราะห์ทางสถิติ โดยเฉพาะอย่างยิ่งในการวิเคราะห์ ชุดข้อมูล...

การกำหนดสูตรทางคณิตศาสตร์

พิจารณา เมทริกซ์ ข้อมูล X {\displaystyle X} โดยที่แต่ละ พี {\displaystyle p} แต่ละคอลัมน์แสดงถึงตัวแปรป้อนเข้า และแต่ละคอลัมน์ n {\displaystyle n} แต่ละแถวแสดงถึงตัวอย่างอิสระจากประชากรข้อมูล โดยถือว่าแต่ละคอลัมน์ของ X {\displaystyle X} มีค่าเฉลี่ยเป็นศูนย์...

ข้อควรพิจารณาในการคำนวณ

เช่นเดียวกับปัญหาเบาบางส่วนใหญ่ การเลือกตัวแปรใน SPCA เป็นปัญหา NP-hard ที่ไม่นูนซึ่งไม่สามารถคำนวณได้ [ 3 ] ดังนั้นจึงมักใช้อัลกอริธึมย่อยที่โลภเพื่อหาคำตอบ

อัลกอริทึมสำหรับ SPCA

มีการเสนอแนวทางทางเลือกอื่นๆ หลายวิธี (ของ สมการที่ 1 ) ซึ่งรวมถึง