Transcript הרצאה 8
1
( Unsupervised Learningלמידה בלתי מפוקחת)
מה נתון? ומה המטרה?
נתונים מספר דוגמאות עם אטריבוטים ,אבל ללא תגים
מטרה :רוצים למצוא מבנה נסתר בתוך הדוגמאות שיש לנו.
איך?
יש הרבה שיטות ,נלמד חלק...
דוגמה:
נתונים אטריבוטים של לקוחות בחברה .האם אפשר להגדיר
קטגוריות של לקוחות כדי לאפשר פרסום מתאים לכל קטגוריה?
2
דוגמאות של מבנה נסתר
דוגמה :1סט הנתונים מורכב מ 14דוגמאות בעלי שני אטריבוטים
האם יש מבנה בנתונים?
כמה ( clustersאשכולות) יש?
דוגמה :2האתגר של ( Google Maps Street Viewהוסבר בכיתה)
דוגמה :3סט הנתונים מורכב מ 13דוגמאות בעלי שני אטריבוטים
כמה ממדים יש בנתונים? כמה ממדים חייבים כדי לתאר את הנתונים?
3
אלגוריתם K-Means
אלגוריתם K-Meansהינו אלגוריתם פשוט ויעיל לביצוע ניתוח
אשכולות כאשר ידוע לנו מספר אשכולות רצוי
מה הוא ניתוח אשכולות הרצוי?
כל דוגמה מסט אימון תשתייך לאשכול אחד בלבד
לכל אשכול נגדיר נקודה מייצגת ,נקרא לה מרכז האשכול
היא יכולה להיות אחת מהדוגמאות ,או סתם נקודה
ממוצע המרחקים בין הדוגמאות למרכזי האשכולות יהיה קטן ככל
הניתן
קשה (במובן כמות החישוב הנדרש) לפתור את הבעיה באופן אופטימלי
K-Means נותן פתרון טוב (או אפילו אופטימלי) במקרים רבים
4
שלבי האלגוריתם K-Means
בוחרים Kמרכזים של אשכולות באופן רנדומלי
.1
5
דוגמה ()K=2
.2משייכים כל דוגמה לאשכול (כלומר ,מרכז) הקרוב ביותר (כגון לפי
מרחק אוקלידי)
.3מחשבים מרכז חדש עבור כל אשכול כממוצע של הדוגמאות:
6
.4חוזרים לשלב ( 2כלומר ,מבצעים שלבים 2-3פעמים רבות) ומשייכים
דוגמאות לאשכולות מחדש
.5האלגוריתם נעצר כשאין שינוי בשלב .2
עבור הדוגמה ,האלגוריתם מסתיים באופן הבא:
7
חסרונות של K-Means
ל K-Meansיש מספר חסרונות:
אנו צריכים לדעת מהו מספר האשכולות K
לפעמים אפשר להשתמש בחוק אצבע:
( nהינו מספר דוגמאות בסט אימון)
מידע נוסף על הבעיה:
http://en.wikipedia.org/wiki/Determining_the_number_of_clusters_in_a_data_set
לפעמים K-Meansנתקע בפתרון גרוע.
8
דוגמה:
למידת חוקי אסוציאציה
9
מה זה Association Rule Learning
המטרה של ARL ,Association Rule Learning/Mining
(למידת\כריית חוקי אסוציאציה) היא מציאת קשרים
(אסוציאציות) מעניינים בין פריטים שונים באוספים גדולים של
נתונים (כמו בסיסי נתונים או מחסני נתונים)
למשל :בנתונים של קניות ,הפרטים יהיו מוצרים שנקנו.
אפשר להסתכל על ARLכסוג של ,Unsupervised Learning
כי ב ARLאנו מגלים מבנה נסתר בנתונים :קשרים בין
אטריבוטים
10
יישומי ARL
בשל ההצלחה של יישומי ARLעבור בעיות עסקיות ,מכנים את
ARLבשם ( Market Basket Analysisניתוח סל קניות)
דוגמה MBA :יכול לגלות שאם לקוח קונה מחשב וחבילת אנטי וירוס,
אזי ב 70%מהמקרים הוא קונה גם חבילה של תוספת אחריות
קיימים גם יישומים בתחומים אחרים:
גילוי קשרים בין סימפטומים למחלות
גילוי קשרים בין גֶנים לתפקידם
אנחנו נתרכז ב Market Basket Analysis
11
הגדרה של Market Basket Analysis
הקלט של Market Basket Analysisהוא רשימה של
טרנסקציות (עסקאות) .דוגמה:
עבור מרכול ,נניח קודי מוצרים:
– 1 לחם – 2 ,חלב – 3 ,חמאה – 4 ,מים
קיימים נתונים עבור 6טרנסקציות:
מוצרים
12
מס' טרנסקציה
1, 2, 3, 4
1
2, 3, 4
2
2, 3
3
1, 2, 4
4
1, 2, 3, 4
5
2, 4
6
הגדרה של Market Basket Analysis
הפלט של Market Basket Analysisהוא רשימה של
אסוציאציות בצורת ]X⇒Y [S%, C%
אסוציאציה לדוגמה:
[{ ]30% ,70%תוספת אחריות} ⇒ {חבילת אנטי וירוס ,מחשב}
( Support – S% תמיכה) ,מספר (באחוזים) הטרנסקציות בהם כל
המוצרים באסוציאציה הופיעו ביחד
Supportהינה מדידה של חשיבות האסוציאציה
בדרך כלל קובעים תמיכה מינימלית ומוצאים רק אסוציאציות עם תמיכה לכל
הפחות כמו תמיכה מינימלית
( Confidence – C% ודאות) ,מספר הפעמים (באחוזים) שכאשר
המוצרים Xהופיעו בטרנסקציה ,גם מוצרים Yהופיעו באותה
טרנסקציה
13
Confidenceהינה מדידה של חוזק הקשר בין הפריטים באסוציאציה
שלבים בלמידת חוקי אסוציאציה
תהליך למידת חוקי אסוציאציה מורכב משני שלבים:
.1מציאת קבוצות מוצרים בעלות תמיכה ( )supportגבוה (≥
מהתמיכה המינימלית)
.2הפקת חוקי אסוציאציה בין המוצרים בקבוצות בעלות תמיכה גבוהה
השלב השני הוא פשוט ממבט אלגוריתמי (אכן זמן החישוב
עלול להיות ממושך)
האלגוריתם שנלמד עכשיו מבצע את השלב הראשון
14
אלגוריתם Apriori
אלגוריתם Aprioriמחשב קבוצות מוצרים בעלות תמיכה
גבוהה (≥ מהתמיכה המינימלית)
שלבים של האלגוריתם:
מחשבים תמיכה של כל מוצר בנפרד (כלומר ,תמיכה של קבוצות של
מוצר אחד)
.1
עבור הדוגמה שלנו:
מוצרים
15
מס' טרנסקציה
1, 2, 3, 4
1
2, 3, 4
2
2, 3
3
1, 2, 4
4
1, 2, 3, 4
5
2, 4
6
מס' טרנסקציות
(תמיכה ללא
אחוזים)
קבוצת מוצרים
3
1
6
2
4
3
5
4
אלגוריתם Apriori
.2מוחקים את כל קבוצות המוצרים בעלות תמיכה קטנה מהתמיכה
המינימלית
עבור הדוגמה שלנו ,נניח תמיכה מינימלית של ( 50%כלומר 3מתוך 6
טרנסקציות)
נבצע את השלב:
מס' טרנסקציות
(תמיכה ללא
אחוזים)
16
קבוצת מוצרים
מס' טרנסקציות
(תמיכה ללא
אחוזים)
קבוצת מוצרים
3
1
3
1
6
2
6
2
4
3
4
3
5
4
5
4
אלגוריתם Apriori
.3מחשבים קבוצות של שני מוצרים המבוססות על הקבוצות של מוצר
אחד שחישבנו ומוחקים אלו בעלות תמיכה נמוכה
מוצרים
1, 2, 3, 4
1
2, 3, 4
2
2, 3
3
מס' טרנסקציות
(תמיכה ללא
אחוזים)
קבוצת מוצרים
1, 2, 4
4
3
1, 2
1, 2, 3, 4
5
2
1, 3
2, 4
6
3
1, 4
4
2, 3
5
2, 4
3
3, 4
מס' טרנסקציות
(תמיכה ללא
אחוזים)
17
מס' טרנסקציה
קבוצת מוצרים
3
1
6
2
4
3
5
4
אלגוריתם Apriori
.4מחשבים קבוצות של שלושה מוצרים המבוססות על הקבוצות של
שני מוצרים שחישבנו ומוחקים את אלו בעלות תמיכה נמוכה
.5ממשיכים באופן זה עד שמגיעים למצב שאין קבוצות של הגודל
הנוכחי בעלות תמיכה מספיקה
עבור הדוגמה ,גודל האחרון של הקבוצות הוא :3
מס' טרנסקציה
מוצרים
1, 2, 3, 4
1
2, 3, 4
2
2, 3
3
1, 2, 4
4
1, 2, 3, 4
5
2, 4
6
מס' טרנסקציות
18
מס' טרנסקציות
(תמיכה ללא
אחוזים)
קבוצת מוצרים
3
1, 2
3
1, 4
4
2, 3
5
2, 4
3
3, 4
קבוצת מוצרים
3
1, 2, 4
3
2, 3, 4
למדנו:
אלגוריתם K-Meansעבור בעיית ניתוח אשכולות
אלגוריתם Aprioriעבור Association Rule
Learning
19