כיצד ליישם אלגוריתם Find-S בלימוד מכונה?



מאמר זה עוסק במושג אלגוריתם find-s בלימוד מכונה. היא סובבת סביב טרמינולוגיות השערה שונות המשתמשות במקרה שימוש כדוגמה.

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

מהו אלגוריתם Find-S בלמידת מכונה?

על מנת להבין את אלגוריתם Find-S, עליך לקבל מושג בסיסי גם על המושגים הבאים:





  1. למידת קונספט
  2. השערה כללית
  3. השערה ספציפית

1. למידת מושג

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



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

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

  • נתוני הדרכה
  • קונספט יעד
  • אובייקטים נתונים בפועל

2. השערה כללית



כיצד לסיים תוכנית בג'אווה

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

G = {'?', '?', '?', ... .. '?'}

3. השערה ספציפית

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

S = {'& Phi', '& Phi', '& Phi', ……, '& Phi'}

בינארי לעשרוני בג'אווה

עכשיו, בואו נדבר על האלגוריתם Find-S בלימוד מכונה.

אלגוריתם Find-S מבצע את השלבים שנכתבו להלן:

  1. אתחל את 'h' להשערה הספציפית ביותר.
  2. אלגוריתם Find-S שוקל רק את הדוגמאות החיוביות ומסלק דוגמאות שליליות. עבור כל דוגמה חיובית, האלגוריתם בודק כל מאפיין בדוגמה. אם ערך התכונה זהה לערך ההשערה, האלגוריתם עובר ללא כל שינוי. אך אם ערך התכונה שונה מערך ההשערה, האלגוריתם משנה אותו ל '?'.

כעת, לאחר שסיימנו עם ההסבר הבסיסי של אלגוריתם Find-S, הבה נבחן כיצד הוא עובד.

איך זה עובד?

אלגוריתם תרשימי זרימה של למידת מכונה - edureka

  1. התהליך מתחיל באתחול 'h' עם ההשערה הספציפית ביותר, באופן כללי, זהו הדוגמה החיובית הראשונה במערך הנתונים.
  2. אנו בודקים כל דוגמה חיובית. אם הדוגמא היא שלילית, נעבור לדוגמא הבאה אך אם היא דוגמה חיובית נשקול אותה לשלב הבא.
  3. נבדוק אם כל תכונה בדוגמה שווה לערך ההשערה.
  4. אם הערך תואם, לא יבוצעו שינויים.
  5. אם הערך אינו תואם, הערך משתנה ל '?'.
  6. אנו עושים זאת עד שנגיע לדוגמא החיובית האחרונה במערך הנתונים.

מגבלות האלגוריתם Find-S

יש כמה מגבלות של אלגוריתם Find-S המופיע למטה:

  1. אין שום דרך לקבוע אם ההשערה עקבית בכל הנתונים.
  2. מערכי אימון לא עקביים יכולים למעשה להטעות את אלגוריתם Find-S, מכיוון שהוא מתעלם מהדוגמאות השליליות.
  3. אלגוריתם Find-S אינו מספק טכניקת מעקב אחורה לקביעת השינויים הטובים ביותר שניתן לעשות בכדי לשפר את ההשערה שהתקבלה.

כעת, כשאנו מודעים למגבלות האלגוריתם Find-S, הבה נבחן יישום מעשי של האלגוריתם Find-S.

יישום אלגוריתם Find-S

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

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

זְמַן מזג אוויר טֶמפֶּרָטוּרָה חֶברָה לחות רוּחַ הולך
בוקרשִׁמשִׁינעיםכןמָתוּןחָזָקכן
עֶרֶבגָשׁוּםקַרלאמָתוּןנוֹרמָלִילא
בוקרשִׁמשִׁילְמַתֵןכןנוֹרמָלִינוֹרמָלִיכן
עֶרֶבשִׁמשִׁיקַרכןגָבוֹהַחָזָקכן

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

אז עכשיו, ההשערה הכללית היא:

ח0= {'בוקר', 'סאני', 'חם', 'כן', 'מתון', 'חזק'}

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

חאחד= {'בוקר', 'סאני', '?', 'כן', '?', '?'}

ח2= {'?', 'סאני', '?', 'כן', '?', '?'}

החלפנו את כל הערכים השונים בהשערה הכללית כדי לקבל השערה כתוצאה. כעת, כשאנו יודעים כיצד פועל אלגוריתם Find-S, הבה נבחן יישום באמצעות פִּיתוֹן .

שימוש במקרה

בואו ננסה ליישם את הדוגמה לעיל באמצעות . הקוד להטמעת אלגוריתם Find-S באמצעות הנתונים לעיל ניתן להלן.

ייבא פנדות כ- pd ייבוא ​​מטומטם כ np # לקריאת הנתונים בקובץ csv נתונים = pd.read_csv ('data.csv') הדפס (נתונים, 'n') # יצירת מערך של כל התכונות d = np.array (נתונים) [:,: - 1] הדפס ('n התכונות הן:', ד) #segragating היעד שיש לו דוגמאות חיוביות ושליליות target = np.array (data) [:, - 1] print ('n היעד הוא: ', target) פונקציית אימון # ליישום הרכבת def-algoritme (c, t): עבור i, val בספירה (t): if val ==' כן ': ספציפית_השערה = c [i]. העתק () הפסקה עבור i, val בספירה (c): אם t [i] == 'כן': עבור x בטווח (len (השערה ספציפית)): אם val [x]! = השערה ספציפית [x]: השערה ספציפית [ x] = '?' אחר: העבירו תשואה ספציפית_השערה # השגת הדפסת השערה סופית ('n ההשערה הסופית היא:', רכבת (ד, מטרה))

תְפוּקָה:

הגדרת מסלול ג'אווה ב- Linux

זה מביא אותנו לסוף מאמר זה בו למדנו את האלגוריתם Find-S ב- Machלמידה ine עם יישומה ומקרה השימוש. אני מקווה שברור לך עם כל מה ששותף איתך במדריך זה.

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

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

אם אתה נתקל בשאלות כלשהן, אל תהסס לשאול את כל השאלות שלך בקטע ההערות של 'Find-S Algorithm In Machine Learning' והצוות שלנו ישמח לענות.