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

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

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

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

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

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

ถัดไป ให้รวม 2 ฟีเจอร์เข้าด้วยกันโดยคํานวณค่าเฉลี่ยความคลาดเคลื่อนกำลังสอง (RMSE) ค่าการวัดความคล้ายคลึงแบบคร่าวๆ นี้ได้จาก \(\sqrt{\frac{(s_i - s_j)^2+(p_i - p_j)^2}{2}}\)

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

การดำเนินการวิธีการ
ปรับขนาด สมมติว่ารองเท้ามีไซส์สูงสุด 20 หาร 8 และ 11 ด้วยขนาดสูงสุด 20 ก็จะได้ 0.4 และ 0.55
ปรับราคา หาร 120 และ 150 ด้วยราคาสูงสุด 150 จะได้ 0.8 และ 1
ค้นหาความแตกต่างของขนาด \(0.55 - 0.4 = 0.15\)
ค้นหาส่วนต่างของราคา \(1 - 0.8 = 0.2\)
คํานวณ RMSE \(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\)

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

\[\text{Similarity} = 1 - 0.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 ที่เป็นตัวเลขได้ โดยรวมความแตกต่างของค่าเป็นระยะทางแบบยูคลิด

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

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

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

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