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

מכפלה פנימית inner product

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

מתחילים לתרגול
A = [1,2,3]
·
B = [0,5,0]
=
10
1·0 + 2·5 + 3·0 = 10
01

הגדרה

המכפלה הפנימית נקראת גם dot product או מכפלה סקלרית.

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

יהיו \(A,B\) שני וקטורים בעלי אותו ממד \(N\).

\[ A^TB=\langle A,B\rangle = \sum_{i=1}^{N}a_i b_i = a_1b_1+\cdots+a_Nb_N \]

התוצאה היא סקלר, כלומר מספר יחיד.

הדוגמה מן השקופיות
\[ \begin{bmatrix} 1\\2\\3 \end{bmatrix}^{T} \begin{bmatrix} 0\\5\\0 \end{bmatrix} = 1\cdot0+2\cdot5+3\cdot0 = 10 \]
NumPyשלוש דרכים שקולות
import numpy as np

A = np.array([1, 2, 3])
B = np.array([0, 5, 0])

print(np.dot(A, B))   # 10
print(A @ B)          # 10
print((A * B).sum())  # 10
02

מחשבון אינטראקטיבי

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

הזינו שני וקטורים

1·0
0
2·5
10
3·0
0
\(A^TB\)
10
1·0 + 2·5 + 3·0
03

תכונות המכפלה הפנימית

כל התכונות משקופיות 54–55 נשמרו.

חיוביות
\[ A^TA=\sum_{i=1}^{N}a_i^2\ge0 \]

השוויון מתקיים אם ורק אם \(A=0\).

חוק החילוף
\[ A^TB=B^TA \]
הוצאת סקלר
\[ (\alpha A)^TB = \alpha(A^TB) \]
חוק הפילוג
\[ (A+B)^TC = A^TC+B^TC \]

הרחבת חוק הפילוג

\[ (A+B)^T(C+D) = A^TC+A^TD+B^TC+B^TD \]
04

דוגמאות פשוטות

שקופיות 56–66: טריקים שימושיים באמצעות וקטורי היחידה ווקטור האחדים.

בחירת איבר יחיד

\[ e_i^TA=a_i \]

וקטור היחידה \(e_i\) ״בוחר״ את האיבר ה-\(i\).

הדגמה מספרית: למה זה נכון?

ניקח:

\[ A= \begin{bmatrix} 10\\20\\30\\40 \end{bmatrix}, \qquad e_3= \begin{bmatrix} 0\\0\\1\\0 \end{bmatrix} \]

המכפלה הפנימית היא:

\[ e_3^TA = 0\cdot10+0\cdot20+1\cdot30+0\cdot40 = 30 = a_3 \]
כל האיברים מתאפסים חוץ מהמקום השלישי, כי רק שם ל-\(e_3\) יש ערך 1.

הפרש בין שני איברים

\[ (e_i-e_j)^TA=a_i-a_j \]
הדגמה מספרית

נחשב את \(a_4-a_2\) עבור אותו וקטור:

\[ A= \begin{bmatrix} 10\\20\\30\\40 \end{bmatrix}, \qquad e_4-e_2= \begin{bmatrix} 0\\-1\\0\\1 \end{bmatrix} \] \[ (e_4-e_2)^TA = 0\cdot10-1\cdot20+0\cdot30+1\cdot40 = 20 = a_4-a_2 \]
\(e_4\) בוחר את \(a_4\), ו-\(-e_2\) מחסיר את \(a_2\).

סכום איברי הווקטור

\[ \mathbf{1}^TA = \sum_{i=1}^{N}a_i \]
הדגמה מספרית
\[ \mathbf1= \begin{bmatrix} 1\\1\\1\\1 \end{bmatrix}, \quad A= \begin{bmatrix} 1\\2\\3\\4 \end{bmatrix} \] \[ \mathbf1^TA = 1\cdot1+1\cdot2+1\cdot3+1\cdot4 = 10 \]
וקטור האחדים אינו משנה אף איבר; הוא פשוט גורם לכל האיברים להיכנס לסכום.

ממוצע איברי הווקטור

\[ \left(\frac{1}{N}\mathbf{1}\right)^TA = \frac{1}{N}\sum_{i=1}^{N}a_i \]
הדגמה מספרית

עבור \(A=(1,2,3,4)\), יש \(N=4\):

\[ \left(\frac14\mathbf1\right)^TA = \frac14\cdot1+\frac14\cdot2+\frac14\cdot3+\frac14\cdot4 = \frac{10}{4} = 2.5 \]
קודם סוכמים את כל האיברים, ואז מחלקים במספר האיברים.

