DR. IGOR DATA SCIENCE AI, Data & Creativity · From Data to Impact
הרצאה 1 · נושא 2/10
אלגברה ליניארית למדעי הנתונים

שימושים בווקטורים

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

מתחילים לתרגול
Time series
Image / video
Text
ABT
x = [x₁, x₂, …, xₙ]
01

כיוון במישור או במרחב

כיוון, מיקוד או תזוזה אפשר לתאר בעזרת וקטור.

החומר המקורי

וקטור ככיוון

במישור ניתן לתאר כיוון בעזרת שני רכיבים. במרחב נשתמש בשלושה רכיבים.

\[v=(v_1,v_2)\]
v=(3,2)
02

סדרת זמן — time series

סדרת ערכים של תהליך המשתנה לאורך הזמן היא וקטור \(N\)-ממדי.

דוגמה היסטורית מן השקופיות: מספר מתים מנגיף הקורונה בישראל

כל יום הוא מקום אחר בווקטור. כאן הנתונים להמחשה בלבד ואינם נתוני אמת.

טמפרטורה בימים שונים לאורך שנה

כל רכיב יכול לייצג טמפרטורה ביום אחר.

גודל אוכלוסייה

כל רכיב יכול לייצג את גודל האוכלוסייה בשנה אחרת.

NumPyסדרת זמן כווקטור
import numpy as np

temperature = np.array(
    [15, 16, 18, 22, 26, 29, 31, 30, 27, 23, 19, 16]
)

print(temperature.shape)
# (12,)
03

תמונות ווידאו

גם תמונה היא אוסף מסודר של מספרים — ולכן אפשר להפוך אותה לווקטור.

תמונה בדרגות אפור

מטריצה של עוצמות אור

20
55
90
125
155
185
215
245

מסדרים את איברי המטריצה בזה אחר זה ומקבלים וקטור.

\[x=(20,55,90,125,155,185,215,245)\]
תמונה צבעונית

שלושה ערוצים: RGB

R
G
B

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

סרט הוא סדרה של תמונות

Frame 1
Frame 2
Frame 3
Frame 4

כל תמונה היא וקטור, ולכן סרט הוא סדרה של וקטורים.

NumPyהמרת תמונה לווקטור
import numpy as np

image = np.array([
    [20, 55, 90, 125],
    [155, 185, 215, 245]
])

vector = image.reshape(-1)

print(vector)
# [ 20  55  90 125 155 185 215 245 ]
04

וקטור של משאבים

הרכיב ה-\(i\) מספר כמה משאבים מסוג \(i\) נמצאים ברשותנו.

\[r=(5,7,3)\]

לדוגמה: 5 מחשבים, 7 מסכים ו-3 מקרנים.

מחשבים
5
מסכים
7
מקרנים
3
Pythonגישה למשאב מסוים
resources = np.array([5, 7, 3])

computers = resources[0]
monitors  = resources[1]
projectors = resources[2]

print(resources.sum())
# 15 פריטים בסך הכול
05

כריית טקסטים — שק מילים

כל רכיב בווקטור סופר כמה פעמים מילה מן המילון מופיעה במסמך.

Bag of Words

משפט לדוגמה

״נתונים הם כוח, ונתונים הם סיפור״

מילון קבוע:

נתונים2
הם2
כוח1
סיפור1
מודל0
\[x=(2,2,1,1,0)\]
למה הווקטור דליל? במילון אמיתי יש אלפי מילים, אבל במסמך קצר מופיעות רק מעט מהן.
Pythonספירת מילים לפי מילון
from collections import Counter

tokens = ["נתונים", "הם", "כוח",
          "נתונים", "הם", "סיפור"]

vocabulary = ["נתונים", "הם", "כוח", "סיפור", "מודל"]
counts = Counter(tokens)

vector = [counts[word] for word in vocabulary]
# [2, 2, 1, 1, 0]
06

למידת מכונה — וקטור מאפיינים

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

WeightHeightAge
7217831
6116527
8418245

השורה הראשונה מיוצגת על ידי:

\[x=(72,178,31)\]
NumPyטבלה כמטריצה ושורה כווקטור
X = np.array([
    [72, 178, 31],
    [61, 165, 27],
    [84, 182, 45]
])

first_person = X[0]
print(first_person)
# [ 72 178  31 ]
07

תרגול קצר

לזהות מה מייצג כל רכיב — ולא רק לראות רשימת מספרים.

משימה 1 — סדרת זמן

נתון וקטור טמפרטורות שבועי:

\[t=(24,25,27,29,28,26,25)\]

מהו הממד? מה מייצג \(t_4\)?

הממד הוא 7. האיבר \(t_4=29\) מייצג את הטמפרטורה ביום הרביעי.

משימה 2 — שק מילים

המילון הוא: data, model, code. במסמך מופיעות המילים data פעמיים, code פעם אחת, ו-model כלל לא.

בנו את וקטור שק המילים.

\[x=(2,0,1)\]
08

Take-home message

הסיכום המקורי נשמר ומורחב.

וקטורים הם אובייקטים שימושיים מאוד

חשוב לדעת לעבוד עם וקטורים גם בהקשר תאורטי וגם בהקשר פרקטי.

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

מפת כיסוי של חומר המקור

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

שקופיתהחומר המקוריהמיקום החדש
14כותרת 1.2 — דוגמאות לשימושים בווקטוריםHero
15מיקוד או כיוון במישור או במרחבכיוון אינטראקטיבי
16סדרת זמן — תמותה מקורונה בישראללשונית סדרת זמן; נשמרה כדוגמה היסטורית
17טמפרטורה לאורך שנהלשונית טמפרטורה + NumPy
18גודל אוכלוסייהלשונית אוכלוסייה
19קישור לקורס סדרות עתיותכרטיס קישור
20תמונה בדרגות אפור: מטריצה לווקטוררשת פיקסלים + reshape
21תמונה צבעונית; סרט כסדרת תמונותRGB + סדרת frames
22קישור לקורס עיבוד תמונהכרטיס קישור
23וקטור משאבים \( (5,7,3) \)תרשים משאבים + קוד
24–25שק מיליםדוגמת Bag of Words + Python
26קישור לקורס כריית טקסטיםכרטיס קישור
27ABT ווקטור מאפייניםטבלה + וקטור שורה + NumPy
28קישור לקורס מדעי הנתוניםכרטיס קישור
29סיכום: חשיבות תאורטית ופרקטיתTake-home message