หน่วยก่อนหน้านี้แนะนำโมเดลต่อไปนี้ ซึ่งจัดหมวดหมู่ไม่ถูกต้องเป็นจำนวนมาก
ของต้นไม้ในชุดทดสอบ
โมเดลก่อนหน้ามีรูปร่างที่ซับซ้อนจำนวนมาก จะเป็น
จัดการกับข้อมูลใหม่ได้ดีกว่า สมมติว่าคุณแทนที่โมเดลที่ซับซ้อนด้วย
โมเดลที่เรียบง่ายขำขัน ซึ่งก็คือเส้นตรง
รูปแบบแบบง่ายจะให้ภาพรวมที่ดีกว่ารูปแบบที่ซับซ้อนในข้อมูลใหม่ นั่นคือ
โมเดลง่ายๆ ทำการคาดการณ์ในชุดทดสอบได้ดีกว่าโมเดลที่ซับซ้อน
ความเรียบง่ายได้ก้าวข้ามความซับซ้อนมาเป็นเวลานาน ในความเป็นจริง
ความเรียบง่ายคือความเรียบง่ายที่มีมาตั้งแต่สมัยกรีกโบราณ หลายศตวรรษต่อมา
นักบวชในศตวรรษที่ 14 ชื่อ William of Occam สร้างค่ากำหนดนี้ขึ้นมาอย่างเป็นทางการ
เพื่อความเรียบง่ายทางปรัชญาที่เรียกกันว่า Occam's
มีดโกน ปรัชญานี้
ยังคงเป็นหลักการพื้นฐานที่สำคัญของศาสตร์ต่างๆ มากมาย รวมถึง
แมชชีนเลิร์นนิง
แบบฝึกหัด: ตรวจสอบความเข้าใจ
คุณกำลังพัฒนาสมการฟิสิกส์ สูตรใดต่อไปนี้
และสอดคล้องกับมีดโกนของ Occam มากขึ้นไหม
สูตรที่มีตัวแปร 3 ตัว
ตัวแปร 3 ตัวเหมาะกับ Occam มากกว่าตัวแปร 12 ตัว
สูตรที่มีตัวแปร 12 ตัว
ตัวแปร 12 ตัวดูซับซ้อนเกินไปใช่ไหม
สูตรฟิสิกส์สองสูตรที่โด่งดังที่สุดตลอดกาล (F=ma และ
E=mc2) แต่ละค่าจะใช้ตัวแปรเพียง 3 ตัว
คุณอยู่ในโปรเจ็กต์แมชชีนเลิร์นนิงใหม่ล่าสุดที่กำลังจะเลือก
ฟีเจอร์แรก คุณควรเลือกกี่ฟีเจอร์
เลือก 1-3 ฟีเจอร์ที่น่าจะมีประสิทธิภาพในการคาดการณ์สูง
วิธีที่ดีที่สุดคือให้ไปป์ไลน์การเก็บรวบรวมข้อมูลเริ่มต้นด้วยรายการเดียวหรือ
สองฟีเจอร์ ซึ่งจะช่วยให้คุณยืนยันว่าโมเดล ML ทำงานได้ตามที่ตั้งใจไว้
และเมื่อคุณสร้างเกณฑ์พื้นฐานจาก 2 ฟีเจอร์
คุณจะรู้สึกเหมือนได้พัฒนา
เลือก 4-6 ฟีเจอร์ที่ดูเหมือนว่าจะมีความสามารถในการคาดการณ์ที่มีประสิทธิภาพ
ท้ายที่สุดคุณอาจได้ใช้ฟีเจอร์จำนวนมากนี้ แต่ก็ยังดีกว่าที่จะ
เริ่มจากตัวเลขที่น้อยลง ฟีเจอร์ที่น้อยลงมักจะหมายถึงจำนวนที่ไม่จำเป็นน้อยลง
ข้อมูลแทรก
เลือกสถานที่ให้มากที่สุดเท่าที่จะทำได้ เพื่อเริ่มสังเกตการณ์ว่า
มีประสิทธิภาพ
ในการคาดการณ์ที่มีประสิทธิภาพที่สุด
เริ่มต้นจากจำนวนน้อยลง ฟีเจอร์ใหม่ทั้งหมดจะเพิ่มมิติใหม่ให้กับการฝึกของคุณ
ชุดข้อมูล เมื่อมิติข้อมูลเพิ่มขึ้น ปริมาตรของพื้นที่ทำงาน
เพิ่มขึ้นอย่างรวดเร็วจนข้อมูลการฝึกที่มีอยู่มีน้อยลง
ใช้ข้อมูลของคุณในทางที่ผิด โมเดลจะเรียนรู้ความสัมพันธ์ได้ยากขึ้น
ระหว่างฟีเจอร์ที่สำคัญกับป้ายกำกับ ปรากฏการณ์นี้
เรียกว่า "คำสาปของมิติ"
มาตรฐาน
โมเดลแมชชีนเลิร์นนิงต้องมีเป้าหมายที่ขัดแย้งกัน 2 เป้าหมายในเวลาเดียวกัน
- พอดีกับข้อมูลพอดี
- ปรับข้อมูลให้พอดีที่สุดเท่าที่จะทำได้
วิธีหนึ่งในการทำให้โมเดลเรียบง่ายอยู่เสมอคือการลงโทษโมเดลที่ซับซ้อน ซึ่งก็คือ
เพื่อบังคับโมเดลให้
ง่ายขึ้นในระหว่างการฝึก การลงโทษซับซ้อน
โมเดลคือรูปแบบหนึ่งของการกำหนดรูปแบบ
การสูญเสียและความซับซ้อน
จนถึงตอนนี้ หลักสูตรนี้ได้แนะนำว่าเป้าหมายเดียวของการฝึกคือการ
ลดการขาดทุน ซึ่งก็คือ
$$\text{minimize(loss)}$$
ดังที่คุณได้เห็นแล้ว แบบจำลองที่เน้นไปที่การลดการสูญเสียมีแนวโน้มที่จะมีสัดส่วนมากเกินไป
อัลกอริทึมการเพิ่มประสิทธิภาพการฝึกที่ดีขึ้นจะลดปริมาณการผสม
การสูญเสียและความซับซ้อน
$$\text{minimize(loss + complexity)}$$
ขออภัยที่การสูญเสียสิทธิ์และความซับซ้อนมักจะเกี่ยวข้องกัน อาส
ความซับซ้อนเพิ่มขึ้นและการสูญเสียลดลง เมื่อความซับซ้อนลดลง การสูญเสียก็จะเพิ่มขึ้น
คุณควรหาจุดตรงกลางที่เหมาะสมซึ่งโมเดลจะทำให้
ที่คาดการณ์ทั้งจากข้อมูลในการฝึกอบรมและข้อมูลในชีวิตจริง
นั่นคือ โมเดลของคุณควรพบช่องโหว่ที่สมเหตุสมผล
ระหว่างการสูญเสียกับความซับซ้อน
ความซับซ้อนคืออะไร
คุณได้เห็นวิธีต่างๆ ในการวัดค่าความสูญเสียไปแล้ว วิธีการ
คุณวัดความซับซ้อนเชิงปริมาณได้หรือไม่ เริ่มการสำรวจด้วยแบบฝึกหัดต่อไปนี้
แบบฝึกหัด: ตรวจสอบสัญชาติญาณของคุณ
ที่ผ่านมาเราค่อนข้างคลุมเครือเกี่ยวกับความซับซ้อนที่แท้จริง
คุณคิดว่าแนวคิดใดต่อไปนี้จะเหมาะสม
เมตริกความซับซ้อนคืออะไร
ความซับซ้อนเป็นฟังก์ชันสำหรับน้ำหนักของโมเดล
ความซับซ้อนคือฟังก์ชันของกำลังสองของน้ำหนักของโมเดล
ใช่ คุณสามารถวัดบางโมเดลได้" ที่ซับซ้อนเช่นนี้ เมตริกนี้
เรียกว่า
นิพจน์ทั่วไป L2
ความซับซ้อนเป็นฟังก์ชันของความเอนเอียงของฟีเจอร์ทั้งหมดใน
โมเดล
การให้น้ำหนักพิเศษไม่ได้วัดความซับซ้อน