จะเลือกจำนวนปัจจัยแฝงที่เหมาะสมที่สุดในการแยกตัวประกอบเมทริกซ์ที่ไม่เป็นลบได้อย่างไร


16

ได้รับเมทริกซ์ , ไม่ใช่เชิงลบเมทริกซ์ตัวประกอบ (NMF) พบว่าทั้งสองเมทริกซ์ที่ไม่ใช่เชิงลบและ ( คือทุกองค์ประกอบ ) เพื่อเป็นตัวแทนของเมทริกซ์ที่สลายตัวเมื่อ:Vm×nWm×kHk×n0

VWH,

ตัวอย่างเช่นโดยการกำหนดว่าไม่ใช่ - ลบและลดข้อผิดพลาดในการสร้างใหม่WH

VWH2.

มีวิธีปฏิบัติทั่วไปในการประมาณค่าkใน NMF หรือไม่ ตัวอย่างเช่นจะใช้การตรวจสอบความถูกต้องไขว้เพื่อจุดประสงค์นั้นได้อย่างไร


ฉันไม่มีการอ้างอิงใด ๆ (และจริงๆแล้วฉันทำการค้นหาอย่างรวดเร็วใน Google Scholar และไม่สามารถหาได้) แต่ฉันเชื่อว่าการตรวจสอบข้ามควรเป็นไปได้
อะมีบาพูดว่า Reinstate Monica

2
คุณสามารถบอกรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการตรวจสอบความถูกต้องข้ามกับ NMF ได้หรือไม่ ค่า K สำหรับ Frobenius Norm จะลดลงเมื่อจำนวน K เพิ่มขึ้นเสมอ
Steve Sailer

คุณกำลังทำอะไรเพื่อ NMF? มันคือการเป็นตัวแทนของในพื้นที่มิติที่ต่ำกว่า (unsupervised) หรือมันคือการให้คำแนะนำ (ภายใต้การดูแล) ของคุณใหญ่แค่ไหน? คุณจำเป็นต้องอธิบายเปอร์เซ็นต์ความแปรปรวนที่แน่นอนหรือไม่? คุณสามารถใช้ CV หลังจากที่คุณกำหนดตัวชี้วัดวัตถุประสงค์ของคุณ ฉันอยากจะแนะนำให้คุณคิดถึงแอปพลิเคชันและค้นหาตัวชี้วัดที่สมเหตุสมผล VV
คนโง่เขลา

คำตอบ:


10

ในการเลือกจำนวนปัจจัยแฝงที่เหมาะสมที่สุดในการแยกตัวประกอบเมทริกซ์ที่ไม่เป็นลบให้ใช้การตรวจสอบข้าม

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

ijab(Vij[WH]ij)2.

เมื่อเสร็จแล้วเราสามารถทำนายองค์ประกอบด้านซ้ายโดยคำนวณและคำนวณข้อผิดพลาดในการทำนายหนึ่งสามารถทำซ้ำขั้นตอนนี้ออกจากองค์ประกอบทั้งหมดหนึ่งครั้งและสรุปข้อผิดพลาดการทำนายมากกว่าทุกและขซึ่งจะส่งผลให้มูลค่าของ PRESS โดยรวม (คาดการณ์ผลรวมที่เหลือของสี่เหลี่ยม)ว่าจะขึ้นอยู่กับkหวังว่าฟังก์ชั่นจะมีขั้นต่ำที่สามารถนำมาใช้เป็น 'ดีที่สุด' a kVab[WH]ab

eab=(Vab[WH]ab)2.
VababE(k)=abeabkE(k)k

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

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

แก้ไข (มีนาคม 2019):ดูนี้ดีมากภาพประกอบเขียนขึ้นโดย@AlexWilliams : http://alexhwilliams.info/itsneuronalblog/2018/02/26/crossval Alex ใช้https://github.com/kimjingu/nonnegfac-pythonสำหรับ NMF ด้วยค่าที่หายไป


4

