קורס בינה מלאכותית : RB20 – שיעור 8 מבנה רשתות ניירונים
שלב ראשון נטען את הנתונים מקובץ אקסל
אפשר לראות שזה בעיה של רגרסיה ,יש לנו מיגע היסטורי וזה בעיית SUPERVISE PROBLE
ננסה לבנות רשת ניירונים שתנבא את הערך של המחיר לפי feature1 feature 2 , בעיה מאוד פשוטה
ננתח את הנתונים
בניית נתונים למודל – רשת ניירונים TRAIN I TEST
אין כמו טריק טוב :
ניקח את הקובץ ונחלק אותו לשני חלקים
- חלק אחד TRAIN 70%
- חלק שנים TEST 30
נטען לדאדאפריים ואז נמיר ל NUMPY ונחלק את הנתונים :
נקבל
מקיסום המודול – אם יש ערכים ומספרים גדולים ממולץ לנרמל את הערכים למספרים קטנים מ 1 – ל 1 +
אנחנו נעשה SCALE רק ל פיצרים ולא ל LABEL (התוצאה – כלומר מחיר במקרה שלנו)
בניית הרשת – רשת ניירונים
מבנה רשת פשוטה זאת
ברשת פשוטה זאת : נקבל כמה פרמטרים למחיר –> ומחיר סופי
עמודה 1 , עמודה 2 , מחיר
הגדרה קלאסית – אנחנו ברשת זאת מקבילים כמה פרמטרים , אך התוצאה הינה אחת במקרה הזה מחיר
קימפול הרשת לפי סוג הבעיה והנתונים
אצלנו נתונים רציפים ובעיית רגרסיה לכן נשתמש ב MSE
התאמת המודל של הרשת שבחרנו נתונים
epochs =1 העברנו פעם אחת על כל הנתונים לאופטמיזציה של המישקלים של הרשת . בכל מעבר המערכת בד"כ הוכלת ומשטפרת
יש לקחת בחשבון OVER FITTING נדבר בהרחבה בהמשך
נריץ את המודול
בהתלה נקבל :
התקדמות
לבסוף צריך לקבל ערך נמוך זה אומר שהיא מתכנסת
עכשיו אפשר לראות את התהליך של הלמידה :
זה ה LOST עבור הנתונים שהרשת למדה TRAIN
בדיקת המודל
השאלה היא כמה המודל יהיה טוב מול נתונים שמעולם לא למד \ נתקל בהם ?
לכן נריץ בדיקת המודל – האם הרשת מסוגלת לנבא – כמה הרשת שבנינו \ הגדרנו טובה מול הנתונים TEST
יש הרבה אפשריות ושיטות
שימוש ב evaluate מאפשר לראות איך המודל שלנו
שימוש ב Prediction :
ניקח את ה X_TEST ונעביר אותו דרך המודל ממנו נקבל Y חדש שנקרא לו TEST_PREDICTION
TEST_PREDICTION נגגיש הוא הערכים שהתקבלו דרך המודל רך הרשת ניירונים
על מנת לדעת כמה המודל טוב ומדוייק נשווה את TEST_PREDICTION ל Y_TEST
ככל שהם יהיו קרובים יותר פר רשומה כך הניקוד הכולל של המודל יהיה גבוה
השלבים :
עכשיו נשווה את
מה רואים ?
אנחחנו רואים את הערך האמיתי של TEST TRUE Y ואת הערך שהמודל רשת הניירונים ניבאה – תוצאות טובות מאוד
אפשר גם לראות צורה גרפנית
הקו הישר מראה קשר יפה שהמודל – רשת הניירונים מנבאה
אפשר לבדוק עוד
כלומר אנחנו במרחק של 3.99 דולר מהמחיר האמיתי שזה ניבוי מצויין
אבל באופן כללי איך ניתן דעת אם זה טוב או רע ? בודקים מול ערכי המקרו
3.99 הינו פחות מ 1 אחוז וזה יפה
ניבוי ערך שלא היה קיים כלל במאגר נתונים
שמירת המודול
טעינת מודל וניבוי מיידי
איך בינה מלאכותית לומדת ?https://robotronix.co.il
מראה לנו כמה אנחנו צודקים
ככל שהפרדיקציה שלנו קרוב לידע הערך יהיה 0
עבור משתנה 1
גרדיינט
עבור הרבה משתנים מציאת הערך המינילי עבור פונקציית LOST נקרא גרדיינט
השם משקל משמ גם הוא לערכים לפתירת המשוואה המודל לערך LOST הטוב ביותר והוא נקרא WEIGHTS והם הפתרונות
טנזורפלו עושה את זה אוטומתי בשיבלנו כלומר פותר לנו והוא משתמש במשקלים האלא בעצם ככה המודל לומד
ברוב המקרים שיש מספר משתנים קשה או לא ניתן בזמן הגיוני או לא ניתן לפתור
וכלן נשמש באנליטאיל סלושיין – פיתרון אנאליטי ונשתמש ב GRADIENT DESCENT
הפתרון בקפיצות וחישוב LOST עד שמקבלים ערך יחסית טוב וקטן – ה STEP זה קצב הלימוד ה LEARINIG RATE
והוא משופע ותלוי ב מוסג שנקרא היפר פרמטרים
אפשר לדעת אם קצב הלימוד הוא טוב לפי הסתכלות בגרף