การวัดความคล้ายคลึงกันที่มีการควบคุมดูแล

แทนที่จะเปรียบเทียบข้อมูลฟีเจอร์ที่รวมด้วยตนเอง คุณสามารถลดข้อมูลฟีเจอร์ให้เหลือเพียงการนำเสนอที่เรียกว่าการฝัง แล้วเปรียบเทียบการฝัง ระบบจะสร้างการฝังโดยการฝึกเครือข่ายประสาทเทียมเชิงลึก (DNN) ที่มีการควบคุมดูแลกับข้อมูลฟีเจอร์ ข้อมูลเชิงลึกจะแมปข้อมูลฟีเจอร์กับเวกเตอร์ในพื้นที่เชิงลึก ซึ่งมักจะมีมิติข้อมูลน้อยกว่าข้อมูลฟีเจอร์ มีการกล่าวถึงการฝังข้อมูลในบทแนะนำการฝังข้อมูลของหลักสูตรเร่งรัดเกี่ยวกับแมชชีนเลิร์นนิง ส่วนโครงข่ายระบบประสาทเทียมจะอยู่ในบทแนะนำโครงข่ายระบบประสาทเทียม เวกเตอร์การฝังสำหรับตัวอย่างที่คล้ายกัน เช่น วิดีโอ YouTube ในหัวข้อที่คล้ายกันซึ่งผู้ใช้รายเดียวกันดู จะอยู่ใกล้กันในพื้นที่การฝัง มาตรวัดความคล้ายคลึงที่มีการควบคุมใช้ "ความใกล้เคียง" นี้เพื่อวัดความคล้ายคลึงของคู่ตัวอย่าง

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

การเปรียบเทียบการวัดด้วยตนเองกับการวัดที่มีการควบคุมดูแล

ตารางนี้อธิบายกรณีที่ควรใช้การวัดความคล้ายคลึงแบบควบคุมดูแลหรือแบบกำหนดเอง ทั้งนี้ขึ้นอยู่กับข้อกำหนดของคุณ

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

การสร้างการวัดความคล้ายคลึงที่มีการควบคุมดูแล

ภาพรวมของกระบวนการสร้างการวัดความคล้ายคลึงที่มีการควบคุมมีดังนี้

ป้อนข้อมูลฟีเจอร์ เลือก DNN: ตัวเข้ารหัสอัตโนมัติหรือตัวทำนาย
      ดึงข้อมูลการฝัง เลือกการวัดผล: ผลคูณจุด โคไซน์ หรือระยะทางแบบยูคลิด
รูปที่ 1: ขั้นตอนการสร้างการวัดความคล้ายคลึงที่มีการควบคุม

หน้านี้จะกล่าวถึง DNN ส่วนหน้าต่อไปนี้จะอธิบายขั้นตอนที่เหลือ

เลือก DNN ตามป้ายกำกับการฝึก

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

ตัวเข้ารหัสอัตโนมัติ

DNN ที่เรียนรู้การฝังข้อมูลอินพุตโดยการคาดการณ์ข้อมูลอินพุตนั้นๆ เรียกว่า Autoencoder เนื่องจากชั้นที่ซ่อนอยู่ของ Autoencoder มีขนาดเล็กกว่าชั้นอินพุตและเอาต์พุต Autoencoder จึงต้องเรียนรู้การนำเสนอข้อมูลที่บีบอัดของฟีเจอร์อินพุต เมื่อฝึก DNN แล้ว ให้ดึงข้อมูลเชิงลึกจากเลเยอร์ที่ซ่อนอยู่น้อยที่สุดเพื่อคํานวณความคล้ายคลึง

รูปภาพแสดงโหนดจํานวนมากสําหรับข้อมูลอินพุตและเอาต์พุตที่เหมือนกัน ซึ่งบีบอัดเป็น 3 โหนดตรงกลาง
       ของเลเยอร์ที่ซ่อนอยู่ 5 เลเยอร์
รูปที่ 2: สถาปัตยกรรมของ Autoencoder

ปัจจัยที่ส่งผล

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

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

เมื่อเลือกฟีเจอร์ที่จะใช้เป็นป้ายกำกับ

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

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

DNN ที่ได้จะกลายเป็นออโต้เอ็นโค้ดเดอร์หรือตัวทำนาย ทั้งนี้ขึ้นอยู่กับป้ายกำกับที่คุณเลือก