קורס מבוא ללמידת מכונה : פיתוח בינה מלאכותית RB207-01

קורס מבוא : פיתוח בינה מלאכותית RB207-01

Perceptron Model

 

הוחלף

איך יש למידה  ?

על ידי התאמה של המשקלים ל קלט יש למידה

קורס מבוא : פיתוח בינה מלאכותית RB207-01

אבל מה קורה  אם 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

כתיבת תגובה