2.1.5
Elastic Net
สรุป
- Elastic Net รวมโทษ L1 และ L2 เข้าด้วยกัน ทำให้ได้ทั้งความเบาบางของโมเดลและความเสถียรของสัมประสิทธิ์
- เหมาะกับสถานการณ์ที่ตัวแปรป้อนเข้ามีความสัมพันธ์กันสูง เพราะสามารถรักษากลุ่มตัวแปรที่คล้ายกันไว้พร้อมปรับน้ำหนักความสำคัญ
- ปรับ \(\alpha\) และ
l1_ratioด้วยการตรวจสอบไขว้จะช่วยหาจุดสมดุลระหว่างการกระจายตัวกับอคติได้ง่าย - การทำมาตรฐานและการเพิ่มจำนวนรอบการวนซ้ำช่วยให้การเพิ่มประสิทธิภาพเชิงตัวเลขมีความน่าเชื่อถือมากขึ้น
สัญชาตญาณ #
การเข้าใจวิธีนี้ควรดูสมมติฐานของโมเดล ลักษณะข้อมูล และผลของการตั้งค่าพารามิเตอร์ต่อการทั่วไปของโมเดล
คำอธิบายโดยละเอียด #
สูตรสำคัญ #
ฟังก์ชันวัตถุประสงค์ของ Elastic Net คือ
$$ \min_{\boldsymbol\beta, b} \sum_{i=1}^{n} \left( y_i - (\boldsymbol\beta^\top \mathbf{x}_i + b) \right)^2 + \alpha \left( \rho \lVert \boldsymbol\beta \rVert_1 + (1 - \rho) \lVert \boldsymbol\beta \rVert_2^2 \right) $$โดย \(\alpha > 0\) คุมความแรงของการทำให้เป็นระเบียบ และ \(\rho \in [0,1]\) (l1_ratio) ระบุสัดส่วนระหว่างโทษ L1 กับ L2 จึงเลื่อนไปมาระหว่างริจกับแลสโซได้อย่างต่อเนื่อง
ทดลองด้วย Python #
โค้ดต่อไปนี้ใช้ ElasticNetCV เพื่อปรับ \(\alpha\) และ l1_ratio พร้อมกัน จากนั้นแสดงทั้งตัวชี้วัดและสัมประสิทธิ์ที่สำคัญ
| |
วิเคราะห์ผลลัพธ์ #
ElasticNetCVประเมินชุดค่าผสมของ L1 และ L2 ให้อัตโนมัติ จึงค้นหาค่าที่เหมาะสมได้โดยไม่ต้องทำด้วยมือ- แม้ตัวแปรจะมีความสัมพันธ์กันสูง โมเดลยังคงรักษาพวกมันไว้เป็นกลุ่มพร้อมค่าสัมประสิทธิ์ที่ขนาดใกล้เคียงกัน ทำให้อธิบายได้ง่าย
- หากการหาคำตอบล่าช้าลองปรับให้คุณสมบัติอยู่ในสเกลเดียวกันหรือเพิ่ม
max_iterเพื่อช่วยให้การเพิ่มประสิทธิภาพลู่เข้า
เอกสารอ้างอิง #
- Zou, H., & Hastie, T. (2005). Regularization and Variable Selection via the Elastic Net. Journal of the Royal Statistical Society: Series B, 67(2), 301 E20.
- Friedman, J., Hastie, T., & Tibshirani, R. (2010). Regularization Paths for Generalized Linear Models via Coordinate Descent. Journal of Statistical Software, 33(1), 1 E2.