สัญชาตญาณของ SVD คืออะไร?


50

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

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


4
คุณอาจต้องการเริ่มต้นจากการหยั่งรู้ค่าของการสลายตัวของ eigenvalue-eigenvector เนื่องจาก SVD เป็นส่วนเสริมสำหรับเมทริกซ์ทุกชนิดแทนที่จะเป็นสี่เหลี่ยมจัตุรัส
JohnK

มีบันทึกมากมายบนอินเทอร์เน็ตและคำตอบที่นี่เกี่ยวกับ CV เกี่ยวกับ SVD และผลงานของมัน
Vladislavs Dovgalecs

2
SVD สามารถคิดเป็นอัลกอริทึมการบีบอัด / การเรียนรู้ มันเป็นตัวบีบอัดคอมเพรสเซอร์เชิงเส้น เมทริกซ์ M สามารถแสดงได้ด้วยการคูณ SVD S คือตัวบีบอัด V กำหนดจำนวนข้อผิดพลาดที่คุณต้องการ (การบีบอัดแบบสูญเสีย) และ D คือตัวขยายการบีบอัด หากคุณรักษาค่าในแนวทแยงทั้งหมดของ V แล้วคุณมีคอมเพรสเซอร์แบบไม่สูญเสีย หากคุณเริ่มทิ้งค่าเอกพจน์ขนาดเล็ก (zeroing พวกเขา) แล้วคุณไม่สามารถสร้างเมทริกซ์เริ่มต้นได้อย่างแน่นอน แต่จะยังคงปิด ที่นี่คำว่าปิดวัดด้วยบรรทัดฐาน Frobenius
Cagdas Ozgenc

2
@Cagdas ถ้าคุณทำอย่างนั้นโปรดกำหนดสิ่งที่คุณกำลังใช้ "S" "V" และ "D" อย่างระมัดระวัง ฉันไม่เคยเห็นชื่อย่อโอเวอร์โหลดเข้าไปในสัญกรณ์ตัวเองมาก่อน (ซึ่งมีค่าเอกพจน์ในนั้นตัวอย่างเช่น?) ดูเหมือนว่าจะเป็นแหล่งที่มาของความสับสน
Glen_b

3
คุณรู้วิธีการประมาณ PCA ด้วย SVD หรือไม่ หากคุณทำเช่นนั้นคุณสามารถอธิบายได้หรือไม่ว่าทำไมคุณถึงรู้สึกว่ามีบางสิ่งที่ขาดหายไปในความเข้าใจในแผนกบริการของคุณ? ดูสิ่งนี้
Aksakal

คำตอบ:


63

เขียน SVD ของเมทริกซ์ (จริง ) เป็น ที่คือ ,เป็นเส้นทแยงมุมและคือครั้งหน้า ในแง่ของคอลัมน์ของเมทริกซ์ที่และเราสามารถเขียน T นั่นแสดงให้เห็นว่าเขียนเป็นผลรวมของเมทริกซ์อันดับ 1 เมทริกซ์อันดับ 1 มีลักษณะอย่างไร มาดูกัน: Xn×p

X=UDVT
Un×pDp×pVTp×pUVX=i=1pdiuiviTXp
(123)(456)=(45681012121518)
แถวเป็นสัดส่วนและคอลัมน์เป็นสัดส่วน

คิดว่าตอนนี้เกี่ยวกับว่ามีค่า greyscale ของภาพขาวดำซึ่งแต่ละรายการในเมทริกซ์คิดเป็นหนึ่งพิกเซล ตัวอย่างเช่นรูปภาพของลิงบาบูน:X

รูปลิงบาบูน

อ่านแล้วภาพนี้ลงใน R pixmapและได้รับส่วนเมทริกซ์ของโครงสร้างที่เกิดขึ้นอาจจะใช้ห้องสมุด


หากคุณต้องการคำแนะนำทีละขั้นตอนเป็นวิธีการที่จะทำให้เกิดผลลัพธ์ที่คุณสามารถหารหัสที่นี่


คำนวณ SVD:

baboon.svd  <-  svd(bab) # May take some time