สำหรับความรู้ของฉันมีสองเกณฑ์ที่ดีคือ 1) สัมประสิทธิ์สหสัมพันธ์ cophenetic และ 2) การเปรียบเทียบผลรวมที่เหลือของกำลังสองเทียบกับข้อมูลที่สุ่มสำหรับชุดของอันดับ (อาจมีชื่อสำหรับที่ แต่ฉันจำไม่ได้)

  1. ค่าสัมประสิทธิ์สหสัมพันธ์ Cophenetic: คุณทำซ้ำ NMF หลายครั้งต่ออันดับและคุณคำนวณว่าผลลัพธ์มีความคล้ายคลึงกันอย่างไร กล่าวอีกนัยหนึ่งความเสถียรของกระจุกที่ระบุไว้คืออะไรโดยเริ่มจากการสุ่มเมล็ด เลือก K สูงสุดก่อนค่าสัมประสิทธิ์ cophenetic ลดลง

  2. RSS กับข้อมูลแบบสุ่ม สำหรับวิธีการลดขนาดใด ๆ จะมีการสูญเสียข้อมูลเมื่อเทียบกับข้อมูลดั้งเดิมของคุณเสมอ (ประเมินโดย RSS) ตอนนี้ดำเนินการ NMF เพื่อเพิ่ม K และคำนวณ RSS ด้วยทั้งชุดข้อมูลดั้งเดิมของคุณและชุดข้อมูลแบบสุ่ม เมื่อเปรียบเทียบ RSS ในฟังก์ชั่นของ K RSS จะลดลงเมื่อเพิ่ม K ในชุดข้อมูลดั้งเดิม แต่จะน้อยกว่าสำหรับชุดข้อมูลแบบสุ่ม ด้วยการเปรียบเทียบความลาดชันทั้งสองควรมีค่า K ที่พวกมันตัดกัน กล่าวอีกนัยหนึ่งคุณสามารถสูญเสียข้อมูลได้มากน้อยเพียงใด (= ค่าสูงสุด K) ก่อนที่จะได้ยินเสียงดัง

หวังว่าฉันจะชัดเจนพอ

แก้ไข: ฉันพบบทความเหล่านั้นแล้ว

1.Jean-P Brunet, Pablo Tamayo, Todd R. Golub และ Jill P. Mesirov Metagenes และการค้นพบรูปแบบโมเลกุลโดยใช้ตัวประกอบเมทริกซ์ ในการดำเนินการของ National Academy of Sciences ของสหรัฐอเมริกา 101 (12): 4164-4169, 2004

2.Attila Frigyesi และ Mattias Hoglund การแยกตัวประกอบเมทริกซ์ที่ไม่เป็นลบสำหรับการวิเคราะห์ข้อมูลการแสดงออกของยีนที่ซับซ้อน: การจำแนกชนิดย่อยของเนื้องอกที่เกี่ยวข้องทางคลินิก สารสนเทศมะเร็ง, 6: 275-292, 2008


ไม่ชัดเจนว่าทำไมข้อมูลสุ่มของ RSS ควรต่ำกว่า RSS ที่คำนวณด้วยข้อมูลดั้งเดิมเมื่อ K มีขนาดเล็ก สำหรับส่วนที่เหลือฉันเข้าใจว่า RSS ของการสุ่มควรลดลงช้ากว่าข้อมูลเดิม
มาลิก

1

ในตีนเป็ด NMF พารามิเตอร์ (ข้อสังเกตในวรรณคดีส่วนใหญ่) เป็นตำแหน่งของการประมาณของและได้รับการแต่งตั้งดังกล่าวว่าn) ตัวเลือกของพารามิเตอร์กำหนดการแสดงข้อมูลของคุณในแบบ over-complete ประกอบด้วยคอลัมน์ของ ; k ผลก็คือการจัดอันดับของเมทริกซ์และมีขอบเขตบนของและผลิตภัณฑ์คือการประมาณอันดับต่ำของ ; ยังมากที่สุด ดังนั้นทางเลือกของkrVk<min(m,n)VWwi , i=1,2,,kWHkWHVkk<min(m,n)ควรประกอบด้วยการลดขนาดที่สามารถสร้าง / ขยายจากเวกเตอร์พื้นฐานดังกล่าวข้างต้นV

