מרחק מינקובסקי: מדריך מקיף

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

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

מה היא מרחק מינקובסקי?

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

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

הפורמלה הכללית למרחק המינקובסקי היא:

  • x ו y הם שתי נקודות במרחב n-מימדי

  • p הוא ערך שקובע את סוג המרחק (p ≥ 1)

  • |xi - yi| מייצגת את ההבדל המוחלט בין התאוריות של x ו y בכל המימדים

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

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

איך מרחק מינקובסקי עובד

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

הכללה של מדדי מרחק אחרים

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

מרחק מנחטן (p = 1):

כאשר p מוגדר ל-1, מרחק מינקובסקי הופך למרחק מנחטן.

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

מרחק אוקלידי (p = 2):

כאשר p מוגדר ל-2, מרחק מינקובסקי הופך למרחק אוקלידי.

מרחק העוקלין

מדד המרחק הכי נפוץ, המייצג את המרחק הקו ישר בין שני נקודות.

מרחק צ 'בישביב (p → ∞):

  • נקודת A: (2, 3)
  • נקודת B: (5, 7)

אנחנו נחשב את המרחק המינקובסקי בין הנקודות הללו עבור מספרים שונים של p.

המפרמט p במדד המינקובסקי שולט על הרגישות המדadicת להבדלים במרכיבים הבודדים:

  • כש p=1: כל ההבדלים תורמות באופן לינארי.
  • כש p=2: ההבדלים הגדולים יותר משפיעים יותר בגלל הריבועים.
  • כש p>2: מקבלים הסימן עוד גבוה על ההבדלים הגדולים.
  • כש p→∞: רק ההבדל הגדול בין כל המימדים משמעותי.

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

כדי להמחיש כיצד ערכים שונים של p משפיעים על חישוב המרחק בין הנקודות שלנו A(2, 3) ו-B(5, 7), נבחן את הגרף הבא:

בהתבוננות בגרף, אנו יכולים לראות כיצד מדידת המרחק משתנה כאשר p עולה:

  • המרחק של מנהטן (p=1), המיוצג על ידי הנתיב הירוק, מביא לנתיב הארוך ביותר, מכיוון שהוא עוקב בקפדנות אחר הרשת.
  • המרחק האוקלידי (p=2), המוצג על ידי הקו הישר הכתום, מספק נתיב ישיר וישר.
  • המרחק של צ'בישב (p=∞), המתואר על ידי הקווים המנוקדים האדומים, מתמקד אך ורק בהפרש הקואורדינטי הגדול ביותר, ויוצר נתיב שמתקדם במקסימום בממד אחד לפני שמטפל בממד האחר.
  • המרחק של מינקובסקי עם p=3 בצבע הסגול מציג עיקול קל, רמז למעבר בין המרחקים האוקלידיים למרחקי צ'בישב.

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

יישומים של מרחק מינקובסקי

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

למידע וללמידה מכונה

בלמידה מכונה ובמדעי המידע, המרחק המינקובסקי הוא בסיסי לאלגוריתמים שתלויים במדידת הדומה או השונות בין נקודות המידע. דוגמה מובילה היא האלגוריתם ה-k-כרישים הקרובים (k-NN), שמקבל את המידע הנישואים על-ידי הקטגוריות של השכנים הקרובים ביותר. על-ידי שימוש במרחק המינקובסקי, אנחנו יכולים לשנות את הפרמטר p כדי לשנות את הדרך בה אנחנו מודדים את "הקרובות" בין הנקודות.

זיהוי הדפוסים

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

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

אבחנת חריגות

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

היקום מחשבתי ואנליזת מרחב

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

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

תכונות מתמטיות של מרחק מינקובסקי

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

תכונות מרחבים מדדיים

המרחק מינקובסקי ממלא את ארבעת התכונות העיקריות הדרושות עבור פונקציה כמות במרחב מדדי:

  • חיוביות: מרחק מינקובסקי בין שתי נקודות הוא תמיד חיובי, d(x,y)≥0. זה ברור מפני שהוא השורש ה-p של סכום של מונחים חיוביים (מערכות מונחים בעלות חיובים לכפל).
  • אינדיסימיליות האינדיבידיאלים: מרחק מינקובסקי בין שתי נקודות אפס אם ורק אם הנקודות הן זהות. מתמטית, d(x,y) = 0 אם ורק אם x=y. זה נבע מכיוון שההבדלים המוחלטים בין רכיבים זהים הם אפסים.
  • סימטריה: מרחק מינקובסקי סימטרי, משמעותו d(x,y)=d(y,x). התמצית היא מפני שסדר ההפרדה במונחים החיוביים לא משפיע על התוצאה.
  • חומת חסד המשולש: מרחק מינקובסקי ממלא את חומת חסד המשולש, שאומרת שלכל שלושה נקודות x, y ו z, המרחק מ x ל z הוא לא יותר מהתוצאה של המרחק מ x ל y ומ y ל z; באופן פורמלי, d(x,z)≤d(x,y)+d(y,z). תכונה זו פחות אינטואיטיבית להוכיח ישירות מהנורמה ובדרך כלל דורשת מתמטיקה מתקדמת, אך בעיקרון מובנה של המקום של קישור ישר בין שתי נקודות הוא המסלול הקצר ביותר.

