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

וקטורים וסימונים

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

מתחילים לתרגול
x = [ 1
2
3
-3 ]
01

מהו וקטור?

הגדרה פורמלית, ואז מיד תרגום לשפה פשוטה.

הגדרה פורמלית

וקטור הוא רשימה סופית ומסודרת של מספרים

סופית — יש מספר מוגדר של איברים.
מסודרת — למיקום של כל מספר יש משמעות.

\[ x= \begin{bmatrix} 1\\ 2\\ 3\\ -3 \end{bmatrix} \]
שתי צורות כתיבה של אותו וקטור

כתיבה אנכית וכתיבה קומפקטית

\[ \begin{bmatrix} -1\\0.0\\3.5\\-1.2 \end{bmatrix} \]

שתי הכתיבות מתארות אותו וקטור מופשט; הן אינן שני וקטורים שונים.

חשוב: בשלב זה הכתיבה \( (-1,0.0,3.5,-1.2) \) היא כתיבה קומפקטית של וקטור, ולא מטריצת שורה. וקטור שורה אמיתי יופיע בהמשך באמצעות טרנספוזיציה:
\[ x^T= \begin{bmatrix} -1 & 0.0 & 3.5 & -1.2 \end{bmatrix}. \]
02

רכיבים וממד

כמה ערכים יש בווקטור, ומה הממד שלו?

איברי הווקטור

המספרים בתוך הווקטור נקראים איברים, ערכים או סקלרים.

מספר הרכיבים

\[\dim(x)=4\]

ממד הווקטור

בהקשר של הקורס נשתמש גם במונח ממד. וקטור עם \(N\) נקרא \(N\)-וקטור.

בווקטור \(x=(1,2,3,-3)\) יש בו ארבעה רכיבים, ולכן הוא וקטור ב־\(\mathbb{R}^4\).
03

סימון וקטורים ואינדקסים

איך מסמנים וקטור, ואיך ניגשים לאיבר מסוים?

סימון

אפשר לסמן וקטורים באותיות שונות

\[ a,\ A,\ b,\ B,\ x,\ X,\ w,\ \alpha,\ \beta \]

האיבר ה-\(i\) של הווקטור \(x\) מסומן \(x_i\).

\[x_1=1\]
האיבר הראשון בווקטור
במתמטיקה: האינדקסים מתחילים ב-\(1\) ומסתיימים בגודל הווקטור.
בפייתון: האינדקסים מתחילים ב-\(0\). לכן \(x_1\) המתמטי נמצא ב-x[0].
Python / NumPyמתמטיקה מול קוד
import numpy as np

x = np.array([1, 2, 3, -3])

print(x[0])   # 1  ← האיבר x₁ במתמטיקה
print(x[3])   # -3 ← האיבר x₄ במתמטיקה
04

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

שני תנאים חייבים להתקיים יחד.

\[ A=B \quad\Longleftrightarrow\quad \dim(A)=\dim(B) \ \land\ a_i=b_i,\quad \forall i=1,\ldots,n \]
תנאי 1: אותו מספר רכיבים.
תנאי 2: כל האיברים המתאימים שווים.

בדיקה מהירה

A = [1, 2, 3]
?
B = [1, 2, 3]
בחרו תשובה.
05

תת־וקטור

בחירה של קטע רציף מתוך וקטור גדול יותר.

הדוגמה המתמטית

\[ x= \begin{bmatrix} 1\\2\\10\\20\\50\\70 \end{bmatrix} \qquad x_{2:4}= \begin{bmatrix} 2\\10\\20 \end{bmatrix} \]

בכתיב המתמטי כאן נבחרים האיברים ממקום 2 עד מקום 4, כולל.

Python / NumPyשימו לב לקצה הימני
x = np.array([1, 2, 10, 20, 50, 70])

subvector = x[1:4]

print(subvector)
# [ 2 10 20 ]
טעות נפוצה: בפייתון הטווח 1:4 כולל את האינדקסים 1, 2, 3, אבל לא את 4.
06

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

מחברים כמה וקטורים לווקטור אחד ארוך.

\[ X= \begin{bmatrix} B\\C\\D \end{bmatrix}, \qquad \dim(B)=M,\ \dim(C)=N,\ \dim(D)=P \] \[ \dim(X)=M+N+P \]

הסדר חשוב: תחילה כל איברי \(B\), אחריהם איברי \(C\), ולבסוף איברי \(D\).

B · ממד M
C · ממד N
D · ממד P
X · ממד M+N+P
דוגמה 1 · נתוני מטופל

מחברים קבוצות מאפיינים לווקטור אחד

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

\[ d=(\text{age},\text{sex}),\qquad b=(\text{glucose},\text{cholesterol},\text{hemoglobin}) \] \[ s=(s_1,\ldots,s_{20}),\qquad x=(d,b,s) \] \[ \dim(x)=2+3+20=25 \]
מתי זה נוח? כשבונים feature vector למודל, ורוצים לשמור בראש את המבנה: דמוגרפיה, בדיקות, סימפטומים.
דוגמה 2 · סדרת זמן לפי ימים

שבוע כשרשור של שבעה ימים

אם \(d_1,\ldots,d_7\) הם וקטורים של 24 שעות, אפשר לכתוב את כל השבוע כווקטור אחד עם 168 רכיבים.

