การทำให้เป็นมาตรฐานทำให้กระจัดกระจายสำหรับเมทริกซ์สุ่ม


10

มันเป็นที่รู้จักกันดี (เช่นในด้านการตรวจจับอัด) ที่บรรทัดฐานคือ "sparsity ชักนำ" ในแง่ที่ว่าถ้าเราลดการทำงาน (สำหรับการแก้ไขเมทริกซ์และเวกเตอร์\ vec {ข} ) f_ {หัวใจ , \ vec {b}} (\ vec {x}) = \ | A \ vec {x} - \ vec {b} \ | _2 ^ 2 + \ lambda \ | \ vec {x} \ | _1สำหรับขนาดใหญ่พอ\ แลมบ์ดา> 0เราก็จะมีโอกาสในการเลือกหลาย, \ vec {ข}และ\ แลมบ์ดาจะมีจำนวนมากว่าเป็นศูนย์รายการในที่เกิด\ vec {x} AL1Ab

fA,b(x)=Axb22+λx1
λ>0Abλx

แต่ถ้าเราย่อfA,bให้อยู่ภายใต้เงื่อนไขที่ว่ารายการของxนั้นเป็นค่าบวกและรวมเป็น1แล้วL1จะไม่มีผลใด ๆ (เพราะx1=1โดยคำสั่ง) มีL1ชนิดL_1ที่ใช้งานได้ในกรณีนี้เพื่อกระตุ้นให้เกิดxกระจัดกระจายหรือไม่?


คุณช่วยอธิบายรายละเอียดเกี่ยวกับ "แล้วคำL1ไม่มีผลกระทบใด ๆ (เพราะ||x||1=1โดยคำสั่ง)"?
Cam.Davidson.Pilon

2
@ Cam.Davidson.Pilon: xi0และixi=1หมายถึงx1=11 :)
สำคัญ

1
Justin: รายละเอียดเพิ่มเติมบางอย่างอาจให้โอกาสที่ดีกว่ากับคำตอบที่เป็นประโยชน์ นี่คือคำถามที่เกิดขึ้นทันทีเมื่ออ่านคำอธิบายของคุณ: ( 1 ) "เมทริกซ์สุ่ม" ในทั้งหมดนี้อยู่ที่ไหน? คุณดูเหมือนจะอธิบายสถานการณ์ที่เกี่ยวข้องกับการสุ่มเวกเตอร์ สิ่งเหล่านี้อาจเป็นแต่ละแถวของเมทริกซ์สุ่มของคุณหรือโครงสร้างอื่น ๆ อาจปรากฏชัดเจนเมื่อมีรายละเอียดเพิ่มเติม ( 2 ) คุณต้องการความน่าจะเป็นหร็อมแหร็มหรือบางทีหร็อมแหร็มในบางที่เหมาะสม? ถ้าแรกทำไม (นี่คือบางสุ่มเดินบนถ่วงน้ำหนัก (เบาบาง) กราฟ?)
พระคาร์ดินัล

ทำไมคุณจึงกำหนดให้รายการที่จะบวก ? คุณควรจะต้องการที่จะให้พวกเขาไม่ใช่เชิงลบหรือไม่? นอกจากนี้คุณได้พิจารณาการกำหนดพารามิเตอร์อีกครั้งเพื่อกำจัดข้อ จำกัด (สมมติว่าคุณหมายถึงไม่ใช่ลบ) หรือไม่ กล่าวอีกนัยหนึ่งลองxxi=exp(wi)jexp(wj)
jrennie

1
@jrennie: ให้บริบทโดยบวกจัสตินก็หมายความว่าไม่ติดลบ
พระคาร์ดินัล

คำตอบ:


2

วิธีการทั่วไปสำหรับการสร้างโซลูชันที่กระจัดกระจายคือผ่านการประมาณค่า MAP ด้วยค่าเฉลี่ยศูนย์ที่เป็นค่าปกติ

p(xi|σi2)N(0,σi2)

หากคุณกำหนดค่าก่อนหน้าให้กับซึ่งมีโหมดเป็นศูนย์แล้วโหมดหลังมักจะเบาบาง เกิดขึ้นจากวิธีการนี้โดยการกระจายการผสมชี้แจงσi2L1

