การวัดความคล้ายคลึงด้วยตนเอง

ดังที่แสดงไปก่อนหน้านี้ K-Means จะกําหนดจุดให้กับจุดศูนย์กลางที่ใกล้ที่สุด แต่ "ใกล้ที่สุด" หมายความว่าอย่างไร

หากต้องการใช้ K-Means กับข้อมูลฟีเจอร์ คุณจะต้องกําหนดการวัดความคล้ายคลึงซึ่งรวมข้อมูลฟีเจอร์ทั้งหมดเข้าด้วยกันเป็นค่าตัวเลขค่าเดียว เรียกว่าการวัดความคล้ายคลึงด้วยตนเอง

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

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

  • ขนาด (s): ขนาดรองเท้าอาจมีการแจกแจงแบบกaussian ยืนยันข้อมูลนี้ จากนั้นแปลงข้อมูลเป็นรูปแบบมาตรฐาน
  • ราคา (p): ข้อมูลน่าจะเป็นการแจกแจงแบบ Poisson ยืนยันข้อมูลนี้ หากคุณมีข้อมูลเพียงพอ ให้แปลงข้อมูลเป็นควอร์ไทล์และปรับขนาดเป็น [0,1]

ถัดไป ให้รวม 2 ฟีเจอร์เข้าด้วยกันโดยคํานวณค่าเฉลี่ยความคลาดเคลื่อนกำลังสอง (RMSE) ค่าการวัดความคล้ายคลึงแบบคร่าวๆ นี้ได้จาก (sisj)2+(pipj)22

ตัวอย่างง่ายๆ คือคำนวณความคล้ายคลึงของรองเท้า 2 คู่ที่มีขนาด 8 และ 11 ในสหรัฐอเมริกา และราคา 120 และ 150 เนื่องจากเรามีข้อมูลไม่เพียงพอที่จะทําความเข้าใจการแจกแจง เราจะปรับขนาดข้อมูลโดยไม่ต้องทำให้เป็นมาตรฐานหรือใช้ควอร์ไทล์

การดำเนินการวิธีการ
ปรับขนาด สมมติว่ารองเท้ามีไซส์สูงสุด 20 หาร 8 และ 11 ด้วยขนาดสูงสุด 20 ก็จะได้ 0.4 และ 0.55
ปรับราคา หาร 120 และ 150 ด้วยราคาสูงสุด 150 จะได้ 0.8 และ 1
ค้นหาความแตกต่างของขนาด 0.550.4=0.15
ค้นหาส่วนต่างของราคา 10.8=0.2
คํานวณ RMSE 0.22+0.1522=0.17

โดยทั่วไปแล้ว ค่าการวัดความคล้ายคลึงควรเพิ่มขึ้นเมื่อข้อมูลฟีเจอร์มีความคล้ายคลึงกันมากขึ้น แต่ค่าการวัดความคล้ายคลึง (RMSE) กลับลดลง ทําให้ค่าการวัดความคล้ายคลึงเป็นไปตามความรู้สึกของคุณโดยลบค่านั้นออกจาก 1

Similarity=10.17=0.83

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

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

  • ค่าเดี่ยว (ค่าเดียว) เช่น สีของรถ ("ขาว" หรือ "น้ำเงิน" แต่ต้องไม่มีทั้ง 2 อย่าง)
  • มีหลายค่า (หลายค่า) เช่น ประเภทภาพยนตร์ (ภาพยนตร์อาจเป็นทั้ง "แอ็กชัน" และ "ตลก" หรือเป็นแค่ "แอ็กชัน" อย่างเดียว)

หากข้อมูลแบบไม่ผันตรงตรงกัน เช่น ในกรณีของรองเท้าสีน้ำเงิน 2 คู่ ความคล้ายคลึงระหว่างตัวอย่างคือ 1 มิฉะนั้น ค่าความคล้ายคลึงจะเป็น 0

ข้อมูลหลายค่า เช่น ประเภทภาพยนตร์ จะใช้งานยากกว่า หากมีประเภทภาพยนตร์ชุดหนึ่งๆ ที่กำหนดไว้ ระบบจะคำนวณความคล้ายคลึงกันโดยใช้อัตราส่วนของค่าที่เหมือนกัน ซึ่งเรียกว่าความคล้ายคลึงของ Jaccard ตัวอย่างการคำนวณความคล้ายคลึงของ Jaccard

  • [“comedy”,”action”] and [“comedy”,”action”] = 1
  • [“comedy”,”action”] and [“action”] = ½
  • [“comedy”,”action”] and [“action”, "drama"] = ⅓
  • [“comedy”,”action”] and [“non-fiction”,”biographical”] = 0

ความคล้ายคลึงของ Jaccard ไม่ใช่วิธีวัดความคล้ายคลึงด้วยตนเองเพียงวิธีเดียวสําหรับข้อมูลเชิงหมวดหมู่ ตัวอย่างอื่นๆ อีก 2 ตัวอย่าง

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

ดูข้อมูลเพิ่มเติมได้ที่การทํางานกับข้อมูลเชิงหมวดหมู่

โดยทั่วไปแล้ว การวัดความคล้ายคลึงด้วยตนเองต้องสอดคล้องกับความคล้ายคลึงจริงโดยตรง หากเมตริกที่คุณเลือกไม่มี แสดงว่าเมตริกไม่ได้เข้ารหัสข้อมูลที่คุณต้องการให้เข้ารหัส

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

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