t-SNE พร้อมตัวแปรแบบต่อเนื่องและไบนารีแบบผสม


10

ฉันกำลังตรวจสอบการสร้างภาพข้อมูลมิติสูงโดยใช้ t-SNE ฉันมีข้อมูลบางส่วนที่มีไบนารีผสมและตัวแปรต่อเนื่องและข้อมูลดูเหมือนว่าจะจัดกลุ่มข้อมูลไบนารีได้อย่างง่ายดายเกินไป แน่นอนว่าสิ่งนี้คาดว่าจะเป็นข้อมูลสเกล (ระหว่าง 0 ถึง 1): ระยะ Euclidian จะยิ่งใหญ่ที่สุด / เล็กที่สุดระหว่างตัวแปรไบนารี เราควรจัดการกับชุดข้อมูลไบนารี / ต่อเนื่องผสมโดยใช้ t-SNE อย่างไร เราควรดร็อปคอลัมน์ไบนารีหรือไม่ มันมีความแตกต่างที่metricเราสามารถใช้?

เป็นตัวอย่างให้พิจารณารหัสหลามนี้:

x1 = np.random.rand(200)
x2 = np.random.rand(200)
x3 = np.r_[np.ones(100), np.zeros(100)]

X = np.c_[x1, x2, x3]

# plot of the original data
plt.scatter(x1, x2, c=x3)
# … format graph

ดังนั้นข้อมูลดิบของฉันคือ:

ข้อมูลดิบ

โดยที่สีคือค่าของคุณสมบัติที่สาม (x3) - ใน 3D จุดข้อมูลอยู่ในสองระนาบ (x3 = 0 ระนาบและ x3 = 1 ระนาบ)

ฉันทำ t-SNE:

tsne = TSNE() # sci-kit learn implementation
X_transformed = StandardScaler().fit_transform(X)
tsne = TSNE(n_components=2, perplexity=5)
X_embedded = tsne.fit_transform(X_transformed)

ด้วยพล็อตที่เกิด:

tsne_data

และข้อมูลมีการรวมกลุ่มแน่นอนโดย x3 สัญชาตญาณของฉันคือว่าเนื่องจากการวัดระยะทางไม่ได้กำหนดไว้อย่างดีสำหรับคุณสมบัติไบนารีเราควรปล่อยพวกเขาก่อนที่จะดำเนินการใด ๆ t-SNE ซึ่งจะเป็นความอัปยศเนื่องจากคุณสมบัติเหล่านี้อาจมีข้อมูลที่เป็นประโยชน์สำหรับการสร้างกลุ่ม


1
หมายเหตุ: ฉันยังคงสนใจที่จะรับฟังความคิดเห็นเกี่ยวกับเรื่องนี้และการใช้งาน UMAP ในพื้นที่นี้
FChm

ขอบคุณสำหรับความโปรดปรานอีกครั้งยังคงสนใจ แต่ไม่ได้ใช้เวลามากในการตรวจสอบเรื่องนี้เพื่อความยุติธรรม ฉันอาจมีเวลาวันนี้เพื่อทำการวิจัยเบื้องต้นและจะเพิ่มการปรับปรุงหากมี
FChm

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

คำตอบ:


8

คำเตือน: ฉันมีความรู้วงในหัวข้อเท่านั้น แต่เนื่องจากไม่มีใครตอบฉันจะลองดู

ระยะทางเป็นสิ่งสำคัญ

เทคนิคการลดขนาดใด ๆ ก็ตามขึ้นอยู่กับระยะทาง (tSNE, UMAP, MDS, PCoA และอื่น ๆ ที่เป็นไปได้) นั้นดีเท่ากับระยะทางที่คุณใช้ เนื่องจาก @amoeba ชี้ให้เห็นอย่างถูกต้องจึงไม่มีวิธีแก้ปัญหาแบบขนาดเดียวคุณจึงต้องมีตัวชี้วัดระยะทางที่จับสิ่งที่คุณคิดว่าสำคัญในข้อมูลนั่นคือแถวที่คุณพิจารณาว่าคล้ายกันจะมีระยะทางและแถวขนาดเล็ก พิจารณาแตกต่างกันมีระยะทางขนาดใหญ่

คุณจะเลือกเมตริกระยะทางที่ดีได้อย่างไร ก่อนอื่นขอให้ฉันหันเหความสนใจเล็กน้อย:

การบวช

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

สิ่งสำคัญคือนักนิเวศวิทยามีชุดข้อมูลที่หลากหลายและจัดการกับการผสมผสานของคุณลักษณะไบนารีจำนวนเต็มและค่าจริง (เช่นการมี / ไม่มีสปีชีส์จำนวนตัวอย่างที่สังเกตได้ค่า pH อุณหภูมิ) พวกเขาใช้เวลามากมายคิดเกี่ยวกับระยะทางและการเปลี่ยนแปลงเพื่อทำให้การบรรพชาทำงานได้ดี ฉันไม่เข้าใจฟิลด์นี้เป็นอย่างดี แต่ตัวอย่างเช่นการตรวจสอบโดย Legendre และ De Cáceres ความหลากหลายของเบต้าเป็นความแปรปรวนของข้อมูลชุมชน: ความแตกต่างของค่าใช้จ่ายและการแบ่งพาร์ติชันแสดงระยะทางที่คุณอาจต้องการตรวจสอบ

การปรับสเกลหลายมิติ

