ตัวอย่างนี้แสดงวิธีสร้างการฝังที่ใช้ในมาตรวัดความคล้ายคลึงภายใต้การควบคุมดูแล
ลองนึกภาพว่าคุณมีชุดข้อมูลที่พักอาศัยชุดเดียวกันกับที่คุณใช้เมื่อสร้างมาตรวัดความคล้ายคลึงกันด้วยตนเอง
ฟีเจอร์ | ประเภท |
---|---|
ราคา | จำนวนเต็มบวก |
ขนาด | ค่าจุดลอยตัวบวกในหน่วยตารางเมตร |
รหัสไปรษณีย์ | จำนวนเต็ม |
จำนวนห้องนอน | จำนวนเต็ม |
ประเภทบ้าน | ค่าข้อความจาก "single_family", "multifamily", "partment," "condo" |
โรงจอดรถ | 0/1 สําหรับไม่/ใช่ |
สี | หมวดหมู่ที่หลากหลาย: อย่างน้อย 1 ค่าจากสีมาตรฐาน ได้แก่ "สีขาว" "สีเหลือง" "เขียว" เป็นต้น |
การประมวลผลข้อมูลล่วงหน้า
คุณต้องประมวลผลข้อมูลล่วงหน้าก่อนใช้ข้อมูลฟีเจอร์เป็นอินพุต ขั้นตอนก่อนการประมวลผลจะเป็นไปตามขั้นตอนที่คุณทําเมื่อสร้างมาตรวัดความคล้ายคลึงกันด้วยตนเอง ข้อมูลสรุปมีดังนี้
ฟีเจอร์ | ประเภทหรือการจัดจําหน่าย | แอ็กชัน |
---|---|---|
ราคา | การกระจายตัวของ Poisson | จงวัดและปรับขนาดเป็น [0,1] |
ขนาด | การกระจายตัวของ Poisson | จงวัดและปรับขนาดเป็น [0,1] |
รหัสไปรษณีย์ | เชิงหมวดหมู่ | แปลงเป็นลองจิจูดและละติจูด คํานวณและปรับขนาดเป็น [0,1] |
จำนวนห้องนอน | จำนวนเต็ม | ค่าที่ผิดปกติของคลิปและปรับขนาดเป็น [0,1] |
ประเภทบ้าน | เชิงหมวดหมู่ | แปลงเป็นการเข้ารหัสแบบ 1 หัว |
โรงจอดรถ | 0 หรือ 1 | ปล่อยไว้ตามเดิม |
สี | เชิงหมวดหมู่ | แปลงเป็นค่า RGB และประมวลผลเป็นข้อมูลตัวเลข |
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเข้ารหัสแบบ 1 ครั้งได้ที่การฝัง: ข้อมูลอินพุตเชิงหมวดหมู่
เลือกตัวคาดการณ์หรือตัวเข้ารหัสอัตโนมัติ
หากต้องการสร้างการฝัง คุณจะเลือกโปรแกรมเข้ารหัสอัตโนมัติหรือตัวคาดการณ์ได้ อย่าลืมว่าตัวเลือกเริ่มต้นของคุณคือตัวเข้ารหัสอัตโนมัติ คุณจะเลือกตัวคาดการณ์แทนหากฟีเจอร์บางอย่างในชุดข้อมูลกําหนดความคล้ายคลึงกัน สําหรับความสมบูรณ์ของการพิจารณาทั้ง 2 กรณี
ฝึกตัวคาดการณ์
คุณต้องเลือกฟีเจอร์เหล่านั้นเป็นป้ายกํากับการฝึกอบรมสําหรับ DNN ซึ่งเป็นสิ่งสําคัญในการกําหนดความคล้ายคลึงระหว่างตัวอย่างของคุณ สมมติว่าราคาเป็นสิ่งสําคัญที่สุดในการกําหนดความคล้ายคลึงกันของบ้านแต่ละหลัง
เลือกราคาเป็นป้ายกํากับการฝึกอบรม แล้วนําออกจากข้อมูลฟีเจอร์อินพุตไปยัง DNN ฝึก DNN โดยใช้ฟีเจอร์อื่นๆ ทั้งหมดเป็นข้อมูลอินพุต สําหรับการฝึก ฟังก์ชันการสูญเสียเป็นเพียง MSE ระหว่างราคาที่คาดการณ์กับราคาจริง หากต้องการเรียนรู้วิธีฝึก DNN โปรดดูการฝึกอบรมโครงข่ายระบบประสาทเทียม
ฝึกเครื่องมือเข้ารหัสอัตโนมัติ
ฝึกเครื่องมือเข้ารหัสอัตโนมัติในชุดข้อมูลโดยทําตามขั้นตอนต่อไปนี้
- ตรวจสอบว่าเลเยอร์ที่ซ่อนอยู่ของตัวเข้ารหัสอัตโนมัติมีขนาดเล็กกว่าเลเยอร์อินพุตและเอาต์พุต
- คํานวณการสูญเสียสําหรับเอาต์พุตแต่ละรายการตามที่อธิบายไว้ในการวัดความคล้ายกันที่มีการควบคุมดูแล
- สร้างฟังก์ชันการสูญเสียโดยการรวมการสูญเสียสําหรับเอาต์พุตแต่ละรายการ ให้น้ําหนักของแต่ละฟีเจอร์เท่ากัน เช่น เพราะข้อมูลสีจะประมวลผลเป็น RGB ให้ถ่วงน้ําหนักแต่ละ RGB ที่ส่งออกทีละ 1/3
- ฝึก DNN
การแยกการฝังจาก DNN
หลังจากการฝึก DNN ไม่ว่าจะเป็นตัวคาดการณ์หรือตัวเข้ารหัสอัตโนมัติ ให้ดึงการฝังสําหรับตัวอย่างจาก DNN แยกการฝังโดยใช้ข้อมูลฟีเจอร์ของตัวอย่างเป็นอินพุต แล้วอ่านเอาต์พุตของเลเยอร์ที่ซ่อนอยู่สุดท้าย เอาต์พุตเหล่านี้จะสร้างเวกเตอร์การฝัง อย่าลืมว่าเวกเตอร์สําหรับบ้านที่คล้ายกันควรอยู่ใกล้กันมากกว่าเวกเตอร์สําหรับบ้านที่ไม่คล้ายกัน
ถัดไป คุณจะเห็นวิธีวัดความคล้ายคลึงสําหรับความคล้ายคลึงกันของคู่ตัวอย่างโดยใช้เวกเตอร์การฝัง