เราจะคิดอย่างไรเกี่ยวกับเรื่องนี้? เราได้รับภาพลิงบาบูนที่แสดงเป็นผลรวมของภาพที่เรียบง่ายภาพโดยแต่ละภาพแสดงโครงสร้างแนวตั้งและแนวนอนเท่านั้นนั่นคือภาพของลายเส้นแนวตั้งและแนวนอน! ดังนั้น SVD ของลิงบาบูนจึงแสดงภาพลิงบาบูนเป็นภาพซ้อนทับที่เรียบง่ายจำนวนภาพแต่ละภาพแสดงแถบแนวนอน / แนวตั้งเท่านั้น ให้เราคำนวณการสร้างภาพระดับต่ำใหม่ด้วยและองค์ประกอบ:512 512 1512×512512512120

baboon.1  <-  sweep(baboon.svd$u[,1,drop=FALSE],2,baboon.svd$d[1],"*") %*%
                   t(baboon.svd$v[,1,drop=FALSE])

baboon.20 <-  sweep(baboon.svd$u[,1:20,drop=FALSE],2,baboon.svd$d[1:20],"*") %*%
                   t(baboon.svd$v[,1:20,drop=FALSE])

ทำให้ภาพสองภาพต่อไปนี้:

อันดับหนึ่งและจัดอันดับ 20 การสร้างภาพลิงบาบูน

ทางด้านซ้ายเราสามารถเห็นลายเส้นแนวตั้ง / แนวนอนได้อย่างง่ายดายในรูปภาพอันดับ 1

ให้เราดูที่ "ภาพที่เหลือ" ซึ่งเป็นภาพที่สร้างขึ้นใหม่ (ดังที่แสดงไว้ด้านบน, โค้ดไม่แสดง) จากภาพอันดับ - อันดับหนึ่งที่มีค่าเอกฐานต่ำที่สุด นี่มันคือ:20

รูปของเศษซากจากการสร้างใหม่ 20 อันดับลิงบาบูน

ซึ่งน่าสนใจมาก: เราเห็นส่วนต่าง ๆ ของภาพต้นฉบับซึ่งยากที่จะนำเสนอเป็นภาพซ้อนทับของเส้นแนวตั้ง / แนวนอนส่วนใหญ่ขนจมูกเส้นทแยงมุมและพื้นผิวและดวงตา!


11
ฉันคิดว่าคุณหมายถึงการสร้างใหม่ระดับต่ำไม่ใช่ระดับต่ำ ไม่เป็นไร. นี่เป็นภาพประกอบที่ดีมาก (+1) นั่นเป็นเหตุผลว่าทำไมมันถึงเป็นคอมเพรสเซอร์บีบอัดเชิงเส้น ภาพประมาณด้วยเส้น หากคุณทำ autoencoder ที่คล้ายกันกับเครือข่ายประสาทที่มีฟังก์ชั่นการเปิดใช้งานเชิงเส้นคุณจะเห็นว่ามันช่วยให้เส้นที่มีความลาดชันไม่เพียง แต่เส้นแนวตั้งและแนวนอนซึ่งทำให้มีประสิทธิภาพมากกว่า SVD เล็กน้อย
Cagdas Ozgenc

@ kjetil-b-halvorsen ไม่ควร SVDสำหรับเมทริกซ์ส่งผลให้เป็น ,เป็นและเป็น ? สะกดผิด? n × p X U n × n ΣX=UΣVn×pXUn×nΣV p × pn×pVp×p
Martin Krämer

1
ดูmath.stackexchange.com/questions/92171/ … สำหรับตัวอย่างอื่น ๆ
kjetil b halvorsen

@ kjetil-b-halvorsen ฉันสนใจที่จะรู้ว่า decription จะเปลี่ยนไปอย่างไรหากฉันใช้ PCA ในการปฏิเสธแอปพลิเคชัน ฉันจะขอบคุณถ้าคุณสามารถตอบคำถามของฉันได้ที่นี่stats.stackexchange.com/questions/412123//
Dushyant Kumar