เครื่องมือสู่การอุปสมบทคือการปรับสเกลหลายมิติ (MDS) โดยเฉพาะตัวแปรที่ไม่ใช่ตัวชี้วัด (NMDS) ซึ่งฉันขอแนะนำให้คุณลองเพิ่มเติมจาก t-SNE ฉันไม่รู้เกี่ยวกับโลก Python แต่การนำ R ไปใช้ในการmetaMDSทำงานของveganแพ็คเกจนั้นมีลูกเล่นมากมายสำหรับคุณ (เช่นการรันหลาย ๆ การวิ่งจนกว่ามันจะพบสองอันที่คล้ายกัน)

สิ่งนี้ได้รับการโต้แย้งดูความคิดเห็น:ส่วนที่ดีเกี่ยวกับ MDS คือมันยังฉายคุณสมบัติ (คอลัมน์) ดังนั้นคุณสามารถดูได้ว่าคุณลักษณะใดที่ช่วยลดมิติ สิ่งนี้จะช่วยคุณในการตีความข้อมูลของคุณ

โปรดทราบว่า t-SNE ได้รับการวิพากษ์วิจารณ์ว่าเป็นเครื่องมือในการทำความเข้าใจกับสิ่งที่เห็นเช่นการตรวจสอบข้อผิดพลาด - ฉันได้ยิน UMAP แก้ปัญหาบางอย่าง แต่ฉันไม่เคยมีประสบการณ์กับ UMAP ฉันไม่สงสัยเลยว่าเหตุผลส่วนหนึ่งที่นักนิเวศวิทยาใช้ NMDS คือวัฒนธรรมและความเฉื่อยบางที UMAP หรือ t-SNE นั้นดีกว่าจริง ๆ ฉันไม่รู้จริงๆ

แผ่ออกจากระยะทางของคุณเอง

หากคุณเข้าใจโครงสร้างของข้อมูลระยะทางและการแปลงรูปแบบสำเร็จรูปอาจไม่ดีที่สุดสำหรับคุณและคุณอาจต้องการสร้างเมตริกระยะทางแบบกำหนดเอง ในขณะที่ฉันไม่ทราบว่าข้อมูลของคุณเป็นอย่างไรมันอาจจะมีเหตุผลที่จะคำนวณระยะทางแยกต่างหากสำหรับตัวแปรที่มีค่าจริง (เช่นการใช้ระยะทางแบบยุคลิดถ้ามันเหมาะสม) และสำหรับตัวแปรไบนารีและเพิ่มเข้าไป ระยะทางที่พบบ่อยสำหรับข้อมูลไบนารีเช่นJaccard ระยะทางหรือระยะโคไซน์ คุณอาจต้องคิดถึงสัมประสิทธิ์ทวีคูณสำหรับระยะทางเนื่องจาก Jaccard และ Cosine ทั้งคู่มีค่าเป็นโดยไม่คำนึงถึงจำนวนของคุณลักษณะในขณะที่ขนาดของระยะทางแบบยุคลิดสะท้อนให้เห็นถึงจำนวนของคุณลักษณะ[0,1]

คำเตือน

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


1
+1 มีจุดที่ดีมากมายที่นี่และฉันชอบอ้างอิงถึงวรรณกรรมเรื่อง "การบวช" ที่เก่ากว่า สิ่งหนึ่งที่ดึงดูดความสนใจของฉัน: "ส่วนที่ดีเกี่ยวกับ MDS คือมันยังฉายคุณสมบัติ (คอลัมน์) ดังนั้นคุณสามารถดูได้ว่าคุณลักษณะใดที่ช่วยลดมิติ" - คุณแน่ใจหรือไม่ นั่นไม่จริงเท่าที่ฉันเข้าใจ อย่างน้อยก็ไม่เป็นความจริงสำหรับ MDS มากกว่าสำหรับ T-SNE
อะมีบา

@amoeba นี่คือที่ความรู้ที่ จำกัด ของฉันมาใน :-) ทั้งหมดที่ฉันรู้ก็คือวิธีการพล็อตเริ่มต้นสำหรับการmetaMDSแปลงทั้งตัวอย่างและคุณสมบัติ (ดูเช่นบทความสั้นนี้: cran.r-project.org/web/packages/vegan/vignettes/ intro-vegan.pdf )
Martin Modrák

ขอบคุณสำหรับคำตอบและข้อมูลเชิงลึกของคุณ ตอนนี้ฉันมุ่งเน้นที่ UMAP มากขึ้นและฉันคิดว่าการกำหนดความคล้ายคลึงกันบางอย่างเช่นระยะทาง Jaccard อาจเป็นวิธีที่ดีในการจัดการประเภทตัวแปรแบบผสม ฉันไม่ได้ใช้ MDS แต่ฉันรู้แล้ว ฉันจะต้องใช้เวลาทำความเข้าใจถ้ามันมีประโยชน์
FChm

1
@ MartinModrákฉันไม่ทราบว่าveganแพคเกจกำลังทำอะไรอยู่ แต่ MDS / NMDS เป็นวิธีการที่ไม่เชิงเส้นและไม่ใช้พารามิเตอร์ (เหมือนกับ t-SNE) และไม่มีวิธี "ภายใน" เพื่อจับคู่คุณลักษณะดั้งเดิมกับขนาด MDS ฉันสามารถจินตนาการได้ว่าพวกเขากำลังคำนวณความสัมพันธ์ระหว่างคุณลักษณะดั้งเดิมและมิติข้อมูล MDS; ถ้าเป็นเช่นนี้สามารถทำได้สำหรับการฝังใด ๆ รวมถึง t-SNE จะน่าสนใจที่จะรู้ว่าสิ่งที่veganไม่
อะมีบา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.