שְׁאֵלָה:
מתי עלי להשתמש בלאסו לעומת הרכס?
Larry Wang
2010-07-28 06:10:18 UTC
view on stackexchange narkive permalink

אמור שאני רוצה להעריך מספר רב של פרמטרים, ואני רוצה להעניש כמה מהם מכיוון שאני מאמין שהם צריכים להשפיע מעט לעומת האחרים. כיצד אוכל להחליט באיזו תכנית ענישה להשתמש? מתי רגרסיה של הרכס מתאימה יותר? מתי עלי להשתמש בלאסו?

"תגיד שאני רוצה לאמוד מספר גדול של פרמטרים" אפשר לדייק את זה: מה המסגרת? אני מניח שזו רגרסיה לינארית?
שאלה דומה נשאלה זה עתה במטא-אופטימיזציה (כזכור ש l1 = LASSO ו- l2 = רכס): http://metaoptimize.com/qa/questions/5205/when-to-use-l1-regularization-and-when -l2
אתה אומר "לאסו לעומת הרכס" כאילו הם שתי האפשרויות היחידות - מה עם פרטו כפול כללי, פרסה, bma, גשר, בין היתר?
@Gael Varoquaux הקישור נשבר.
מטא אופטימיזציה של @Idonknow: נסגרה.האתר לשימוש היום הוא https://or.stackexchange.com/
שְׁלוֹשָׁה תשובות:
#1
+118
emakalic
2010-07-28 10:55:31 UTC
view on stackexchange narkive permalink

זכור כי רגרסיה של הרכס אינה יכולה לאפס את המקדמים; לפיכך, בסופו של דבר אתה כולל את כל המקדמים במודל, או אף אחד מהם. לעומת זאת, ה- LASSO מבצע גם כיווץ פרמטרים וגם בחירת משתנים באופן אוטומטי. אם חלק מהמשתנים המשתנים שלך הם בקורלציה גבוהה, ייתכן שתרצה להסתכל ברשת האלסטית [3] במקום ב- LASSO.

אני אישית ממליץ להשתמש בגארוט הלא שלילי (NNG) [1] כיוון שהוא עקבי מבחינת הערכה ובחירת משתנים [2]. שלא כמו LASSO ורגרסיית הרכס, NNG דורש הערכה ראשונית שמצטמקת לכיוון המקור. בעיתון המקורי, Breiman ממליץ על פתרון הריבועים הנמוכים ביותר לאומדן הראשוני (אולם ייתכן שתרצה להתחיל את החיפוש מפתרון רגרסיה של הרכס ולהשתמש במשהו כמו GCV לבחירת פרמטר העונש).

ב- במונחים של תוכנה זמינה, יישמתי את ה- NNG המקורי ב- MATLAB (בהתבסס על קוד ה- FORTRAN המקורי של בריימן). ניתן להוריד אותו מ:

http://www.emakalic.org/blog/wp-content/uploads/2010/04/nngarotte.zip

BTW, אם אתה מעדיף פיתרון Bayesian, בדוק [4,5].

הפניות:

[1] Breiman, L. טוב יותר רגרסיה של תת-קבוצות באמצעות טכניקומטריית ה- Nonnegative Garrote , 1995, 37, 373-384

[2] יואן, מ '& לין, י' על אומדן הגרוטות הלא שלילי Journal of the Royal Statistical Society (Series B), 2007, 69, 143 -161

[3] Zou, H. & Hastie, T. ויסות ובחירה משתנה באמצעות כתב העת האלסטי של האגודה הסטטיסטית המלכותית (סדרה B), 2005, 67, 301-320

[4] Park, T. & Casella, G. The Bayesian Lasso Journal of the American Statistical Association, 2008, 103, 681-686

[5] Kyung, M .; גיל, י. גוש, מ '& Casella, G. נענש רגרסיה, שגיאות סטנדרטיות וניתוח Bayesian Lassos Bayesian, 2010, 5, 369-412

האם אתה יכול להיות ספציפי יותר לגבי הרכס לעומת הלאסו?האם בחירה אוטומטית במשתנים היא הסיבה היחידה להעדיף לאסו?
#2
+48
Hbar
2010-07-28 09:26:17 UTC
view on stackexchange narkive permalink

רכס או לאסו הם צורות של רגרסיות ליניאריות מסודרות. ניתן לפרש את הרגולציה כקודמת בשיטת הערכה אחורית אחורית. על פי פרשנות זו, הרכס והלאסו מניחים הנחות שונות לגבי סוג הטרנספורמציה הליניארית שהם מסיקים להתייחס לנתוני קלט ופלט. ברכס, מקדמי הטרנספורמציה הליניארית מפוזרים נורמלי ובלאסו הם מפוזרים לפלאס. בלאסו, זה מקל על המקדמים להיות אפס ולכן קל יותר לחסל חלק ממשתני הקלט שלך כלא תורם לפלט.

יש גם כמה שיקולים מעשיים. הרכס קל יותר ליישום ומהיר יותר לחישוב, מה שיכול להיות חשוב בהתאם לסוג הנתונים שיש לך.

אם שניכם יישמתם, השתמשו בקבוצות משנה של הנתונים שלכם כדי למצוא את הרכס והלאסו והשוו עד כמה הם עובדים על הנתונים שנשארו בחוץ. השגיאות אמורות לתת לך מושג באיזה שימוש.

אני לא מבין את זה - איך היית יודע אם המקדמים שלך הם laplace או מבוזרים נורמלי?
מדוע רגרסיה של רידג 'מהירה יותר לחישוב?
@Hbar: "ניתן לפרש את הרגולציה כקודמת בשיטת הערכה מקסימלית אחורית.": האם תוכל להסביר את החלק הזה ביתר פירוט בסמלים מתמטיים, או לפחות לתת התייחסות?תודה!
@ihadanny סביר להניח שלא היית יודע, וזה העניין.אתה יכול רק להחליט איזה מהם לשמור _אחזור_.
@Archie יש פיתרון טופס סגור לרגרסיה של רכס ממש כמו OLS, אך יש לחשב את LASSO באמצעות הליכי אופטימיזציה.
#3
+35
Gary
2011-03-19 06:21:06 UTC
view on stackexchange narkive permalink

בדרך כלל, כאשר יש לך הרבה אפקטים קטנים / בינוניים, אתה צריך ללכת עם הרכס. אם יש לך רק כמה משתנים עם אפקט בינוני / גדול, עבור עם lasso. Hastie, Tibshirani, Friedman

אבל כשיש לך כמה משתנים, כדאי לך לשמור את כולם במודלים שלך אם הם משפיעים בינוני / גדול, מה שלא יהיה במקרה של לאסו מכיוון שהוא עשוי להסיר אחד מהם.אתה יכול בבקשה להסביר זאת בפירוט?אני מרגיש שכשיש לך הרבה משתנים אנו משתמשים בלאסו כדי להסיר משתנים מיותרים ולא רכס.


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 2.0 עליו הוא מופץ.
Loading...