@CowboyTrader สังเกตที่น่าสนใจ ความเข้าใจเกี่ยวกับการเรียนรู้ของเครื่อง / เครือข่ายประสาทเทียมของฉันค่อนข้าง จำกัด ดังนั้นฉันจึงล้มเหลวที่จะเข้าใจว่าหากมีภาพที่มีเสียงดังเพียงอย่างเดียวและไม่มีสิ่งอื่นใดให้ฝึกฝนต่อโครงข่ายประสาทจะทำงานอย่างไร
Dushyant Kumar

3

ปล่อยให้เป็นจริง matrix ฉันจะสมมติว่าเพื่อความง่าย เป็นเรื่องปกติที่จะถามว่าทิศทางใดที่ทำมีผลกระทบมากที่สุด (หรือระเบิดได้มากที่สุดหรือกำลังขยายสูงสุด) คำตอบคือ คำถามติดตามที่เป็นธรรมชาติคือหลังจากแล้วทิศทางการระเบิดที่รุนแรงที่สุดต่อไปของ ? คำตอบคือ Am×nmnvA

(1)v1=argmaxvRnAv2subject to v2=1.
v1A
v2=argmaxvRnAv2subject to v1,v=0,v2=1.
อย่างต่อเนื่องเช่นนี้เราได้รับการ orthonormal พื้นฐานของ n นี้พื้นฐานพิเศษบอกเราทิศทางที่อยู่ในความรู้สึกบางอย่างที่สำคัญที่สุดสำหรับการทำความเข้าใจv1,,vnRnRnA

ปล่อยให้ (ดังนั้นปริมาณพลังงานระเบิดของในทิศทาง ) สมมติว่าหน่วยเวกเตอร์ถูกกำหนดไว้เพื่อให้ สมการ (2) สามารถแสดงออกอย่างกระชับโดยใช้สัญลักษณ์เมทริกซ์เป็น ที่คือเมทริกซ์ซึ่งคอลัมน์ th คือ ,คือเมทริกซ์ที่คอลัมน์ที่สองคือและσi=Avi2σiAviui

(2)Avi=σiuifor i=1,,n.
(3)AV=UΣ,
Vn×niviUm×niuiΣเป็นเมทริกซ์ทแยงมุมมี th เส้นทแยงมุมรายการเป็น\เมทริกซ์คือมุมฉากดังนั้นเราสามารถคูณทั้งสองด้านของ (3) ด้วยเพื่อรับ ดูเหมือนว่าขณะนี้เราได้รับ SVD ของด้วยความพยายามเกือบเป็นศูนย์ ไม่มีขั้นตอนใดที่ยุ่งยาก อย่างไรก็ตามชิ้นส่วนสำคัญของภาพหายไป - เรายังไม่ทราบว่าเป็นมุมฉากn×niσiVVT
A=UΣVT.
AU

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

(4)Av1,Av2=0.
v1 v1v2

สมมติว่า (เพื่อแย้ง) ที่ (4) ไม่พอใจ หากถูกรบกวนเล็กน้อยในทิศทางมุมฉากบรรทัดฐานของจะไม่เปลี่ยนแปลง (หรืออย่างน้อยที่สุดการเปลี่ยนแปลงในมาตรฐานของนั้นเล็กน้อย) เมื่อฉันเดินบนพื้นผิวโลกระยะทางของฉันจากศูนย์กลางของโลกไม่เปลี่ยนแปลง อย่างไรก็ตามเมื่อถูกรบกวนในทิศทางเวกเตอร์จะถูกรบกวนในทิศทางที่ไม่ใช่มุมฉากและดังนั้นการเปลี่ยนแปลงในมาตรฐานของนั้นไม่สำคัญเลย บรรทัดฐานของv1v2v1v1v1v2Av1Av2Av1Av1สามารถเพิ่มได้ตามจำนวนที่ไม่สามารถเพิกเฉยได้ ซึ่งหมายความว่าไม่เหมาะสำหรับปัญหา (1) ซึ่งขัดแย้งกัน ฉันชอบเรื่องนี้เพราะ: 1) สัญชาตญาณชัดเจนมาก 2) สัญชาตญาณสามารถแปลงเป็นหลักฐานที่เข้มงวดโดยตรงv1

