מה זה Machine Learning

Machine learning זוהי טכניקת ניתוח נתונים המלמדת את המחשבים לעשות מה שבא באופן טבעי לבני אדם – ללמוד מניסיון. אלגוריתמים של Machine learning משתמשים בשיטות חישוביות מתקדמות כדי “ללמוד” מידע ישירות מהנתונים ללא הסתמכות על משוואה קבועה מראש כמודל.

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

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

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

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

באיזה תחומים משתמשים ב-Machine learning

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

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

יותר נתונים, יותר שאלות – תשובות טובות יותר

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

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

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

אז איך זה עובד?

אלגוריתמים של Machine learning מסווגים לעתים קרובות לפי 2 קטגוריות: מפוקחים (supervised) ולא מפוקחים (unsupervised).

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

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

אלגוריתם unsupervised – הנקראים גם neural networks – משמשים למשימות עיבוד מורכבות יותר, כולל עיבוד תמונות, ניתוח דיבור-טקסט (speech-to-text) וניתוח שפה. אלגוריטמים neural networks פועלים על ידי סריקה של מיליוני דוגמאות של נתוני דגימה ומזהים באופן אוטומטי קשרים בין משתנים רבים. לאחר תהליך למידה זה, האלגוריתם יכול להשתמש באוסף של קשרים שיצר לעצמו כדי לתת תשובה לגבי נתונים חדשים. אלגוריתמים אלה הפכו להיות שימושיים בסביבות של ביג דאטה, היות והם דורשים כמויות עצומות של נתונים על מנת להריץ תהליך של למידה ליצירת אוסף מספיק גדול של קשרים ולאחר מכן יכולת ליישם את הידע הזה על נתונים חדשים.

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

עבור Supervised machine learning ישתמשו בטכניקות של קלסיפיקציה ורגרסיה בבנייה של המודל.מה זה Machine learning

טכניקות קלסיפיקציה (classification) מסווגות ומחלקות נתוני קלט לקטגוריות. לדוגמה, יישומים עבור זיהוי בכתב יד משתמשים בסיווג כדי לזהות אותיות ומספרים; בעיבוד תמונה, לזיהוי אובייקטים ופיצול תמונות; לבדיקה אם הדוא”ל הוא אמין או דואר זבל, או אם הגידול הוא סרטני או שפיר. יישומים אופייניים כוללים הדמיה רפואית, זיהוי דיבור, רמת האשראי. אלגוריטמים שמשתמשים בהם כאן יהיו: support vector machine (SVM), decision trees, k-nearest neighbor, Naïve Bayes, discriminant analysis, logistic regression, neural networks.

טכניקות רגרסיה (Regression) מנבאות תגובות מתמשכות – לדוגמה, שינויים בטמפרטורה או תנודות בצריכת חשמל. יישומים אופייניים כוללים חיזוי עומס חשמל ומסחר אלגוריתמי. בטכניקה זו משתמשים כאשר עובדים עם טווח נתונים או אם אופי התוצאה הוא מספר ריאלי, כגון טמפרטורה או זמן עד תקלה עבור פריט ציוד. האלגוריטמים שמשתמשים כאן יהיו: linear model, nonlinear model, regularization, stepwise regression, decision trees, neural networks, adaptive neuro-fuzzy learning.

עבור Unsupervised Learning ישתמשו בטכניקות Clustering (פילוח) לתחקור נתונים כדי להזות דפוסים לא גלויים או לאיתור קבוצות בנתונים. דוגמאות שכיחות לשימוש בטכניקה זו כוללות ניתוח רצף דנ”א, מחקרי שוק, זיהוי אובייקטים. לדוגמה, אם חברת הסלולר רוצה לייעל את איתור המיקומים שבהם הם מציבים אנטנות סלולריות, הם יכולים להשתמש ב- Machine learning כדי להעריך את מספר קבוצות המשתמשים בהסתמך על דאטה מהאנטנות. ברגע נתון, תקשורת בין מכשיר סלולר לבין אנטנה יכול להתקיים רק במיקום אחד, וכך צוות מחקר תשתמש בנתון זה כדי לאתר את המיקום הטוב ביותר של אנטנות כדי לשפר את איכות הקליטה לקבוצות הלקוחות שלהם.

