by amir david nissan cohen - technionkanza/dbseminar/2012/sowhowon.pdf · 2013. 2. 27. · by amir...

Post on 19-Mar-2021

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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)האוביקטים בקבוצה אחד עם השני

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

הדוגמא לא לוקחת בחשבון חלוקה לקבוצות

?שאלות

top related