การเลือกไฮเปอร์พารามิเตอร์โดยใช้ T-SNE สำหรับการจำแนกประเภท


13

ในปัญหาเฉพาะที่ฉันทำงานกับ (การแข่งขัน) ฉันมีการตั้งค่า follwoing: 21 คุณสมบัติ (ตัวเลขบน [0,1]) และเอาต์พุตไบนารี ฉันมีแถวประมาณ 100 K ดูเหมือนว่าการตั้งค่าจะมีเสียงดังมาก

ฉันและผู้เข้าร่วมคนอื่น ๆ ใช้การสร้างคุณลักษณะในช่วงเวลาหนึ่งและเพื่อนบ้าน stochastic แบบ t- กระจายกลายเป็นค่อนข้างมีประสิทธิภาพในการตั้งค่านี้

ฉันสะดุดโพสต์นี้"วิธีการใช้ t-SNE อย่างมีประสิทธิภาพ"แต่ฉันก็ยังไม่สามารถสรุปได้ว่าจะเลือกไฮเปอร์พารามิเตอร์ที่ดีที่สุดในการจำแนกประเภทของฉันได้อย่างไร

มีกฎของหัวแม่มือ (จำนวนของคุณสมบัติขนาดของการฝัง -> ทางเลือกของความงุนงง) หรือไม่?

ฉันเพิ่งใช้การตั้งค่า Ad-hoc ในขณะนี้เนื่องจากใช้เวลานานเกินไปในการทำซ้ำการตั้งค่าต่างๆ ขอบคุณสำหรับความคิดเห็นใด ๆ


นี่เป็นคำถามที่ยอดเยี่ยม! หวังว่าบางคนจะพบคำตอบของฉันที่ขาดความดแจ่มใสพอเพื่อให้คุณได้คำตอบอีกครั้ง
usεr11852

คำตอบ:


17

t

t-SNE กำลังพยายามลดผลรวมของ Kullback-Leibler divergences ระหว่างการกระจายระยะทางระหว่างข้อมูลในโดเมนดั้งเดิมและการกระจายระยะทางระหว่างข้อมูลในโดเมนมิติที่ลดลง (อันที่จริงการกระจายเป้าหมายคือการกระจายของ ความน่าจะเป็นที่จุดหนึ่งจะเลือกจุดอื่นเป็นเพื่อนบ้าน แต่จะเป็นสัดส่วนโดยตรงกับระยะห่างระหว่างจุดสองจุด) เป็นที่ถกเถียงกันอยู่ว่าค่าที่น้อยกว่าของ KL-divergence แสดงผลลัพธ์ที่ดีกว่า ความคิดนี้ใช้งานได้ไม่ดีนักในทางปฏิบัติ แต่ในทางทฤษฎีแล้วมันจะช่วยในการแยกช่วงของค่าความน่าฉงนบางอย่างรวมถึงการวิ่งของอัลกอริธึมบางอย่างที่ไม่เหมาะสมอย่างชัดเจน ฉันอธิบายว่าทำไมฮิวริสติกนี้จึงห่างไกลจากยาครอบจักรวาลและมันมีประโยชน์อย่างไร: พารามิเตอร์ความงุนงงเพิ่มขึ้นแบบซ้ำซากพร้อมกับความแปรปรวนของ Gaussian ที่ใช้ในการคำนวณระยะทาง / ความน่าจะเป็น ดังนั้นเมื่อคุณเพิ่มพารามิเตอร์ perplexity โดยรวมคุณจะได้รับระยะทางที่น้อยลงในเงื่อนไขที่สมบูรณ์และค่า KL-divergence ที่ตามมา อย่างไรก็ตามหากคุณมีการวิ่ง 20 ครั้งด้วยความงงงวยแบบเดียวกันและคุณไม่สามารถ (ไม่ต้องการ) มองพวกเขาคุณสามารถเลือกหนึ่งตัวที่มีตัวแปรที่เล็กที่สุดโดยหวังว่ามันจะรักษาระยะทางให้แม่นยำยิ่งขึ้น เช่นเดียวกันสำหรับ อย่างไรก็ตามหากคุณมีการวิ่ง 20 ครั้งด้วยความงงงวยแบบเดียวกันและคุณไม่สามารถ (ไม่ต้องการ) มองพวกเขาคุณสามารถเลือกหนึ่งตัวที่มีตัวแปรที่เล็กที่สุดโดยหวังว่ามันจะรักษาระยะทางให้แม่นยำยิ่งขึ้น เช่นเดียวกันสำหรับ อย่างไรก็ตามหากคุณมีการวิ่ง 20 ครั้งด้วยความงงงวยแบบเดียวกันและคุณไม่สามารถ (ไม่ต้องการ) มองพวกเขาคุณสามารถเลือกหนึ่งตัวที่มีตัวแปรที่เล็กที่สุดโดยหวังว่ามันจะรักษาระยะทางให้แม่นยำยิ่งขึ้น เช่นเดียวกันสำหรับθθ

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