อาร์กิวเมนต์ที่คล้ายกันแสดงให้เห็นว่าเป็นมุมฉากของทั้งและและอื่น ๆ เวกเตอร์เป็นแบบมุมฉากแบบคู่ ซึ่งหมายความว่าหน่วยเวกเตอร์สามารถเลือกให้เป็น orthogonal แบบ pairwise ซึ่งหมายความว่าเมทริกซ์ด้านบนเป็นเมทริกซ์มุมฉาก สิ่งนี้ทำให้การค้นพบ SVD ของเราเสร็จสมบูรณ์Av3Av1Av2Av1,,Avnu1,,unU


ในการแปลงอาร์กิวเมนต์ที่เข้าใจง่ายข้างต้นเป็นหลักฐานที่เข้มงวดเราต้องเผชิญหน้ากับความจริงที่ว่าหากถูกรบกวนในทิศทางเวกเตอร์ที่ถูกรบกวน ไม่ใช่หน่วยเวกเตอร์อย่างแท้จริง (บรรทัดฐานคือ ) เพื่อให้ได้หลักฐานที่เข้มงวดให้นิยาม vectorเป็นเวกเตอร์หน่วยอย่างแท้จริง แต่อย่างที่คุณสามารถแสดงให้เห็นได้อย่างง่ายดายหาก (4) ไม่พอใจดังนั้นสำหรับค่าเล็ก ๆ ของเพียงพอเรามี (สมมติว่าสัญลักษณ์ของv1v2

v~1=v1+ϵv2
1+ϵ2
v¯1(ϵ)=1ϵ2v1+ϵv2.
v¯1(ϵ)ϵ
f(ϵ)=Av¯1(ϵ)22>Av122
ϵเลือกอย่างถูกต้อง) ในการแสดงนี้เพียงแค่ตรวจสอบว่า0 ซึ่งหมายความว่าไม่เหมาะสำหรับปัญหา (1) ซึ่งขัดแย้งกันf(0)0v1

(โดยวิธีการที่ผมขอแนะนำให้อ่านคำอธิบาย Qiaochu หยวนของ SVD ที่นี่ . โดยเฉพาะอย่างยิ่งจะดูที่ "คีย์แทรก # 1" ซึ่งเป็นสิ่งที่เรากล่าวข้างต้น. เป็น Qiaochu กล่าวว่าที่สำคัญแทรก # 1 คือ "หัวใจทางเทคนิค ของการสลายตัวของค่าเอกพจน์ ".)


0

เพื่อนใช้เวลาหนึ่งชั่วโมงต่อวันของคุณและดูการบรรยายนี้: https://www.youtube.com/watch?v=EokL7E6o1AE

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

ฉันจะสรุปให้คุณแทนที่จะให้เมทริกซ์สามตัวที่ทุกคนทำ (เพราะนั่นทำให้ฉันสับสนเมื่อฉันอ่านคำอธิบายอื่น ๆ ) เมทริกซ์เหล่านั้นมาจากไหนและทำไมเราถึงตั้งค่าแบบนั้น การบรรยายเล็บมัน! เมทริกซ์ทุกตัว (เคยมีมาในประวัติศาสตร์ของความเป็นอมตะ) สามารถสร้างขึ้นได้จากเมทริกซ์ฐานที่มีขนาดเท่ากันจากนั้นหมุนมันและยืดออก (นี่คือทฤษฎีบทพื้นฐานของพีชคณิตเชิงเส้น) แต่ละเมทริกซ์สามคนที่อยู่รอบตัวเป็นตัวแทนเมทริกซ์เริ่มต้น (U) เมทริกซ์ปรับขนาด (ซิกม่า) และเมทริกซ์การหมุน (V)

เมทริกซ์มาตราส่วนแสดงให้เห็นว่าเวกเตอร์การหมุนใดที่มีอิทธิพลเหนือสิ่งเหล่านี้เรียกว่าค่าเอกพจน์ การสลายตัวคือการแก้สำหรับ U, Sigma และ V

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