t-SNE: ทำไมค่าข้อมูลเท่ากันไม่ปิดทางสายตา


9

ฉันมีจุดข้อมูล 200 จุดที่มีค่าเหมือนกันกับคุณสมบัติทั้งหมด

หลังจากการลดขนาด t-SNE พวกเขาไม่ได้ดูเท่ากันอีกต่อไปเช่นนี้ ป้อนคำอธิบายรูปภาพที่นี่

ทำไมพวกเขาถึงไม่อยู่ในจุดเดียวกันในการสร้างภาพและแม้กระทั่งดูเหมือนว่าจะกระจายอยู่ในสองกลุ่มที่แตกต่างกัน?


4
โปรดอ่านdistill.pub/2016/misread-tsne
เอ็ม

มันอาจเกิดจากความแม่นยำ (double / float) ที่คุณใช้อยู่หรือไม่?
El Burro

ค่าส่วนใหญ่เป็นจำนวนเต็ม และมันมีน้อยมากประมาณ 500 ฟีเจอร์ที่มีเลขศูนย์ส่วนใหญ่ ฉันไม่รู้ว่ามันอาจเกิดจากความแม่นยำหรือไม่ แต่ระยะห่างระหว่างกลุ่มเหล่านี้และระหว่างจุดข้อมูลเหล่านี้มีขนาดค่อนข้างใหญ่
ScientiaEtVeritas

กลุ่มไหน ฉันคิดว่าทั้งหมดเหมือนกัน - หรือคุณหมายถึงเนื้อเรื่องหรือไม่
El Burro

ใช่ฉันหมายถึงกลุ่มบนพล็อต
ScientiaEtVeritas

คำตอบ:


3

คุณถูกต้องว่าค่าเดียวกันใน T-SNE สามารถกระจายข้ามจุดต่าง ๆ เหตุผลนี้เกิดขึ้นชัดเจนถ้าคุณดูอัลกอริทึมที่ T-SNE ทำงานข้าม

เพื่อจัดการข้อกังวลแรกของคุณเกี่ยวกับจุดที่ไม่เหมือนเดิมหลังจากอัลกอริทึมถูกนำไปใช้กับชุดข้อมูล ฉันจะปล่อยให้คุณออกกำลังกายเพื่อตรวจสอบด้วยตัวคุณเองพิจารณาอาร์เรย์ที่เรียบง่ายและและเรียกใช้อัลกอริทึมจริงกับมันและดูด้วยตัวคุณเองว่าคะแนนผลลัพธ์นั้นไม่เหมือนกันจริง ๆ . คุณสามารถอ้างอิงคำตอบของคุณกับสิ่งนี้ได้x1=[0,1]x2=[0,1]

import numpy as np from sklearn.manifold import TSNE m = TSNE(n_components=2, random_state=0) m.fit_transform(np.array([[0,1],[0,1]]))

คุณจะสังเกตว่าการเปลี่ยนแปลงการrandom_stateปรับเปลี่ยนพิกัดจริง ๆ ของโมเดลนั้น ๆ ไม่มีความสัมพันธ์ที่แท้จริงระหว่างพิกัดจริงกับผลลัพธ์ของมัน ตั้งแต่ขั้นตอนแรกของ TSNE คำนวณความน่าจะเป็นตามเงื่อนไข

ให้เราลองหาเหตุผลเข้าข้างตนเองโดยใช้อัลกอริธึมที่เกิดขึ้นเพียงแค่ใช้คณิตศาสตร์โดยไม่ต้องใช้สัญชาตญาณสักครู่ โปรดทราบว่าและเป็นทั้งเวกเตอร์ในสถานการณ์นี้ 2})}} ตอนนี้ถ้าเราคำนวณเราจะเห็นว่าค่าคือ 1 หลังจากใช้การแยก KL คุณจะได้รับค่าที่ระบุข้างต้น ตอนนี้ให้เราใช้สัญชาตญาณกับสิ่งนี้ คือความเป็นไปได้ตามเงื่อนไขที่เลือกxixjpj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2)pij=pi|j+pj|i2Npijxixjเหมือนเพื่อนบ้าน สิ่งนี้แสดงให้เห็นถึงผลลัพธ์ 1 ด้วยเหตุผลสองประการ อย่างแรกคือการที่ไม่มีเพื่อนบ้านอื่นดังนั้นมันจะต้องเลือกเวกเตอร์อื่น ๆ เท่านั้นในรายการพิกัด นอกจากนี้คะแนนเท่ากันและโอกาสที่พวกเขาจะถูกเลือกเป็นเพื่อนบ้านคนอื่น ๆควรจะสูงตามที่เราเห็น

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

ดังนั้นความจริงก็คือแทนที่จะมองดูทั้งสองกลุ่มดูระยะทางระหว่างพวกเขาเพราะนั่นเป็นการสื่อข้อมูลมากกว่าผู้ประสานงานเอง

หวังว่านี่จะตอบคำถามของคุณ :)

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