לרוב התוכנות ובסיסי הנתונים המשתמשים ב-SQL, ישנם גם כלי עריכה חזותיים המאפשרים ליצור משפטי SQL שלמים שלא בכתיבה רגילה, אלא במה שקרוי תכנות חזותי באמצעות גרירת והשלכת סמלים גרפיים ומילוי תיבות טקסט ותיבות משולבות. קיימים כלים ליצירת טבלאות ואינדקסים, הענקת הרשאות, יצירת אימותי ייחוסים בין טבלאות, ויצירת שאילתות אחזור ופעולה.
כך למשל לשם יצירת שאילתות אחזור, קיים ברוב בסיס הנתונים כלי נפוץ מאוד הנקרא QBE - Query By Example (=שאילתות לפי דוגמה). כלי זה מכיל טופס שבו אפשר לבחור טבלאות ועמודות מתיבות רשימות קיימות, וכן מאפשר גרירת סמלי אובייקטים והשלכתם על סמלי אובייקטים אחרים, כדי ליצור קשרים בין טבלאות (JOIN) או לבחור עמודות. מילוי של קריטריוני שליפה (WHERE) וסדר מיון של שאילתא (ORDER BY) ברשת טבלאית באמצעות תיבות טקסט ותיבות משולבות, וקביעת מאפייני שאילתה כלליים באמצעות טופס שמכיל תיבות טקסט. בכלי זה יש משוכללים יותר ופחות. המשוכללים יותר מראים ייצוג גרפי של פעולות ליד שם העמודה ברשימה, ואף מאפשרים לראות במקביל את שלושת המבטים של המחולל: המבט הגרפי, הטקסט של הפסוקית והתוצאה של השורות המאוחזרות.
שיטה זו מקלה על עבודת הפיתוח ומאפשר ליצור פסוקית SQL מורכבת בקלות יחסית, ויעילה במיוחד כאשר מדובר בשאילתות שגרתיות שחוזרות על עצמן. יתרונה של שיטה זו, כמו בכל תכנות חזותי: כתיבה מהירה וידידותית של פסוקית ה-SQL, הנגשה של השפה לחתך נוסף של אוכלוסייה, חוסר צורך בידיעת השפה על בוריה, הימנעות משגיאות תחביר.
בכלי זה התכנות החזותי והטקסטואלי מקיימים קשר הדדי, וכל שינוי בכלי אחד משתקף מיד בכלי האחר.
למידת מכונה
למידת מכונה (באנגלית: Machine Learning; לעיתים מכונה גם למידה חישובית) היא תת-תחום במדעי המחשב ובבינה מלאכותית המשיק לתחומי הסטטיסטיקה והאופטימיזציה. התחום עוסק בפיתוח אלגוריתמים המיועדים לאפשר למחשב ללמוד מתוך דוגמאות, ופועל במגוון משימות חישוביות בהן התכנות הקלאסי אינו אפשרי. אין לבלבל בין תחום זה, שבו המחשב הוא הלומד, ובין למידה ממוחשבת, שבה המחשב משמש כעזר למידה על ידי הרצת לומדה או בדרך אחרת.
שני תחומים מקבילים ללמידת מכונה הם תחום כריית מידע (Data Mining) ותחום זיהוי תבניות (Pattern Recognition) שרבים מן הכלים והאלגוריתמים שפותחו בו משותפים לתחומים הללו.
הגדרה.
ארתור סמואל הגדיר את למידת המכונה בשנת 1959 כ-"תחום מחקר המאפשר למחשבים את היכולת ללמוד מבלי להיות מתוכנתים באופן ספציפי".
טום מ. מיטשל סיפק הגדרה פורמלית יותר: "תוכנית מחשב תיקרא לומדת מניסיון E ביחס למחלקת משימות T ומדד ביצועים P, אם הביצועים של משימות ב-T, בהתאם למדד P, משתפרים עם הניסיון E".
מטרות ושימושים.
המטרה המרכזית של למידת המכונה היא טיפול ממוחשב בנתונים מן העולם האמיתי עבור בעיה מסוימת, כאשר לא ניתן לכתוב תוכנת מחשב עבורה למשל, בעיית זיהוי שמומחה אנושי מסוגל לפתור, אך לא מסוגל לכתוב את הכללים לזיהוי בצורה מפורשת, או שהם משתנים עם הזמן ולא ניתנים לכתיבה מראש.
מטרת הלמידה יכולה להיות מידול, חיזוי או גילוי (דטקציה) של עובדות לגבי העולם האמיתי. לדוגמה: עבור זיהוי תווים אופטי ניתן להשתמש בלמידת מכונה כדי לגלות מהי האות הכתובה או המודפסת. מערכות זיהוי דיבור יכולות גם הן להשתמש בלמידת מכונה כדי ללמוד, בהינתן אותות קוליים כלשהם, מהי ההברה שיצרה אותם. דוגמה נוספת היא מערכות המלצה, מערכות המבוססות על נתונים המצביעים על קשר בין קבוצת משתמשים/אנשים אקראית לבין קבוצת פריטים שונים, ויודעת למשל להציע פריטים משלימים ללקוחות, בהתבסס על ניתוח נתונים שנלמדו מהעבר מקבוצת אנשים אחרת, שחיפשה פריטים בעלי מאפיינים דומים.
תאוריה.
מספר גישות התפתחו עם השנים בתחום התאורטי של למידת מכונה. ההבדלים ביניהן מבוססים על ההנחות השונות לגבי עקרונות ההיסק המשמשים להכללה מתוך מידע מוגבל. הבדלים אילו מבוססים על הגדרות שונות להסתברות (גישה בייסיאנית לעומת גישה קלאסית) והנחות על הדרך בה נוצר המידע (דיסקרמינטיבי לעומת גנרטיבי).
הגישות השונות כוללות את:
בעקבות הגישות התאורטיות צמחו מספר אלגוריתמים מעשיים. למשל, תאוריית PAC עוררה השראה לאלגורתמי Boosting, תאוריית VC הובילה לאלגוריתם מכונת וקטורים תומכים (SVM) והסקה בייסיאנית הובילה לאלגוריתמי רשתות בייסיאניות.
ניתן לזהות שלוש גישות שונות לפתרון בעיות החלטה:
סוגי למידה.
נהוג לחלק את אלגוריתמי למידת המכונה למספר סוגים:
אלגוריתמים נפוצים.
למידת מכונה כוללת אוסף ידוע של כמה עשרות אלגוריתמים. ניתן לסווג אלגוריתמים אילו על פי מספר תבחינים.
עצלנים (Lazy) מול חרוצים (Eager).
אלגוריתם עצלן לא מבצע חישוב עד שלא מתבקש לענות על שאלה. כאשר נשאלת שאלה האלגוריתם אוסף נתונים רלוונטיים, מבצע חישוב ונותן תשובה. דוגמה לאלגוריתם עצל הוא אלגוריתם שכן קרוב.
למולם האלגוריתמים החרוצים משתמשים בנתוני הלימוד על מנת לבנות מודל מתמטי אשר מהווה בסיס לפתרון הבעיה. כאשר האלגוריתם מתבקש לענות על שאלה הוא משתמש בנתוני השאלה על מנת לפתור את המודל. דוגמה לאלגוריתם חרוץ הוא אלגוריתם של אשכולות (Clusterization).
מקומי (Local) מול גלובלי (Global).
אלגוריתם מקומי הוא אלגוריתם שמחשב פתרון שתקף רק לסביבה שבה נשאלה השאלה. דוגמה לכך היא רגרסיה מקומית עם משקלות. אלגוריתם זה מחשב קו (או משטח) רגרסיה בהתאם לנקודות בסביבה נתונה. כל נקודה בתהליך הרגרסיה מקבלת משקל הפוך למרחקה מהמקום שבו מחושב המודל.
אלגוריתם גלובלי לעומתו מחשב מודל שאמור להיות תקף בכל מרחב הנתונים הרלוונטי.
להלן מספר אלגוריתמים ידועים:
היסטוריה.
התפתחות למידת המכונה הוא חלק אינטגרלי מהתפתחות תחום הבינה המלאכותית. בתחילת הדרך עיקר המאמץ היה לחקות את התנהגות המוח האנושי. מודל הפרספטרון הומצא בשנת 1957 ויצר תקווה רבה בתחום בשנות ה-60. מגבלותיו של המודל לייצג פונקציות מורכבות הועלו על ידי , דבר שהשפיע על חוקרים רבים באותה תקופה לעצור מלפתח את המודל במהלך השנים הבאות.
במהלך שנות ה-70 של המאה ה-20 תחום למידת המכונה נכנס לסוג של תרדמת כאשר מערכות מומחה היוו את מוקד העניין בתחום הבינה המלאכותית. באמצע שנות השמונים החלה תקומה חוזרת בתחום כאשר הומצאו עצי ההחלטה והופצו בתוכנה, ויתרונם היה ביכולת להציגם ובקלות הסברתם. בנוסף הם היו מגוונים ונתנו מענה למספר רב של בעיות. גם המודלים של רשתות נוירונים החלו להתפתח מחדש, כשתהליך ההתפשטות לאחור (back-propagation) היווה פריצת דרך בתחום. רשתות הנוירונים עם השכבות הנסתרות יכלו עתה להביע פונקציות רבות ואפשרו להתגבר על מגבלותיו של הפרספטרון. גם עצי ההחלטה וגם רשתות הנוירונים שימשו עתה באפליקציות פיננסיות כגון אישור הלוואות, זיהוי תרמיות וניהול תיקים, ובתעשייה הם שיפרו תהליכים רבים למשל בתחום האוטומציה בדואר.
בשנות התשעים עם כניסת האינטרנט ותחילתו של עידן התפוצצות המידע החלה התקדמות רבה בתחום למידת המכונה. בשנת 1995 פורסם לראשונה אלגוריתם מכונת וקטורים תומכים (SVM), ואומץ כאלגוריתם מוביל. תוכנות קוד פתוח שנכתבו לאלגוריתם הפכו אותו פופולרי לשימוש.
בשנים האחרונות חלו התפתחויות נוספות בתחום, רגרסיה לוגיסטית התגלתה מחדש ועוצבה לתת מענה לבעיות עם טווח רחב יותר. אלגוריתמים כמו "נאיב בייס", רשתות בייסיאניות, ומקסימום אנטרופיה הביאו לתוצאות מצוינות במגוון בעיות. בעקבותיהם פותחו אלגוריתמים משולבים, המשתמשים באנסמבל של מסווגים כגון אלגוריתם אדה בוסט, ויערות אקראיים, שגם הם הביאו לשיפור ניכר בתוצאות.
תת תחום נוסף שהפך פופולרי מהעשור הראשון של המאה ה-21 הוא תחום הלמידה העמוקה (Deep Learning),שמתבסס על רשתות נוירונים בעלות מספר רב של שכבות. השימוש הפופולרי במושג "deep belief nets" ובקיצור רשתות עמוקות נטבע במאמר המשפיע מ-2006 של הינטון, אוסינדרו וטה.
מגמות מתפתחות.
מגמה המתפתחת בתחום למידת המכונה, היא הסביבה בה פועלות מכונות אלו. כאשר המונח "סביבה" מתייחס לארכיטקטורת המחשוב בה מתבצעת למידת המכונה. בעוד, בעבר למידת מכונה קלאסית, יוחסה לתוכנית בודדת הרצה בסביבת מחשב בודד, הרי שכיום, הארכיטקטורה מתרחבת לכדי רשתות מחשבים לומדות, תוך שימוש בעשרות אלפי מחשבים וניצול כוחם של עשרות אלפי מעבדים המשובצים בהם.
המונח "סביבה" מתייחס לא רק לארכיטקטורה, אלא גם למקורות איסוף הנתונים, שנע החל מקבוצת אנשים אקראית, דרך מנתח נתונים (דאטא-אנליסט), מקבל החלטה לו יש סוג מסוים של (סט) דרישות ממערכת לומדת זאת ועד למסגרת חברתית, פוליטית, חוקית, הסובבת סביב פריסת המערכת. מערכת לומדת, יכולה לכלול בסביבה שלה גם תתי מערכות לומדות המתקשרות עמה באמצעות רשת תקשורת ותוכנה ייעודית.
קישורים חיצוניים.
דוגמאות ללמידת מכונה בישראל:
הערות שוליים.
[[קטגוריה:למידת מכונה|*]]
בעשא
בַּעְשָׁא בֶן אֲחִיָּה, הוא דמות מקראית משבט יששכר, המלך השלישי על ממלכת ישראל. לפי הכרונולוגיה המסורתית מלך בשנים 906 עד 883 לפנה"ס.
במהלך המצור ששם נדב, מלך ישראל, על העיר הפלשתית גבתון, הרג אותו בעשא, שככל הנראה היה שר הצבא, אם כי הדבר לא נאמר מפורשות במקרא:
בעשא מלך ישראל ותחילת מלחמת ארם-ישראל.
המקרא לא מרבה לספר על בעשא, אך מתברר שיש לזקוף לזכותו, בין השאר, את הקמת חיל הרכב בצבא ממלכת ישראל, שכן בימי יורשו שומעים לראשונה על תואר קצין גבוה בחיל הרכב: "וַיִּקְשֹׁר עָלָיו עַבְדּוֹ זִמְרִי שַׂר מַחֲצִית הָרָכֶב" (). מתברר גם שחיל זה סייע לבעשא להצליח במלחמתו נגד ממלכת יהודה.
בשנת 886 בערך תקף בעשא את ממלכת יהודה: