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

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

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