קורס מבוא : פיתוח בינה מלאכותית RB207-01
Perceptron Model
הוחלף
איך יש למידה ?
על ידי התאמה של המשקלים ל קלט יש למידה

אבל מה קורה אם X הינו 0 ?
ממקרה כזה לא משנה מה ערך של W לא ישפיע אל Y ולכן לא תיהיה למידה
פתרון
הוספת בייס
או לכתוב כך :
אפשר להמיר :
ל את הבייס מתמטית
בעיה ש פספטרון 1 לא מספיק ללמידה של דברים מורכבים ולכן נבנה מודל אחר
אם יש לנו שתי HIDDEN LAYERS נקרא לרשת DEEP NEURAL NETWORKS
החוקרים הראו
Activation function
נניח ש Z יכול להיות 0 או 1
למשל
אז מצאו יותר קע
https://en.wikipedia.org/wiki/Activation_function
MULTICLASS
או
עבור OUTPUT
;
(Loss function) Cost function
מראה כיצד המערכת שלנו לומדת
מול המערכת שלמדה ומול הנתונים הידועים TRAIN מול TEST
חושב להבין Z הוא החלק שעובר בפונקציית אקטיבציה
a – פונקציית אקטיבציה
L – השכבה האחרונה ברשת
C – COST FUNCITON
Y(X) זה הערכים האמיתיים a(x) ערכים שמנבעים
איך LOSS עובדת ?
היא תנסה הלתאים את הממשקל \ המשקלים כך שהשגיעה תיהיה הכי קטנה לניבוי הכי גבוה
איזה ערך של W גורם לפונקציה להיות מינמלית
פתרון קלאסי זה לעשות נגזרת – וזה טוב למימד אחד 2 אולי 3 , עבור N מימדים שהיטה איטית ביותר ולא יעליה ואז העל רעיון אחר שהזניק את הבינה מלאכותית קדימה
במקום נגזרת אלא Gradient descent במקום נגזרת שלב אחרי שלב
נעשה קפיצות בצעדים STEPS
בסוךף נקבל איזור ש W קרוב ל לאפס
אבל בגדול נילך בקפיצות , הקפיצות נקראות LEARNING RATE במקרה זה צעגים שווים
אבל אז אמרו איזה יופי באו נקטין את הצעדים ככל שהמשיק זווית קרובה לאפס0 זה נקרא
ADAPTIVE GRADIENT DESCENT
רעיון זה פורסם רק ! 2015 – אופטמזציית ADAM
כמובן שיש עוד שיטות
ואדם טוב יותר מכל השיטות
בסמנטיקה gradient זה עבור N מימדים
Backpropagation
אחרי שעשינו סיבוב ומצאתנו את המשקלים ו ה BIAS עלידי LOSS נעדכן את הרשת פעולת הסיבוב והעדכון המשקלים נקראת
Backpropagation
https://www.udemy.com/course/complete-tensorflow-2-and-keras-deep-learning-bootcamp/learn/lecture/16844538#overview
לפי סוגי הבעיה נחבר את האופטמצייבר שלנו ופונקציה LOSS
למשל אם עבור בעית רגירסיה נבחר
בשורה זאת – המודל מבצע את הלימידה
הוא מוצא את הקשרים \ הקורולציות בין הנתונים ב X_train ל Y_train
הגרף מראה לנו את הלימדה – וניתן לראות שאחרי 170 איפוקס המכונה כבר לא לומדת יותר
אבלואציה של המודול – ניבדוק כמה טוב המודול שלנו מתפקד על ניתונים שהוא לא ראה לפני
בשביל זה נעזר ב TEST , נציב לו את X_test המודל ינבה מה צריך להיות ה Y ונשווה אותו ל Y_test
ככל שהמודל שלנו יתן תצואות Y_predict שוות או קרובות ל Y_test ככה המודול שלנו למד טוב יותר , כלכ שרחוק יותר ככה המודול פחות טוב והלימידה שלו הייתה פחות טובה.
מחזיר את הערך של LOSS של המודול במודול שלנו אמרנו לו לחשבת את ה LOSS=MSE
MEAN SQUAIR ERROR וזה היה עבור TRAIN
מחזיר את הערך של LOSS של המודול במודול שלנו אמרנו לו לחשבת את ה LOSS=MSE
MEAN SQUAIR ERROR וזה היה עבור TEST
נבדוק את המודול (רשת ) שלנו על ערכי X_test – נזכור שהמודול כבר מקומפל עם משקלים ובייסם והמערכת כבר ביצע את הלמידה , עכשיו המערכת תקבל את ערכי TEST כקלט וכפלט test_predictions
עכשיו נשווה את test_predictions ל y_test נמיר הכל ל DATAFRAME
ניראה את הקשר
כלומר אנחנו 4 דולר מהמחיר של הניבוי , ואירך נידע אם זה טוב או רע ?
אם נסתכל על הממוצע זה 498 שזה לא רע בכלל
https://www.udemy.com/course/complete-tensorflow-2-and-keras-deep-learning-bootcamp/learn/lecture/16904692#overview