by amir david nissan cohen - technionkanza/dbseminar/2012/sowhowon.pdf · 2013. 2. 27. · by amir...
TRANSCRIPT
By Amir David Nissan Cohen (but you can write Amir Cohen in the review draft )
?מי נראית טוב יותר
?איפה אפשר לקנות מדפסת
?איזה סרט מפחיד יותר
?איך עונים על שאלות כאלו בקוד
Crowdsourcing הפנייה של ביצוע הוא ( (Crowdsourcing המוניםמיקור
אשר לרוב היו מתבצעות בידי עובדי חברה או , משימותמשימה או "(המונים)"לביצוע על ידי קהל גדול , עובדים מטעמה
Crowdsourcing VS Computing
:יתרונות
(כרגע לפחות)יש פעולות שבני אדם מבצעים טוב יותר ממחשב..
קלות הפיתוח וגמישות
הבעיה לא חייבת להיות מוגדרת פורמלית
Crowdsourcing VS Computing
:חסרונות
Latency גבוהה
טעויות אנוש
ג "דורש גישה לכמות גדולה של אנשים בכדי לעבד מדי נתונים בסד רציני
...אבל זה נושא גדול מאוד :השאלות שנעסוק בהן
,בהינתן קבוצת איברים וקבוצת הצבעות בניהן
?מי האיבר המקסימלי1.
.אילו עוד השוואת יגדילו את הדיוק שלנו בכמות הגבוהה ביותר2.
הנחות יסוד אותה אנו רוצים להשוות" תכונה"לכל אוביקט יש
מה שאומרים להם"ברשותינו עובדים בשכר שעושים"
כל עובד יודע להשוות בין שני אוביקטים בכל רגע נתון
כל עובד צודק בהסתברותP ( >0.5)
כדי להחזיר תשובה" זמן ארוך"לעבוד לוקח
Structured Algorithms בכל שלב אנחנו משווים בין שני אוביקטים
עולה שלב"האוביקט המנצח"
נפוץ בתחרויות ספורט
Chuck Norris
Rephael Kill Bill Kong Fu Panda
Karate Kid
Jackie Chan
Bruce Lee
Tommy
אבל זה לא מתאים לנו
?למה
זמן החזרה ארוך מאוד
אנחנו עלולים להתקע , במידה ולא חוזרים אלינו עם תוצאה (להריץ מחדש שאלה ששלחנו בסיבוב הקודם)
עקב שני הבולטים הקודמים אנחנו עלולים לסיים עם מבנהunstructured בכל מקרה...
Judgment Problem :קצת פורמליזם
יהי סטO שלn אוביקטים מהצורה
של" תכונה"המיצג את גודל ה
תהיא פרומטציה מהאיבר ה למקומו ביחס לשאר האיברים (הוא השני בגודלו במערך אז iאם האיבר ה)
למשל אם )תהיא פרמוטציה מדרוג האיבר אל האיבר עצמו (אם האיבר הוא השני בגודלו במערך אז
1 2, ,..., no o o
i io c io
io
2i 1
1 2 io io
הצבעותבכל שלב כל עובד צריך לבחור בין שני אוביקטים
כל עובד צודק באותה הסתברותP
בהנתן –( בעיית השיפוט)מטרתינו בחייםW מצא את , הצבעות
,i jo o
1 * 1
Wיצוג ניצג אתW שבה האיבר ה מציין את מספר , כמטריצה
iעל פני אוביקט jההצבעות שבהם העובד בחר באוביקט
והאיבר ה , המטריצה אינה סמטרית
דרך נוספת היא ליצג באמצעות גרף שבו המשקל של הקשת iנבחר על פני האיבר ה jהיא כמות ההצבעות שבהן האיבר ה
,i jW
, 0i iW
,i j
דרכים ליצג הצבעות
1
2
2
1
1
3
A B
C
D
0 2 0 0
0 0 2 3
0 1 0 1
0 0 1 0
W
Maximum Likelihood ביותר שהוא המקסימלי" סביר"נחשב את האיבר ש.
איזו פרמוטציה , כלומר. ראשית נחשב בצורה ישירה Wבהנתן מטריצת הצבעות " סבירה"הכי
אבל איך עושים את זה?!
|dP W
קסמים של הסתברות
. לב שההסתברות לכל פרמוטציה היא זההנשים
| ||
|
d d d d
d
j j
j
P W P P W PP W
P WP W P
1
,!
Pn
איך מחשבים את לכל זוג אוביקטים נחשב
וכעת כל שנותר לנו הוא לחשב
, 1 ,ijji
d
wij ji w
d d
ij
w wf i j p p i j
w
,
| ,dd
i j i j
P W f i j
והשלב האחרון כעת כל שנותר לנו הוא לסכום לכל איבר את כלל ההסתברויות
לפרמוטציות המקיימות
כמובן שצריך להתחשב בהסתברות לקבל את המטריצהW ולכן :נקבל
1, 1
|
i j
i
i o
P W
1, 11
|
|
|
i j
i
i o
l
l
P W
P k j W
P W
!הכל טוב, סוף טוב מצאנו שיטה שמנבאת מה הסבירות הגבוהה מה הוא האיבר
המקסימלי
לא נכנס לפרטי ההוכחה)זוהי השיטה האופטימלית
האומנם?
לא הכל מושלם בעולם מסתבר שזו בעיהNPC
לא נדון ברדוקציה במהלך ההרצאה..
מה עושים?!
!יש יוריסטיקה, אל דאגה
Indegree כל התורה על רגל אחת :
הסתברות שאוביקט גדול "נמיר את כל המשקלים על הקשתות ב "מאוביקט
נסכום את כל הקשתות הנכנסות לצומת מסוים.
נבחר את הצומת בעלת הערך המקסימלי
iojo
עוד הסתברותראשית
ההסתברות לכל פרמוטציה שווה ולכן
עוד קצת הסתברות ונקבל
וזו כבר התפלגות בינומית ..
, || ,
,
ij ji
ij ji
ij ji
P w w i jP i j w w
P w w
| , , |
| , , |
ij ji ij ji
ij ji ij ji
P i j w w P w w i j
P i j w w P w w i j
, || ,
, | , |
ij ji
ij ji
ij ji ij ji
P w w i jP i j w w
P w w i j P w w i j
2
2
1
1
1
3
A B
C
D
lAB= 0.599
lBA= 0.401
lBC= 0.55
lCB= 0.45
lBD= 0.646
lDB= 0.354
Local
אבל היא מתיחסת רק ליחסים בין , השיטה הקודמת קלה לחישובשל " מיקום"ולא נותנת משקל לחישוב ה, צמתים שכנים בגרף
צומת בגרף
נחשוב על שיטה חדשה שתתן יתרון לאוביקטים שנצחו אוביקטים .יותר ולהפך" חזקים"
האלגוריתםנגדיר
כעת נחשב לכל צומת
הצומת נוסיף" חשיבות"אבל בכדי להוסיף מדד ל
כל שנותר הוא לסדר את הצמתים לפי משקלם
,ij ij
j i
wins i w losses i w
i wins i losses i
, ,ji ij ji ij
i
j w w j w w
wins i losses i wins i losses j
!אנו לא צריכיםלדעת את אמינות העובד –בונוס
דוגמת הרצה
1
2
2
1
1
3
A B
C
D
Go Global! הקרוב הראשון מתחשב רק בצמתים השכנות בגרף
הקרוב השני מתחשב גם בצמתים מדרגה שניה
עד הסוף"למה לא ללכת?"
Page Rank
נגדיר
ונריץ מספר רב של איטרציות
מה עםSCC?
1
ij
j
ji
t t
j
d i w
wpr i pr j
d j
(כל הקשתות היוצאות מ הצומת)
A B C
1
32
3
1
3
1
3
1
3
1
3
2
30 0
Page Rank נחשבPeriod
Period את " בחזרה"הנו משך הזמן שלוקח לכל אוביקט לקבל הערך שלו
נסכום את Period 10%עד )הערכים האחרונים בריצה ונחשב ממוצע( האיטרציות האחרונות
כעת שנותר הוא לחשב את האיבר המקסימלי
Iterative
וככה " חלשים"אפשר לזרוק מוקדם אוביקטים : אינטואיציהמזכיר קצת )יותר " חזקים"לנתח בצורה טובה יותר אוביקטים
(structuredאת מבנה ה
האלגוריתם:
אתחל קבוצה של כל האוביקטים1.
דרג את כל האוביקטים עם פונקצית ניקוד כלשהיא2.
ביותר"חלשים"הורד את האיברים ה3.
עד שישאר איבר בודד 3עבור לשלב 4.
יתרונות משקיעה את רוב זמן החישוב באוביקטים שיש להם סיכוי רב
יותר להיות מקסימליים
נקבל ( למשל חצי)במידה נוריד אחוז קבוע מהאיברים בכל שלב סיבוכיות לוגרתמית
ניתן להשתמש בכלscoring function שנחפוץ בה
( במאמר השתמשו ב אבל אפשר להשתמש (בכל שיטה שהראנו
dif i wins i losses i
ניסויים
?איך עושים אותם –ניסויים
הגרל פרומוטציה1.
Wאתחל מערך הצבעות 2.
טאפלים vבחר באקראי 3.
במקום ה אחרת 1הוסף Pבהנחה ש בהסתברות 4. במקום ה 1הוסף
!ריצות 5000כל נקודה בגרפים הנה תוצאה של 5.
, ,i j i j
ijw
i j jiW
1ניסוי P at 1 – אחוז הדיוק
Edge Coverage – מספר ההצבעות
(?למה)חמישה אוביקטים
0.75דיוק עובד של=P
1,0 10
2
n nx x
ML היא השיטה המדויקת ביותר
Iteration היא הקרוב הטוב ביותר במספר קטן של אוביקטים
2ניסוי 100 אוביקטים
(0.55, 0.75, 0.95)דיוק עובד משתנה
גם , שיטת האיטרציות מתכנסת במהירות לאוביקט המקסימלי .כאשר מספר ההצבעות נמוך יחסית
3ניסוי 100 אוביקטים
הצבעות
אמינות עובדים משתנה
גם כאןIteration היא הקרוב הטוב ביותר
אפשר ליחס זאת ליכולת שלIteration "אוביקטים לא " להזניח רלוונטים
1
2
n n
4ניסוי 100 אוביקטים
0.95אמינות עובד ממוצעת
מספר מועט של הצבעות
PR מוכיחה את עצמהכשיטה טובה למספר
מועט של הצבעות +ואמינות עובד ממוצעת
The Next Vote Problem למי להצביע???
The Next Vote Problem
בהנתן מטריצת בחירהW , ומספרb בחרb הצבעות נוספות והחזר את
(החזרת )בחצי מהבעיה טיפלנו כבר
כעת נותר לנו לבחור אתb ההצבעות הבאות.
או כולם ביחד 1אחרי 1בחירת ההצבעות
1 1
1 1
Maximum Likelihood
נגדירQ למשל, להיות סט של הצבעות
נגדיר אתa למשל, להיות סט הבחירות
ונגדיר את הפונקציהA המקבלת סטQ ומחזירה את כל סטח כלומר , ההצבעות האפשריים
נגדיר את להיות מטריצת ההצבעות החדשה לאחר שהוספנו ההצבעות aאת
, , ,i j m ko o o o
, , , , ,i j j m k mo o o o o o
a A Q
a W
Maximum Likelihood
בנוסף נגדיר את ההסתברות לקבל איבר מקסימלי:
ואת אנו יודעים כבר לחשב מבעיית השיפוט
1
1
max
max 1 ,max 1 | i
i
P i a WP a W P i a W
P a W
1max 1 ,i
P i a W
Maximum Likelihood נחפש את ההצבעות שימקסימו את ההסתברות של : אינטואיציה
האיבר המקסימלי
לכל סטQ נחשב
מספיק , אבל מכיוון שההסתברות לכל מטריצת הצבעות זהה לחשב
1
max
1| max 1 ,i
a A Q a A Q
P a W P a W P i a WP W
1max 1 ,i
a A Q
P i a W
כאן אין הפתעות אם בבעית השיפוטML היתהNPC ,כמובן שגם כאן היא תהיה..
גם כאן אנו חייבים לדעת את ההסתברות לטעות
נחפש קרובים נוספים
Next Voteהאלגוריתם הכללי לבעיית
ומספר Wמטריצת הצבעות ()scoring function s(),fתהיא
bהצבעות נוספות
Qאתחל סט הצבעות ריק 1.
את כל האוביקטים הקיימים ()sמיין לפי2.
הצבעות לפי אלגוריתם הבחירת הצבעות bבחר 3.
Wעדכן את 4.
()fחשב את האיבר המקסימלי לפי 5.
?()sיכולה להיות שווה ל ()fהאם
Paired Vote השיטה הנאיבית
נשווה בין כל שני זוגות של אוביקטים
טוב במצבים בהם יש הרבה אוביקטים עם סבירות דומה
לא טוב בשום מצב אחר ...
2 2 1,k ko o
דוגמת הרצה
o1 o2 o3 o4 o5 o6
(o1, o2)
(o3, o4)
(o5, o6)
b = 3
Max Vote השווה כל אוביקט עם האוביקט הראשון
שאנחנו רוצים לאשר את היותו המקסימום 1טוב שיש אוביקט
כ ברוב המקרים"גם לא מוצלחת כ..
דוגמת הרצה
o1 o2 o3 o4 o5 o6
(o1, o2)
(o1, o3)
(o1, o4)
b = 3
Greedy Selection
scoring functionחשב לכל אוביקט ניקוד לפי 1.
(הנה פונקצית הניקוד s)לכל טאפל חשב 2.
ההצבעות הראשונות בעלות הערך הגבוהה ביותר bבחר את 3.
,i jo o i js o s o
דוגמת הרצה
o1 o2 o3 o4 o5 o6
S(o1) . S(o2) = 30
S(o1) . S(o3) = 24
S(o2) . S(o3) = 20
S(o4) . S(o1) = 18
S(o4) . S(o2) = 15
S(o4) . S(o3) = 12
.
.
.
1 6s o 2 5s o 3 4s o 4 3s o 5 2s o 6 1s o
Complete Round Robin דרג את כל האוביקטים לפיscoring function
בחר אתk האוביקטים הראשונים כאשרk מקיים
(?מאיפה המספר הזה מגיע)
השווה בין כלk האיברים
את האיברים הנותרים חשב באמצעות האלגוריתם
החמדן
1
2
k kb
1
2
k kb
דוגמת הרצהb = 4
k = 3
o1 o2 o3 o4 o5 o6
S(o1) . S(o2) = 30
S(o1) . S(o3) = 24
S(o2) . S(o3) = 20
S(o4) . S(o1) = 18
?מי האלגוריתם המובילנערוך שוב מספר ניסויים
1ניסוי בחירה הצבעה נוספת בודדת
דיוק באיבר הראשון אל מול
מספר ההצבעות ההתחלתי
בכל הניסויים נשתמש בPR
כאלגוריתם הניקוד הדיפולטי
ML-PR אינה הרבה יותר מוצלחת מהשיטות האחרות
ML-ML היא השיטה המובילה
2ניסוי 100 אוביקטים
0.95דיוק עובד
200 הצבעות התחלתיות
דיוק באיבר הראשון ביחס
למספר ההצבעות הנוספות
Greedy and RR מראים ביצועים טובים יותר משמעותית
3ניסוי 100 אוביקטים
0.95דיוק עובד
200 הצבעות התחלתיות
דיוק באיבר הראשוןתוספת
ביחס למספר ההצבעות הנוספות
ככול שמוסיפים הצבעות רבות יותר התועלת מכל המצבעה נוספת קטן
4ניסוי 100 הצבעות התחלתיות 100, אוביקטים
הדיוק גדל , ככל שאמינות העובדים עולה
הצבעות נוספות 15 הצבעות נוספות 5
5ניסוי 100 הצבעות התחלתיות 100, אוביקטים
לעובד 0.75דיוק של לעובד 0.95דיוק של
גדל (gain)השינוי בדיוק , ככל שאמינות העובדים עולה
אתגר נוסף ספרים עם עטיפה, למשל)תתי סוגים של אוביקטים Kמה אם יש לנו
?ואנינו יכולים להשוות בין כולם( וכו e-books, עטיפה רכה, קשה
החוקים
יש לנוk תתי קבוצות
אסור להשוות איברים בין תת קבוצה אחת לאחרת
לכל קבוצה" מנהיג"נקבל
ללא השוואה קודמת בניהם" המנהיגים"עלינו לבחור מבין כל!
6ניסוי
סוגים 10
סוגים 5 1סוג
סוגים 20
6ניסוי
הערך של כל הצבעה נוספת גדל ככל שמספר הקבוצות עולה
קל לראות ששיטת הRR נותנת את התוצאות הטובות ביותר ללא קשר למספר הקבוצות
נבדוק את מספר האיברים האידאלי לשתף בRR
(ואחרון) 7ניסוי 10 הצבעות נוספות
אוביקטים 5,10,20קבוצות בגודל של
מסקנה
האלגוריתם מגיע ליעילות מקסימלית כאשר משווים את כל (RR)האוביקטים בקבוצה אחד עם השני
עדיף להשוות כל אוביקט יותר פעמים מאשר להכניס יותר אוביקטים
הדוגמא לא לוקחת בחשבון חלוקה לקבוצות
?שאלות