ผมขอชี้ให้เห็นว่าสิ่งที่ผมอธิบายมีการวิเคราะห์พฤติกรรม ดังที่ได้กล่าวไว้ในตอนต้นของโพสต์ของฉันการตรวจสอบผลลัพธ์ด้วยตนเองเป็นวิธีที่ขาดไม่ได้ในการประเมินคุณภาพของการลดขนาด / การจัดกลุ่มที่เป็นผลลัพธ์


ขอบคุณสำหรับสิ่งนี้. แนวคิดของดัชนีในการจัดกลุ่มที่เหมาะกับการจำแนกประเภทมีความน่าสนใจมากน้อยเพียงใด
Ric

4

เรามักจะตั้งค่าความงุนงงเป็น 5% ของขนาดชุดข้อมูล ดังนั้นสำหรับชุดข้อมูลที่มีแถว 100K ฉันจะเริ่มต้นด้วยความงุนงง 5000 หรืออย่างน้อย 1,000 ถ้าคุณไม่มีคอมพิวเตอร์ประสิทธิภาพสูง ชุดข้อมูลของเรานั้นมาจากการวิเคราะห์ไหลของไซโตรเมทรีพวกเขามักจะมีจุดข้อมูล 50k ถึง 500k แต่ละชุดมีค่าตัวเลข 10 ถึง 20


4

อาจเป็นเรื่องที่น่าสนใจสำหรับคุณที่ได้ดู"การเลือกอัตโนมัติของ t-SNE Perplexity" โดย Cao และ Wang :

t-Distributed Stochastic Neighbor Embedding (t-SNE) เป็นหนึ่งในวิธีการลดมิติข้อมูลที่ใช้กันอย่างแพร่หลายมากที่สุดสำหรับการสร้างภาพข้อมูล แต่มีพารามิเตอร์ไฮเปอร์พารามิเตอร์ที่ต้องเลือกด้วยตนเอง ในทางปฏิบัติการปรับจูนแบบฉับพลันของความสับสน t-SNE นั้นต้องการให้ผู้ใช้เข้าใจการทำงานภายในของวิธีการเช่นเดียวกับการมีประสบการณ์ตรง เราเสนอวัตถุประสงค์การเลือกแบบจำลองสำหรับความน่างง t-SNE ที่ต้องการการคำนวณพิเศษเล็กน้อยนอกเหนือจาก t-SNE เรายืนยันโดยประจักษ์ว่าการตั้งค่าความงุนงงที่พบโดยวิธีการของเรานั้นสอดคล้องกับการตั้งค่าที่นำเสนอโดยผู้เชี่ยวชาญของมนุษย์ในชุดข้อมูลจำนวนหนึ่ง ความคล้ายคลึงกันของวิธีการของเรากับเกณฑ์ข้อมูลแบบเบย์ (BIC) และความยาวคำอธิบายขั้นต่ำ (MDL) ก็ถูกวิเคราะห์เช่นกัน


2
อะไรคือข้อสรุป ..
ทิม

1
S(Perplex.)=2KL(P||Q)+log(n)Perlex.n
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.