ในรูปที่ 1 และ 2 ลองจินตนาการถึงสิ่งต่อไปนี้
- จุดสีน้ําเงินแสดงถึงต้นไม้ที่ป่วย
- จุดสีส้มแสดงถึงต้นไม้ที่มีสุขภาพดี
รูปที่ 1 ปัญหานี้เป็นปัญหาเชิงเส้นหรือไม่
คุณวาดเส้นที่แยกต้นไม้ที่ติดเชื้อออกจากต้นไม้ที่ปกติดีได้ไหม ได้เลย โจทย์เชิงเส้นนี้ เส้นไม่สม่ําเสมอ ต้นไม้ที่ป่วยอาจ 1 หรือ 2 ต้นอาจอยู่ด้านข้าง "สุขภาพดี" แต่เส้นของคุณจะเป็นตัวคาดการณ์ที่ดี
จากนั้นดูที่รูปต่อไปนี้
รูปที่ 2 ปัญหานี้เป็นปัญหาเชิงเส้นหรือไม่
คุณสามารถวาดเส้นตรงเส้นเดียวที่แยกต้นไม้ที่ติดเชื้อออกจากต้นไม้ที่ปกติดี 1 เส้น ไม่ได้ ปัญหานี้ไม่ใช่ปัญหาเชิงเส้น เส้นใดๆ ก็ตามที่คุณวาดจะเป็นตัวคาดการณ์สภาวะของต้นไม้ไม่ดี
รูปที่ 3 บรรทัดเดียวจะแบ่ง 2 ชั้นเรียนไม่ได้
หากต้องการแก้ปัญหาที่ไม่ใช่แบบเชิงเส้นที่แสดงในรูปที่ 2 ให้สร้างไม้กางเขนฟีเจอร์ ฟีเจอร์ครอสเป็นฟีเจอร์สังเคราะห์ที่เข้ารหัสความไม่เป็นเชิงเส้นในพื้นที่ฟีเจอร์โดยคูณฟีเจอร์อินพุต 2 รายการขึ้นไป (คําว่า คูณมาจาก ข้ามผลิตภัณฑ์) มาสร้างฟีเจอร์กากบาทให้แก่ชื่อ \(x_3\) โดยการข้าม \(x_1\) และ \(x_2\)กัน:
เราถือว่าฟีเจอร์ \(x_3\) ที่สร้างขึ้นใหม่นั้นเหมือนกับฟีเจอร์อื่นๆ ทั้งหมด สูตรเชิงเส้นจะกลายเป็น
อัลกอริทึมเชิงเส้นจะเรียนรู้น้ําหนักของ \(w_3\) ได้เท่าที่ได้จาก \(w_1\) และ \(w_2\) กล่าวคือ แม้ว่า \(w_3\) จะเข้ารหัสข้อมูลที่ไม่ใช่เชิงเส้น แต่คุณไม่จําเป็นต้องเปลี่ยนวิธีที่โมเดลเชิงเส้นจะฝึกให้กําหนดมูลค่าของ \(w_3\)
ประเภทกากบาทในฟีเจอร์
เราสามารถสร้างเครื่องหมายกากบาทสําหรับลักษณะต่างๆ ได้มากมาย เช่น
[A X B]
: ฟีเจอร์ข้ามรูปแบบคูณโดยการคูณค่าของฟีเจอร์ 2 รายการ[A x B x C x D x E]
: คูณไขว้ฟีเจอร์คูณค่า 5 ฟีเจอร์[A x A]
: ไม้กางเขนฟีเจอร์ที่เกิดขึ้นโดยการตวัดค่าคุณลักษณะเดียว
ด้วยการไล่ระดับแบบไล่ระดับสี โมเดลเชิงเส้นจึงฝึกได้อย่างมีประสิทธิภาพ ดังนั้นการเสริมโมเดลเชิงเส้นที่มีการปรับขนาดด้วยไม้กางเขนฟีเจอร์จึงเป็นวิธีที่มีประสิทธิภาพในการฝึกอบรมชุดข้อมูลขนาดใหญ่