הכללה בצורה כללית של נורמות.

מרחב מינקובסקי פועל כמערכת כללית שמאחדת דרכים שונות למדידה מרחקים במרחבים מתמטיים דרך המונחה של נורמות. במילים פשוטות, נורמה היא פונקציה שמעניקה אורכה או גודל לא שלילי ל vektor במרחב וektoral, בעיקר מדידה כמה "אורך" ה vektor הוא. על-ידי הגדלת הפרמטר p ב公式 מרחב מינקובסקי, אנחנו יכולים לעבור בעדינות בין נורמות שונות, כל אחת מהן מספקת שיטה יחודית למדידת אורך של vektor. נורמה

לדוגמה, כש p=1, המרחק Minkowski הופך למערך המרחק המנהטן, שמודד את המרחק באופן סך של ההבדלים האבסולודיים לאורך של כל המימדים — תארו לעצמכם את הרשת של רחובות עירוניים. עם p=2, הופך למערך המרחק האוקלידי, שמודד את המרחק הזורם בין הנקודות (באופן הקרא או אצל הציפור). כשp מתקרב לאינסוף, הוא מתקרב למערך המרחק הצ 'בישבייב, בהם המרחק מודד על פי ההבדל הגדול ביותר בין המימדים. הגמישות הזו מאפשרת למרחק Minkowski להתאים למקרים מתמטיים ומעשיים שונים, ומעשה את זה ככלי גדול למדידה של מרחקים במקרים שונים.

מנתחים מינקובסקי בפייתון ובר

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

דוגמא בפייתון

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

import numpy as np from scipy.spatial import distance # נקודות דוגמא point_a = [2, 3] point_b = [5, 7] # p מסויימים p_values = [1, 2, 3, 10, np.inf] print("Minkowski distances using SciPy:") for p in p_values: if np.isinf(p): # עבור p = אינסופי, משתמשים במרחק צ 'בישבייב dist = distance.chebyshev(point_a, point_b) print(f"p = ∞, Distance = {dist:.2f}") else: dist = distance.minkowski(point_a, point_b, p) print(f"p = {p}, Distance = {dist:.2f}")

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

Minkowski distances using SciPy: p = 1, Distance = 7.00 p = 2, Distance = 5.00 p = 3, Distance = 4.50 p = 10, Distance = 4.02 p =, Distance = 4.00

הקוד הזה מדגים:

  1. איך להשתמש בפונקציות המרחקים של SciPy עבור מרחקים מינקובסקי וצ 'בישביביים.
  2. חישוק מרחקים עבור מספר מונחים p שונים, כולל אינסוף.
  3. היחס בין מרחק מינקובסקי למדידות אחרות (מנהטנברג, אוקליידיאני, צ' בישביביים).

דוגמה R

עבור R, נשתמש בפונקציית dist() מספריית stats:

# הגדרה של פונקציית מרחק מינקובסקי בעזרת stats::dist minkowski_distance <- function(x, y, p) { points <- rbind(x, y) if (is.infinite(p)) { # עבור p = אינסוף, משתמשים בשיטה = "מקסימום" עבור מרחק צ' בישביבי distance <- stats::dist(points, method = "maximum") } else { distance <- stats::dist(points, method = "minkowski", p = p) } return(as.numeric(distance)) } # שימוש דוגמה point_a <- c(2, 3) point_b <- c(5, 7) # מספרים p שונים p_values <- c(1, 2, 3, 10, Inf) cat("Minkowski distances between points A and B using stats::dist:\n") for (p in p_values) { distance <- minkowski_distance(point_a, point_b, p) if (is.infinite(p)) { cat(sprintf("p = ∞, Distance = %.2f\n", distance)) } else { cat(sprintf("p = %g, Distance = %.2f\n", p, distance)) } }

הקוד הזה מדגים:

  1. איך ליצור פונקציה minkowski_distance בעזרת הפונקציה dist() מstats.

  2. טיפול בערכים שונים של p, כולל אינסוף עבור מרחק צ'בישב.

  3. חישוב מרחק מינקובסקי עבור ערכים שונים של p.

  4. עיצוב הפלט כדי להציג מרחקים מעוגלים ל-2 ספרות אחרי הנקודה.

הפלט של קוד זה יהיה:

Minkowski distances between points A and B using stats::dist: p = 1, Distance = 7.00 p = 2, Distance = 5.00 p = 3, Distance = 4.50 p = 10, Distance = 4.02 p =, Distance = 4.00

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

סיכום

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

בעוד שאתה מיישמ את מרחק מינקובסקי בעבודתך העצמתך, אנחנו מעודדים אתך לבצע נסיונות עם מספרים שונים של p ולהבחין בהשפעתם על התוצאות שלך. עבור אלה שרוצים להרחיב את ההבנה והמיומנויות שלהם, אנחנו ממליצים לחקור את הקורס Designing Machine Learning Workflows in Python ולהשתייך לתוכנית הקריירה Data Scientist Certification. המשאבים האלה יכולים לעזור לך לבנות על ידיך את הידע על מדידות המרחקים וליישם אותם באופן יעיל במצבים רבים.

Source:
https://www.datacamp.com/tutorial/minkowski-distance