คำถามสั้น ๆ สำหรับคุณ:
เมื่ออัลกอริทึมมันเหมาะกับส่วนที่เหลือ (หรือการไล่ระดับสีลบ) คือการใช้คุณลักษณะหนึ่งอย่างในแต่ละขั้นตอน (เช่นรุ่น univariate) หรือคุณลักษณะทั้งหมด (โมเดลหลายตัวแปร)?
อัลกอริทึมใช้คุณสมบัติเดียวหรือคุณสมบัติทั้งหมดขึ้นอยู่กับการตั้งค่าของคุณ ในคำตอบแบบยาวของฉันที่แสดงด้านล่างในตัวอย่างการตัดสินใจทั้งตอการตัดสินใจและเชิงเส้นพวกเขาใช้คุณสมบัติทั้งหมด แต่ถ้าคุณต้องการคุณสามารถใส่ชุดย่อยของคุณสมบัติได้ คอลัมน์การสุ่มตัวอย่าง (คุณสมบัติ) ถูกมองว่าเป็นการลดความแปรปรวนของแบบจำลองหรือเพิ่ม "ความทนทาน" ของแบบจำลองโดยเฉพาะอย่างยิ่งถ้าคุณมีคุณสมบัติจำนวนมาก
ในxgboost
สำหรับผู้เรียนฐานต้นไม้คุณสามารถตั้งค่าcolsample_bytree
เป็นคุณสมบัติตัวอย่างให้เหมาะกับการวนซ้ำแต่ละครั้ง สำหรับผู้เรียนพื้นฐานเชิงเส้นไม่มีตัวเลือกดังกล่าวดังนั้นจึงควรปรับคุณสมบัติทั้งหมดให้เหมาะสม นอกจากนี้มีคนไม่มากนักที่ใช้การเรียนรู้เชิงเส้นใน xgboost หรือการไล่ระดับสีโดยทั่วไป
คำตอบยาว ๆ สำหรับผู้เรียนเชิงเส้นในฐานะผู้เรียนที่อ่อนแอสำหรับการส่งเสริม:
ในกรณีส่วนใหญ่เราไม่อาจใช้ผู้เรียนเชิงเส้นเป็นผู้เรียนรู้พื้นฐาน เหตุผลนั้นง่าย: การเพิ่มตัวแบบเชิงเส้นหลายตัวเข้าด้วยกันจะยังคงเป็นแบบเชิงเส้น
ในการส่งเสริมโมเดลของเราคือผลรวมของผู้เรียนพื้นฐาน:
f(x)=∑m=1Mbm(x)
โดยที่คือจำนวนการวนซ้ำในการเพิ่มระดับเป็นแบบจำลองสำหรับการทำซ้ำMbmmth
ตัวอย่างเช่นถ้าผู้เรียนพื้นฐานเป็นเส้นตรงสมมติว่าเราเพิ่งรันการวนซ้ำครั้งและ และดังนั้น2b1=β0+β1xb2=θ0+θ1x
f(x)=∑m=12bm(x)=β0+β1x+θ0+θ1x=(β0+θ0)+(β1+θ1)x
ซึ่งเป็นโมเดลเชิงเส้นอย่างง่าย! กล่าวอีกนัยหนึ่งโมเดลวงดนตรีมี "พลังเดียวกัน" กับผู้เรียนพื้นฐาน!
ที่สำคัญกว่านั้นถ้าเราใช้โมเดลเชิงเส้นเป็นผู้เรียนพื้นฐานเราสามารถทำขั้นตอนเดียวได้ด้วยการแก้ระบบเชิงเส้นแทนที่จะไปแม้จะมีการทำซ้ำหลายครั้งในการเพิ่มประสิทธิภาพXTXβ=XTy
ดังนั้นผู้คนจึงต้องการใช้แบบจำลองอื่นนอกเหนือจากโมเดลเชิงเส้นในฐานะผู้เรียนพื้นฐาน Tree เป็นตัวเลือกที่ดีเนื่องจากการเพิ่มสองต้นไม่เท่ากับหนึ่งต้น ฉันจะสาธิตด้วยกรณีง่าย ๆ : ตัดสินใจตอซึ่งเป็นต้นไม้ที่มี 1 แยกเท่านั้น
ฉันทำกระชับฟังก์ชั่นที่มีข้อมูลถูกสร้างขึ้นโดยฟังก์ชันกำลังสองง่าย 2 นี่คือความจริงพื้นดินที่เต็มไปด้วยรูปร่าง (ซ้าย) และตอการตัดสินใจขั้นสุดท้ายส่งเสริมการกระชับ (ขวา)f(x,y)=x2+y2
ตอนนี้ตรวจสอบการวนซ้ำสี่ครั้งแรก
หมายเหตุแตกต่างจากผู้เรียนแบบเส้นตรงโมเดลในการทำซ้ำครั้งที่ 4 ไม่สามารถทำได้โดยการทำซ้ำหนึ่งครั้ง (ตอการตัดสินใจเดียวเดียว) กับพารามิเตอร์อื่น ๆ
จนถึงตอนนี้ฉันอธิบายว่าทำไมผู้คนไม่ใช้ผู้เรียนเชิงเส้นเป็นผู้เรียนรู้พื้นฐาน อย่างไรก็ตามไม่มีอะไรขัดขวางผู้คนให้ทำเช่นนั้น ถ้าเราใช้ตัวแบบเชิงเส้นเป็นผู้เรียนฐานและ จำกัด จำนวนการวนซ้ำมันเท่ากับการแก้ระบบเชิงเส้น แต่ จำกัด จำนวนการวนซ้ำในระหว่างกระบวนการแก้
ตัวอย่างเดียวกัน แต่ในพล็อต 3 มิติเส้นโค้งสีแดงคือข้อมูลและระนาบสีเขียวเป็นขนาดสุดท้าย คุณสามารถเห็นได้อย่างง่ายดายโมเดลสุดท้ายคือโมเดลเชิงเส้นและมันz=mean(data$label)
ขนานกับระนาบ x, y (คุณสามารถคิดได้ว่าทำไมเพราะนี่คือข้อมูลของเราคือ "สมมาตร" ดังนั้นความเอียงของระนาบจะเพิ่มการสูญเสีย) ตอนนี้ตรวจสอบสิ่งที่เกิดขึ้นในการทำซ้ำ 4 ครั้งแรก: โมเดลที่ได้รับการติดตั้งจะค่อยๆขึ้นไปถึงค่าที่เหมาะสมที่สุด
ข้อสรุปสุดท้ายผู้เรียนเชิงเส้นไม่ได้ใช้กันอย่างแพร่หลาย แต่ไม่มีสิ่งใดป้องกันผู้ใช้หรือนำไปใช้ในไลบรารี R นอกจากนี้คุณสามารถใช้และ จำกัด จำนวนการวนซ้ำเพื่อทำให้โมเดลเป็นปกติ
โพสต์ที่เกี่ยวข้อง:
การไล่ระดับสีเพื่อเพิ่มการถดถอยเชิงเส้น - ทำไมมันไม่ทำงาน?
การตัดสินใจเป็นตอแบบจำลองเชิงเส้นหรือไม่?