סכום של חלק מן האיברים

\[ \begin{bmatrix} 1\\0\\1\\0 \end{bmatrix}^{T} \begin{bmatrix} 1\\2\\3\\4 \end{bmatrix} = 1+3 = 4 \]

וקטור בינארי מסמן אילו איברים לכלול בסכום.

הדגמה מספרית: איך המסכה עובדת?
\[ \begin{bmatrix}1\\0\\1\\0\end{bmatrix}^{T} \begin{bmatrix}1\\2\\3\\4\end{bmatrix} = 1\cdot1+0\cdot2+1\cdot3+0\cdot4 = 4 \]
1 אומר “קח את האיבר”, 0 אומר “אל תיקח אותו”.

סכום ריבועי האיברים

\[ A^TA = \sum_{i=1}^{N}a_i^2 \]
הדגמה מספרית
\[ A= \begin{bmatrix} 1\\2\\3\\4 \end{bmatrix} \] \[ A^TA = 1\cdot1+2\cdot2+3\cdot3+4\cdot4 = 1^2+2^2+3^2+4^2 = 30 \]
כשכופלים וקטור בעצמו במכפלה פנימית, כל איבר מוכפל בעצמו.
NumPyאותם טריקים בקוד
A = np.array([1, 2, 3, 4])

print(A.sum())             # 10
print(A.mean())            # 2.5
print(A @ A)               # 30

e3 = np.array([0, 0, 1, 0])
print(e3 @ A)              # 3

mask = np.array([1, 0, 1, 0])
print(mask @ A)            # 4
05

מכפלה פנימית של וקטורי בלוקים

הדוגמה המקורית משקופית 66.

\[ A= \begin{bmatrix} A_1\\A_2 \end{bmatrix}, \qquad B= \begin{bmatrix} B_1\\B_2 \end{bmatrix} \] \[ A^TB = A_1^TB_1+A_2^TB_2 \]
A₁
A₂
B₁
B₂

כל בלוק מוכפל בבלוק המתאים, ואז מחברים את התוצאות.

06

תרגול קצר

חישוב ישיר ושימוש בווקטורים מיוחדים.

משימה 1

\[ A=(2,-1,3),\qquad B=(4,5,-2) \]

חשבו \(A^TB\).

\[ A^TB = 2\cdot4+(-1)\cdot5+3\cdot(-2) = -3 \]

משימה 2

\[ A=(7,2,-1,5) \]

כתבו מכפלה פנימית המחזירה \(a_2-a_4\), וחשבו את ערכה.

\[ (e_2-e_4)^TA = a_2-a_4 = 2-5 = -3 \]
07

Take-home message

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

1מכפלה פנימית מקבלת שני וקטורים שווי־ממד ומחזירה סקלר.
2מכפילים איברים מתאימים ומחברים.
3\(A^TA\) הוא סכום ריבועי האיברים ותמיד אינו שלילי.
4וקטור יחידה מאפשר לבחור איבר אחד או לחשב הפרש בין איברים.
5וקטור האחדים מאפשר לחשב סכום וממוצע.
6ב-NumPy משתמשים ב-np.dot או באופרטור @.

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

שקופיות 51–66 נשמרו במלואן; נוספו הסברים, קוד, מחשבון ותרגול.

שקופיתהחומר המקוריהמיקום החדש
51כותרת 1.5 — מכפלה פנימיתHero
52הגדרה \(A^TB=\sum a_i b_i\); inner product / dot productהגדרה פורמלית
53דוגמה \((1,2,3)^T(0,5,0)\)דוגמה + NumPy
54\(A^TA=\sum a_i^2\ge0\); שוויון רק בווקטור האפסחיוביות
55חילוף, הוצאת סקלר ופילוגארבעה חוקי מכפלה פנימית
56–57\(e_i^TA=a_i\)בחירת איבר יחיד
58–59\((e_i-e_j)^TA=a_i-a_j\)הפרש בין איברים
60–61\(\mathbf1^TA=\sum a_i\)סכום איברי הווקטור
62–63\((\frac1N\mathbf1)^TA\) הוא ממוצעממוצע איברי הווקטור
64סכום של חלק מן האיברים בעזרת וקטור בינארידוגמת מסכה
65סכום ריבועי האיברים\(A^TA\) + קוד
66מכפלה פנימית של וקטורי בלוקיםבלוקים מתאימים