p(σi2|λ)Expo(λ22)

จากนั้นคุณจะได้รับ

log[p(xi|λ)]=λ|xi|+log[λ2]

ทางเลือกบางอย่างคือพาเรโตคู่ทั่วไป, ครึ่งโคชี, เบต้ากลับหัว ในบางแง่เหล่านี้ดีกว่าบ่วงเพราะพวกเขาไม่ได้ลดค่าขนาดใหญ่ ในความเป็นจริงฉันค่อนข้างแน่ใจว่าคู่ pareto ทั่วไปสามารถเขียนเป็นส่วนผสมของเลขชี้กำลัง นั่นคือเราเขียนแล้ววางแกมมาก่อน เบต้า) เราได้รับ:λ=λip(λi|αβ)

p(xi|αβ)=α2β(1+|xi|β)(α+1)

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

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

สิ่งนี้มีพื้นฐานมาจากผลงานอันยอดเยี่ยมของ Nicolas Polson และ James Scott เกี่ยวกับการผสมผสานความหลากหลายที่พวกเขาใช้เพื่อพัฒนา TIRLS ซึ่งเป็นส่วนขยายที่น้อยที่สุดของสี่เหลี่ยมจัตุรัสที่มีขนาดใหญ่มาก ๆ

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

i=1n1(ai1)log(xi)(an1)log(1i=1n1xi)

ไหน<1 อย่างไรก็ตามคุณจะต้องระมัดระวังในการปรับตัวเลขให้เหมาะสมเนื่องจากการลงโทษมีความแปลกประหลาด กระบวนการประมาณที่แข็งแกร่งยิ่งขึ้นคือการใช้ค่าเฉลี่ยหลัง แม้ว่าคุณจะสูญเสียความกระจัดกระจายแน่นอนคุณจะได้รับวิธีการหลังจำนวนมากที่อยู่ใกล้กับศูนย์0<ai<1


ดูเหมือนว่าเป็นความคิดที่น่าสนใจแม้ว่าเราจะไม่เข้าใจรายละเอียดมากนัก! หากฉันเข้าใจอย่างถูกต้องแนวคิดก็คือก่อนหน้านี้มาจากการสันนิษฐานว่าตัวแปรตามการแจกแจงเอ็กซ์โพเนนเชียลประมาณ 0 ดังนั้นเราต้องการการกระจายแบบกึ่งกลางที่ 0 ซึ่งทำงานได้ดีกว่าสำหรับตัวแปรของเรา แต่ไม่มีผู้ชนะที่ชัดเจนใช่มั้ย มีการกระจายตัวของ "ตัวแปรบวกที่รวมเป็น 1" หรือไม่? ขอบคุณสำหรับความช่วยเหลือของคุณ! L1
Justin Solomon

เพื่อให้ได้ Sparsity คุณต้องมีการกระจายด้วยโหมดที่ศูนย์ และการแจกแจงไดริชเลตอยู่เหนือซิมเพล็กซ์ซึ่งก็คือการแจกแจงที่แม่นยำซึ่งรวมเป็น 1 คลาสทั่วไปอีกอันคือโลจิสติก - ปกติหรือโลจิสติก t ที่คุณมีการแจกแจงปกติ / t สำหรับlog[xixn]
ความน่าจะเป็น

Ah, Dirichlet ดูน่าสนใจทีเดียวที่มันเป็นเรื่องง่ายที่เราสนใจตามที่คุณพูดถึง! ดูเหมือนว่าอีกสองคนที่คุณพูดถึงอาจแนะนำความไม่สมดุลให้กับใช่ไหม? ผู้ทำงานร่วมกันของฉันและฉันจะทำงานผ่านฟังก์ชั่นด้านพลังงานโดย Dirichlet ในวันพรุ่งนี้และจะรายงานกลับมา! ขอบคุณมากสำหรับความช่วยเหลือผู้ป่วยของคุณป่านนี้ - ไกลจากสนามปกติของเรา แต่ถ้าเราสามารถทำมันออกมาผลลัพธ์อาจให้ขั้นตอนสำคัญในการประมวลผลทางเรขาคณิต! [และแน่นอนเราจะให้เครดิตแก่คุณ!]xn
Justin Solomon

