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

ดังที่แสดงในรูปนี้ k-means จะกําหนดจุดให้กับเซนทรอยด์ที่ใกล้ที่สุด แต่จะทำอย่างไร "ใกล้ที่สุด" หมายถึง

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

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

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

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

จากนั้น รวมคุณลักษณะทั้งสองเข้าด้วยกันโดยคำนวณค่า ข้อผิดพลาดค่าเฉลี่ยกำลังสอง (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 คู่ ความคล้ายคลึงระหว่างตัวอย่างคือ 1 หากไม่ใช่ ความคล้ายคลึงกันจะเป็น 0

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

  • ["ตลก",แอ็กชัน"] และ ["ตลก",แอ็กชัน"] = 1
  • ["ตลก",แอ็กชัน"] และ ["แอ็กชัน"] = 1⁄2
  • ["ตลก",แอ็กชัน"] และ ["แอ็กชัน", "ดราม่า"] = 1⁄3
  • ["ตลก",แอ็กชัน"] และ ["ไม่ใช่เรื่องแต่ง","ชีวประวัติ"] = 0

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

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

ดูการดำเนินการกับข้อมูลเชิงหมวดหมู่ สำหรับข้อมูลเพิ่มเติม

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

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

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