שְׁאֵלָה:
כיצד לבצע יעילות רשת עצבית?
asad.taj
2010-09-03 09:53:37 UTC
view on stackexchange narkive permalink

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

האם אתה באמת צריך NN? שיטה זו נחשבת למיושנת למדי (חלקית מכיוון שקשה מאוד לענות על שאלותיך באופן כללי).
@mbq: אולי זו צריכה להיות שאלה נפרדת, אך האם תוכל להרחיב את הצהרתך כי רשתות עצביות נחשבות מיושנות? (ועל ידי מי?)
@naught101 זוהי תגובה משנת 2010 ... בימינו יש לנו רנסנס של הטירוף הזה ולכן נצטרך לחכות כמה שנים כדי שה- NN לא יתיישנו שוב (;
@mbq: שלא עונה על שאלתי. אבל אולי זה עושה זאת: http://stackoverflow.com/questions/683124/neural-networks-obsolete
אחד תשובה:
Dikran Marsupial
2010-09-03 13:03:16 UTC
view on stackexchange narkive permalink

העצה שהייתי נותן היא כדלקמן:

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

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

  3. אם אתה באמת רוצה להשתמש ברשת עצבית, התחל עם רשת פונקציות בסיסית רדיאלית (במקום רגולציה), ולא מרשת שכבת פרספטרון (Multilayer Perceptron (MLP)).

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

כדי לזהות התאמת יתר, פשוט בצע אימות צולב כדי לבדוק הכללה. ביצועים.

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

אם אתה משתמש ב- MATLAB (כמוני) אני יכול להמליץ ​​בחום על תוכנת NETLAB (Ian Nabney ו- כריס בישופ) או התוכנה המצורפת לספר Gaussian Process for Machine Learning מאת רסמוסן וויליאמס. אני יכול עוד להמליץ ​​בחום על הספר "רשתות עצביות לזיהוי תבניות" מאת כריס בישופ לכל מי שמתחיל ברשתות עצביות. זהו ספר מבריק, ומכסה את החומר בבהירות רבה וברמה המינימלית של מתמטיקה הנדרשת כדי להבין באמת מה אתה עושה, ורובו מיושם בתוכנת NETLAB (שעשויה לרוץ גם תחת אוקטבה).

HTH

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



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