1

สองตัวเลือก:

  1. ใช้โทษในx ข้อเสียเปรียบที่เห็นได้ชัดคือนี่ไม่ใช่แบบนูนและทำให้การปรับให้เหมาะสมทำได้ยากL0x
  2. สร้างพารามิเตอร์ใหม่,และใช้บทลงโทษสำหรับเวกเตอร์พารามิเตอร์ใหม่ (ธรรมชาติ),. สิ่งนี้จะสนับสนุนกิจกรรมให้มีความเป็นไปได้อย่างเท่าเทียมกันยกเว้นในกรณีที่ไม่มีเหตุผลที่ดีxi=exp(wi)jexp(wj)w

คุณช่วยอธิบายได้อย่างไรว่า มันดูเหมือนว่าจะรับประกันค่อนข้างตรงข้าม
พระคาร์ดินัล

มันส่งเสริมความกระจ่างในซึ่งสอดคล้องกับการสนับสนุนรายการต่าง ๆ ของให้มีค่าเดียวกัน wx
jrennie

ใช่ฉันเข้าใจแล้ว แต่ค่าเหล่านั้นจะไม่เป็นศูนย์ ถ้าเราใช้ OP อย่างแท้จริงสิ่งนี้จะไม่ช่วยและจะ "เจ็บ" จริง ๆ (ในแง่หนึ่ง) แต่เป็นไปได้ที่ OP จะสนใจ sparsity ด้วยความเคารพในบางกรณีซึ่งในกรณีนี้จะเป็นหนึ่งในนั้น :)
พระคาร์ดินัล

นั่นเป็นเหตุผลที่ผมให้ไว้สองตัวเลือกในคำตอบของฉัน --- ผมคิดว่าโทษ nonconvex จะต้องส่งเสริมให้ศูนย์ในx จัสตินคงไม่ได้หมายความอย่างที่เขาพูด x
jrennie

ใช่น่าเสียดายที่เราต้องการความกระจ่างในฐานที่เป็นตัวตน ดังนั้นในกรณีนี้เราต้องการเป็นจำนวนมาก 's เป็นไปได้ที่จะเท่าเทียมกัน-wi
Justin Solomon

1

หลักฐานของคำถามนั้นถูกต้องเพียงบางส่วนเท่านั้น แม้ว่าจะเป็นความจริงที่ว่าไม่ได้เป็นเพียงค่าคงที่ภายใต้ข้อ จำกัด ปัญหาการเพิ่มประสิทธิภาพของข้อ จำกัด อาจมีวิธีแก้ปัญหาแบบเบาบางL1

อย่างไรก็ตามการแก้ปัญหานั้นไม่ได้รับผลกระทบจากการเลือกดังนั้นอาจมีสารละลายหร็อมแหร็มหรือไม่ คำถามอื่นคือวิธีการหาวิธีแก้ปัญหาจริง เครื่องมือเพิ่มประสิทธิภาพกำลังสองมาตรฐานภายใต้ข้อ จำกัด เชิงเส้นสามารถใช้งานได้ แต่อัลกอริธึมที่ได้รับความนิยมไม่สามารถใช้นอกกรอบได้λ

ข้อเสนอแนะหนึ่งข้อสามารถทำได้เพื่อปรับให้เหมาะสมภายใต้ข้อ จำกัด ในแง่บวกสำหรับ 's ที่แตกต่างกันและจากนั้นปรับแก้ปัญหาให้มีปกติ 1 เราเชื่อว่าอัลกอริธึมเชิงพิกัดโคตร ๆ การ จำกัดλL1


0

ฉันสามารถคิดสามวิธี

  • วิธีการแบบเบย์: แนะนำการแจกแจงก่อนหน้าแบบไม่มีศูนย์และใช้โอกาสในการพิมพ์ครั้งที่สองเพื่อประเมินพารามิเตอร์และพารามิเตอร์มากเกินไป

  • ใช้เป็น regularization แทน นี่ไม่ใช่ความแตกต่าง คุณสามารถใช้บรรทัดฐานระดับสูงเพื่อประมาณค่าได้

  • การใช้งานx_ii=1logxi

ในความเป็นจริงวิธีแรกและวิธีที่สามเหมือนกัน

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