เหตุใดการเข้ารหัสแบบ Hot หนึ่งจึงช่วยเพิ่มประสิทธิภาพการเรียนรู้ของเครื่อง


127

ฉันสังเกตเห็นว่าเมื่อใช้การเข้ารหัส One Hot กับชุดข้อมูลเฉพาะ (เมทริกซ์) และใช้เป็นข้อมูลการฝึกอบรมสำหรับอัลกอริทึมการเรียนรู้จะให้ผลลัพธ์ที่ดีกว่าอย่างมากเมื่อเทียบกับการใช้เมทริกซ์ดั้งเดิมเป็นข้อมูลการฝึกอบรม ประสิทธิภาพที่เพิ่มขึ้นนี้เกิดขึ้นได้อย่างไร?

คำตอบ:


260

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

สมมติว่าคุณมีชุดข้อมูลที่มีคุณลักษณะเฉพาะหมวดหมู่ "สัญชาติ" เพียงรายการเดียวโดยมีค่าเป็น "สหราชอาณาจักร" "ฝรั่งเศส" และ "สหรัฐฯ" สมมติว่าไม่มีการสูญเสียลักษณะทั่วไปสิ่งเหล่านี้ถูกเข้ารหัสเป็น 0, 1 และ 2 จากนั้นคุณจะมีน้ำหนัก w สำหรับคุณสมบัตินี้ในลักษณนามเชิงเส้นซึ่งจะทำการตัดสินใจบางอย่างตามข้อ จำกัด w × x + b> 0 หรือเทียบเท่า w × x <b.

ปัญหาตอนนี้คือน้ำหนัก w ไม่สามารถเข้ารหัสทางเลือกสามทางได้ ค่าที่เป็นไปได้สามค่าของ w × x คือ 0, w และ 2 × w ทั้งสามอย่างนี้นำไปสู่การตัดสินใจเดียวกัน (ทั้งหมดคือ <b หรือ≥b) หรือ "สหราชอาณาจักร" และ "ฝรั่งเศส" นำไปสู่การตัดสินใจเดียวกันหรือ "ฝรั่งเศส" และ "สหรัฐฯ" ให้การตัดสินใจแบบเดียวกัน ไม่มีความเป็นไปได้ที่นางแบบจะเรียนรู้ว่า "UK" และ "US" ควรได้รับป้ายกำกับเดียวกันโดยมี "French" อยู่

ด้วยการเข้ารหัสเพียงครั้งเดียวคุณสามารถเพิ่มพื้นที่คุณลักษณะให้เป็นสามคุณลักษณะได้อย่างมีประสิทธิภาพซึ่งแต่ละคุณสมบัติจะได้รับน้ำหนักของตัวเองดังนั้นฟังก์ชันการตัดสินใจจึงเป็น w [UK] x [UK] + w [FR] x [FR] + w [US] x [US] <b โดยที่ x ทั้งหมดเป็นบูลีน ในช่องนี้ฟังก์ชันเชิงเส้นดังกล่าวสามารถแสดงผลรวม / ความไม่ลงรอยกันของความเป็นไปได้ (เช่น "สหราชอาณาจักรหรือสหรัฐอเมริกา" ซึ่งอาจเป็นตัวทำนายสำหรับคนที่พูดภาษาอังกฤษ)

ในทำนองเดียวกันผู้เรียนที่ใช้เมตริกระยะทางมาตรฐาน (เช่นเพื่อนบ้านที่ใกล้ที่สุด k) ระหว่างกลุ่มตัวอย่างจะสับสนโดยไม่ต้องเข้ารหัสเพียงครั้งเดียว ด้วยการเข้ารหัสแบบไร้เดียงสาและระยะทางแบบยุคลิดระยะห่างระหว่างฝรั่งเศสและสหรัฐอเมริกาคือ 1 ระยะห่างระหว่างสหรัฐอเมริกาและสหราชอาณาจักรคือ 2 แต่ด้วยการเข้ารหัสแบบร้อนแรงระยะทางคู่ระหว่าง [1, 0, 0], [0, 1 , 0] และ [0, 0, 1] ทั้งหมดเท่ากับ√2

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


4
ขอบคุณสำหรับ Lars คนนี้ แต่เมื่อเราทำการ OneHotEncoding ซึ่งเพิ่มจำนวนฟีเจอร์ได้อย่างมีประสิทธิภาพเราไม่จำเป็นต้องเพิ่มตัวอย่างด้วยเพื่อให้แน่ใจว่าจะไม่เกินพอดี
Manoj

@Manoj เมื่อเทียบกับการแสดงทางเลือกอื่นที่ชัดเจนของตัวแปรหมวดหมู่การเข้ารหัสแต่ละระดับเป็นจำนวนเต็มที่แตกต่างกันฉันไม่คิดว่ามันสำคัญ: คุณต้องการสถิติที่เพียงพอไม่ว่าจะด้วยวิธีใดก็ตาม
Fred Foo

7
มีวรรณกรรมเรื่องใดบ้างที่คุณสามารถชี้ให้ฉันอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ ขอบคุณ
Dr.Knowitall

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

2
สิ่งนี้สำหรับฉันเหมือนกับสิ่งที่นักสถิติเรียกว่า "ตัวแปรจำลอง" แต่อาจจะมีการประหยัดพื้นที่จัดเก็บ
Soldalma

3

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


0

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

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.