\[ d_j=(w_{24j-23},\ldots,w_{24j}),\qquad j=1,\ldots,7 \] \[ w=(d_1,d_2,d_3,d_4,d_5,d_6,d_7) \] \[ \dim(w)=7\cdot24=168 \]
מתי זה נוח? כשיש מבנה חוזר: שעות בתוך יום, ימים בתוך שבוע, או בלוקים שונים של אותו ניסוי.
הרעיון המרכזי: וקטור של בלוקים הוא עדיין וקטור אחד. הבלוקים הם דרך נוחה לארגן את המחשבה, לבדוק ממדים, ולחלץ אחר כך חלקים בעזרת slicing.
NumPyבניית וקטור של בלוקים
B = np.array([1, 2])
C = np.array([10, 20, 30])
D = np.array([7])

X = np.concatenate([B, C, D])

print(X)
# [ 1  2 10 20 30  7 ]

# חילוץ חזרה של הבלוקים
B_back = X[:2]
C_back = X[2:5]
D_back = X[5:]

print(B_back, C_back, D_back)
# [1 2] [10 20 30] [7]
07

וקטורים מיוחדים

ארבע משפחות שחוזרות שוב ושוב באלגברה ליניארית ובמדעי הנתונים.

וקטור אפסים

מכיל רק אפסים ומסומן \(0_n\), או פשוט \(0\) כאשר הממד ברור.

\[ 0_3= \begin{bmatrix} 0\\0\\0 \end{bmatrix} \]
[ 0, 0, 0 ]

וקטור אחדים

מכיל רק את המספר \(1\) ומסומן \(1_n\).

\[ 1_3= \begin{bmatrix} 1\\1\\1 \end{bmatrix} \]
[ 1, 1, 1 ]

וקטור היחידה \(e_i\)

במקום ה-\(i\) יש \(1\), ובכל שאר המקומות יש \(0\).

\[ e_1= \begin{bmatrix}1\\0\\0\end{bmatrix}, \quad e_2= \begin{bmatrix}0\\1\\0\end{bmatrix}, \quad e_3= \begin{bmatrix}0\\0\\1\end{bmatrix} \]
e₂ = [ 0, 1, 0 ]

וקטור דליל

וקטור שרוב איבריו שווים ל-\(0\).

\(NNZ(x)\) הוא מספר האיברים ב-\(x\) שאינם אפס.

\[ x=(0,0,5,0,0,-2,0) \qquad\Longrightarrow\qquad NNZ(x)=2 \]
[ 0, 0, 5, 0, 0, -2, 0 ]
NumPyיצירת וקטורים מיוחדים
zeros = np.zeros(3)
ones  = np.ones(3)

e2 = np.zeros(3)
e2[1] = 1

x = np.array([0, 0, 5, 0, 0, -2, 0])
nnz = np.count_nonzero(x)
08

תרגול קצר

לא רק לקרוא — לבדוק שהסימונים באמת ברורים.

משימה 1

\[ x=(4,0,-2,0,0,7) \]

מצאו:

  1. את ממד הווקטור.
  2. את \(NNZ(x)\).
  3. את \(x_{2:5}\) לפי הסימון המתמטי של הקורס.
\[ \dim(x)=6,\qquad NNZ(x)=3,\qquad x_{2:5}=(0,-2,0,0) \]

משימה 2

האם הווקטורים הבאים שווים?

\[ A=(1,2,3),\qquad B=(1,2,3,0) \]

לא. גם אם שלושת האיברים הראשונים זהים, הממדים שונים: \(\dim(A)=3\) ואילו \(\dim(B)=4\).

09

Take-home message

מה חייבים לזכור אחרי הנושא הזה?

1וקטור הוא רשימה סופית ומסודרת של מספרים.
2מספר הרכיבים הוא מספר הערכים או ממדו.
3במתמטיקה האינדקס מתחיל ב-\(1\), ובפייתון ב-\(0\).
4שוויון דורש אותו מספר רכיבים ושוויון בכל האיברים המתאימים.
5תת־וקטור הוא בחירה של חלק מהווקטור.
6וקטורי אפסים, אחדים, יחידה ודלילים הם אבני יסוד בקורס.
✓

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

בקרה מפורשת: שום חומר מהשקופיות 1–12 לא הושמט.

שקופית מקור נושא מיקום ב-HTML
1כותרת הקורס והנושאHero
2הגדרת וקטור; כתיבה אנכית וכתיבה קומפקטית של אותו וקטורמהו וקטור?
3איברים, ערכים, סקלרים, רכיבים וממדרכיבים וממד
4\(N\)-וקטור וסימוניםסימון וקטורים ואינדקסים
5\(x_i\) והבדל בין מתמטיקה לפייתוןסימון וקטורים ואינדקסים + קוד
6שוויון בין וקטוריםשוויון בין וקטורים
7תת־וקטורתת־וקטור + NumPy
8וקטור של בלוקיםוקטור של בלוקים + concatenate
9וקטור אפסיםוקטורים מיוחדים
10וקטור אחדיםוקטורים מיוחדים
11וקטורי היחידה \(e_i\)וקטורים מיוחדים
12וקטור דליל ו-\(NNZ\)וקטורים מיוחדים + תרגול