รายละเอียดเพิ่มเติมสามารถดูได้ในบทที่ 6 ของหนังสือเล่มนี้โดย S. Theodoridis และ K. Koutroumbas

หลังจากการลดฟังก์ชั่นค่าใช้จ่ายที่คุณเลือกด้วยความเคารพต่อและทางเลือกที่ดีที่สุดของ ( เลือกโดยสังเกตุด้วยการทำงานกับพื้นที่ย่อยของฟีเจอร์ที่แตกต่างกัน) ควรให้โดยประมาณด้วยคุณสมบัติตัวแทน เมทริกซ์วี WHkVVV

การทำงานกับที่แตกต่างกันคุณลักษณะย่อยช่องว่างในความรู้สึกที่ว่าจำนวนของคอลัมน์ใน , เป็นจำนวนพาหะพื้นฐานใน NMF ย่อยพื้นที่ และการทำงานร่วมกับค่าแตกต่างกันก็เท่ากับการทำงานกับพื้นที่คุณลักษณะที่ลดขนาดต่างกันkWk


4
แต่คำถามก็เกี่ยวกับวิธีการเลือกดีที่สุด! คุณให้ข้อมูลเชิงลึกเกี่ยวกับสิ่งนั้นได้หรือไม่? k
อะมีบาพูดว่า Reinstate Monica

@ amoeba ยกเว้นว่าฉันอ่านคำถามผิดไปในตอนแรกมันคือ "มีวิธีปฏิบัติทั่วไปในการประมาณจำนวนใน NMF หรือไม่" อัตราส่วนkถูกเลือกสังเกตุ ฉันได้ขยายคำตอบของฉัน kk
Gilles

2
คำอธิบายของคุณเกี่ยวกับการแยกตัวประกอบ NMF นั้นสมเหตุสมผลทั้งหมด แต่คำถามแรกนั้นเกี่ยวกับแนวทางปฏิบัติทั่วไปในการประมาณค่า k ตอนนี้คุณเขียนว่าสามารถเลือก k "สังเกตุ" (โอเค) "โดยทำงานกับพื้นที่ย่อยของฟีเจอร์ต่าง ๆ " ฉันไม่แน่ใจว่าฉันเข้าใจว่า "การทำงานกับพื้นที่ย่อยของคุณลักษณะที่แตกต่าง" หมายความว่าอย่างไรคุณสามารถขยายได้หรือไม่ เราจะทำงานร่วมกับพวกเขาได้อย่างไร? สูตรการเลือก k คืออะไร? นี่คือคำถามที่เกี่ยวกับ (อย่างน้อยฉันก็เข้าใจ) ยินดีที่จะยกเลิกการโหวตของฉัน!
อะมีบาพูดว่า Reinstate Monica

2
ฉันขอขอบคุณการแก้ไขของคุณและฉันเสียใจมากที่เป็นคนโง่ แต่สมมุติว่าฉันมีข้อมูลของฉันและฉัน [สังเกตุ] ลองค่าต่าง ๆ ของระหว่าง 1 ถึง 50 ฉันจะเลือกอันไหนที่ดีที่สุด? นี่คือวิธีที่ฉันเข้าใจคำถามเดิมและฉันไม่พบสิ่งใดในคำตอบของคุณเกี่ยวกับเรื่องนั้น โปรดแจ้งให้เราทราบหากฉันพลาดหรือคุณคิดว่าคำถามเดิมแตกต่างกัน k
อะมีบาพูดว่า Reinstate Monica

1
@amoeba นั้นจะขึ้นอยู่กับใบสมัครข้อมูลและสิ่งที่คุณต้องการทำให้สำเร็จ มันเป็นเพียงการลดขนาดหรือแยกแหล่ง ฯลฯ ? ในแอปพลิเคชั่นด้านเสียงเช่นพูดว่าการแยกแหล่งสัญญาณเหมาะสมที่สุดจะเป็นเสียงที่ให้คุณภาพที่ดีที่สุดเมื่อฟังแหล่งเสียงที่แยกจากกัน แน่นอนว่าแรงจูงใจในการเลือกที่นี่จะแตกต่างกันไปหากคุณทำงานกับรูปภาพเช่น k
Gilles
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.