האלגוריטמים שמשתמשים כאן יהיו: k-means and k-medoids, hierarchical clustering, Gaussian mixture models, hidden Markov models, self-organizing maps, fuzzy c-means clustering, subtractive clustering.

אז איך מחליטים באיזה מודל/אלגוריתם להתשמש?

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

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

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

מעוניינים ללמוד Machine Learning – לחצו כאן לפרטים

לימודי Machine Learning – למי זה מתאים?

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

ידע בפיתוח: ניתן לעבוד עם שפת פייתון, שפת R, מטלב (Matlab) או שפה אחרת, הבחירה בשפה כזו או אחרת היא החלטה אישית של איש מקצוע או בהתאם להחלטת הארגון. אבל ללא ידע בשפת תכנות לא ניתן להתקדם לבניית מודלים של Machine Learning  – שפת תכנות היא כלי עבודה מרכזי.

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

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

תאוריה, תאוריה, תאוריהלימודי Machine learning

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

  • תכנון ואיסוף נתונים. איסוף נתונים יכול להיות תהליך יקר ולקחת זמן רב. אילו סוגי נתונים צריך לאסוף? כמה נתונים צריך? האם אתגר זה אפשרי?
  • עיבוד נתונים. לאלגוריתמים שונים יש השערות שונות לגבי נתוני הקלט. כיצד להכין את הנתונים מראש? האם צריך לנרמל אותם? האם המודל חסין מפני חוסר בנתונים? מה לגבי חריגים?
  • פירוש תוצאות המודל. הרעיון הוא ש- Machine Learning זה מין “קופסה שחורה” לא נכון. כן, לא כל התוצאות ניתנות לפרשנות ישירה, אך על מדען הנתונים להיות מסוגל לבחון את המודלים כדי לשפר אותם. איך אפשר לדעת מראש האם המודל טוב או לא? כיצד ניתן להסביר את התוצאות שלו למנהלים? האם יש מקום לשיפור ומה המשמעות של שיפור?
  • שיפור וטיוב המודלים. זה מאוד נדיר בהרצה ראשונה של נתונים להגיע למודל טוב ומתאים, חייבים להבין את הניואנסים של פרמטרים שונים, טכניקות לטיוב מודל והתאמתו המושלמת לכל מקרה. איך אפשר לתקן את המודל? האם להשקיע יותר זמן בעבודה על תכונות מסוימות (feature-engineering) או באיסוף נתונים? האם ניתן וצריך לבנות מודל מאפס?
  • הבאת ערך עסקי. תהליכים של Machine Learning לא מנותקים מהמציאות העסקית. כל ארגון שמתבסס על דאטה בקבלת החלטות ירצה לאמץ טכניקות של Machine Learning. אבל האם מדען הנתונים באמת יודע מהם הכלים שעומדים לרשותו ויכול למקסם את יעילות והתרומה שלהם על הצד העסקי? אילו תוצאות חשובות ביותר לביצוע אופטימיזציה? האם יש אלגוריתמים אחרים שעובדים טוב יותר במקרה כזה או אחר? האם יש מצבים או בעיות עסקיות ש- Machine Learning הוא לא הפתרון הנכון?

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

המפתח להצלחה בלימוד Machine Learning

  • לשים לב לתמונה הגדולה ותמיד לשאול “למה?”.

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

  • זכרו שאתם לא תמיד זוכרים הכל.

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

  • להתקדם ולא להתייאש.

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

  • ליישם את הנלמד.

אתרו דרך ליישם את הנלמד, ולתרגל כמה שיותר. מצאו פרויקט מעניין והשתמשו ב-dataset שלו כדי לראות איך הכל עובד. תחרות בינלאומית בתחום Data Science – Kaggle – יכולה להיות פלטפורמה מעולה לרעיונות ולפרויקטים שגם אתם תוכלו לעשות. תרגול ממוקד יחדד את היכולות שלכם בתחום.

על הקורס Data Science של נאיה קולג’

אנחנו מציעים קורס Data Science אינטנסיבי וממוקד, המלווה ב-50% מהזמן בתרגול מעשי בכיתות המכללה. מעבר לתרגול במהלך השיעורים הסטודנטים משתתפים בפרויקטים אישיים או בפרויקטים של  Kaggle.

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

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

לפרטים נוספים צרו קשר ובהצלחה! מכללת הייטק – נאיה קולג’.