Machine learnnig

מפתחת Net

משתמש צעיר
D I G I T A L
מעוניינת ללמוד את הנושא לעומק
יותר קל לי דרך סרטונים עדיף בעברית
אשמח לקבל קישוריות תודה :)
 

yitzhak123

משתמש סופר מקצוען
הנדסת תוכנה
תודה על התגובה אבל היא לא מועילה לי ;)
אשמח מאוד לקישוריות תודה

לא למדתי את התחום ואני לא מכיר אותו, אבל נתקלתי לפני כמה זמן במאמר הזה מדמרקר שמפנה להרבה משאבים ללמידת הנושא.

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


עמרי גולדשטיין


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

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


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

עברו לתצוגת גלריה
ארגז כלי עבודה מונח על מחשב נייד

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


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

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


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

עברו לתצוגת גלריה

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


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

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

עברו לתצוגת גלריה
יד מקלידה על מחשבון

צילום: Dreamstime
רקע מתמטי
סטטיסטיקה והסתברות

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

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


אלגברה לינארית

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

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

רקע תכנותי

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

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

למידת מכונה

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

למידה עמוקה

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


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

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

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

את התוצרים המרשימים שלכם כדי לשמור במקום פומבי כמו Github או עמוד הפרופיל שלכם בקאגל.

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

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

עברו לתצוגת גלריה
הקלטות סודיות

צילום: GIPHY
אם כמוני התמכרתם לפודקאסטים לאחרונה, אולי תרצו להאזין לפרקים בנושא. אני חייב להודות שמכיוון שאני מאזין בעיקר תוך כדי הליכה ושטיפת כלים\כביסה, אני לא מצליח להפנים קונספטים מופשטים ומורכבים מפודקאסטים. אני בכל זאת ממליץ על פודקאסט אחד, Data Skeptic. בפודקאסט, קייל פוליש, דאטה סיינטיסט בכיר, מסביר לאשתו לין-דה טראן עקרונות בדאטה סיינס, למידת מכונה ואינטיליגנציה מלאכותית. אשתו אמורה להחליף את המאזין ההדיוט על מנת לוודא שההסברים פשוטים וברורים. מידת ההצלחה של הפורמט שנויה במחלוקת, ומאזינים רבים מוצאים את האינטראקציה בינהם מעט מעצבנת. אני יכול להבין את זה. ובכל זאת, פרקי ה-mini מסבירים קונספטים בתחום בצורה מאוד ברורה ופשוטה. אני הייתי ממליץ להאזין בסדר כרונולוגי. פודקאסט נוסף שאינו בהכרח לימודי, אבל חושף את עולם הדאטא-סיינס על שלל היישומים שלו בתעשייה דרך ראיונות עם יזמים מהתחום הוא Unsupervised. פודקאסטים הם דרך מעולה לנצל את זמן הנסיעה או ההליכה לעבודה ללמידה פרודוקטיבית.

בהצלחה!
 

RRotem

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

מעבר לאתר הספיציפי הזה, כל ההסברים הרציניים הם מספרים
ממליצה מאוד על An Introduction to Statistical Learning (Gareth James), שמציע גם הסברים מאוד מובנים ומעמיקים וגם תרגילים בסוף כל פרק
 

ירושל

משתמש מקצוען
אם פתוח בסינון, הקורס של פרופ' שי שלו-שוורץ מהאוניברסיטה העברית זמין ב-YouTube.
קורס Introduction to Machine Learning
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קנ

א הַלְלוּיָהּ הַלְלוּ אֵל בְּקָדְשׁוֹ הַלְלוּהוּ בִּרְקִיעַ עֻזּוֹ:ב הַלְלוּהוּ בִגְבוּרֹתָיו הַלְלוּהוּ כְּרֹב גֻּדְלוֹ:ג הַלְלוּהוּ בְּתֵקַע שׁוֹפָר הַלְלוּהוּ בְּנֵבֶל וְכִנּוֹר:ד הַלְלוּהוּ בְתֹף וּמָחוֹל הַלְלוּהוּ בְּמִנִּים וְעוּגָב:ה הַלְלוּהוּ בְצִלְצְלֵי שָׁמַע הַלְלוּהוּ בְּצִלְצְלֵי תְרוּעָה:ו כֹּל הַנְּשָׁמָה תְּהַלֵּל יָהּ הַלְלוּיָהּ:
נקרא  32  פעמים

ספירת העומר

לוח מודעות

למעלה