آموزش جامع جبر خطی برای هوش مصنوعی


🎯 اهداف یادگیری

  • درک مفاهیم پایه جبر خطی و کاربردهای آن در هوش مصنوعی
  • آشنایی با بردارها، ماتریس‌ها و عملیات روی آنها
  • یادگیری مفاهیم ضرب ماتریس‌ها و معکوس ماتریس
  • تسلط بر پیاده‌سازی عملیات جبر خطی با NumPy

📌 جبر خطی چیست و چرا برای هوش مصنوعی مهم است؟

جبر خطی شاخه‌ای از ریاضیات است که با بردارها، ماتریس‌ها و تبدیل‌های خطی سروکار دارد:

python
# نمونه‌ای از پیاده‌سازی جبر خطی در پایتون
import numpy as np
A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])
result = np.dot(A,B) # ضرب ماتریس‌ها

کاربردهای جبر خطی در هوش مصنوعی:

  • پردازش داده‌ها: نمایش داده‌ها به صورت ماتریس و بردار
  • شبکه‌های عصبی: محاسبه وزن‌ها و انتقال بین لایه‌ها
  • یادگیری ماشین: پیاده‌سازی الگوریتم‌های مختلف مانند رگرسیون خطی

📌 مفاهیم پایه: بردارها و ماتریس‌ها

بردارها آرایه‌های یک‌بعدی و ماتریس‌ها آرایه‌های دو‌بعدی از اعداد هستند:

python
# ایجاد بردار و ماتریس در NumPy
vector = np.array([1,2,3])
matrix = np.array([[1,2],[3,4]])

انواع ماتریس‌های مهم:

  • ماتریس مربعی: تعداد سطر و ستون برابر
  • ماتریس همانی: قطر اصلی 1 و بقیه عناصر 0
  • ماتریس متقارن: A = AT
  • ماتریس قطری: فقط عناصر روی قطر اصلی غیرصفر

📌 عملیات پایه روی ماتریس‌ها

۱. جمع و تفریق ماتریس‌ها

python
A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])
sum_matrix = A + B # جمع ماتریس‌ها
diff_matrix = A - B # تفریق ماتریس‌ها

۲. ضرب ماتریس‌ها

python
product = np.dot(A,B) # ضرب ماتریس‌ها
elementwise = A * B # ضرب عنصر به عنصر

۳. ترانهاده و معکوس ماتریس

python
transpose = A.T # ترانهاده ماتریس
inverse = np.linalg.inv(A) # معکوس ماتریس

📌 مفاهیم پیشرفته در جبر خطی

۱. مقادیر ویژه و بردارهای ویژه

python
eigenvalues,eigenvectors = np.linalg.eig(A)

۲. تجزیه ماتریس‌ها

  • تجزیه QR: برای حل سیستم‌های معادلات خطی
  • تجزیه مقادیر منفرد (SVD): در کاهش ابعاد و PCA
  • تجزیه Cholesky: در بهینه‌سازی و فیلتر کالمن

۳. نرم‌ها (Norms)

python
norm_l2 = np.linalg.norm(vector) # نرم L2

📌 کاربرد جبر خطی در یادگیری ماشین

۱. رگرسیون خطی

python
# حل رگرسیون خطی با معادله نرمال
theta = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y)

۲. کاهش ابعاد با PCA

python
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_reduced = pca.fit_transform(X)

۳. شبکه‌های عصبی

محاسبه خروجی هر لایه با ضرب ماتریس وزن‌ها در ورودی و اعمال تابع فعال‌ساز


📌 تمرین عملی

با استفاده از NumPy، عملیات زیر را انجام دهید:

python
# ماتریس‌های A و B را تعریف کنید
A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])

راهنمای تمرین:

  1. جمع و تفریق ماتریس‌ها را انجام دهید
  2. ضرب ماتریس‌ها را محاسبه کنید
  3. ترانهاده ماتریس A را پیدا کنید
  4. معکوس ماتریس B را محاسبه کنید (در صورت وجود)

📌 منابع پیشرفته برای مطالعه بیشتر

  • کتاب Linear Algebra and Its Applications: مرجع جامع جبر خطی
  • دوره Linear Algebra در Coursera: آموزش عملی جبر خطی
  • مستندات NumPy: برای پیاده‌سازی عملی در پایتون

📌 قدم بعدی

در درس بعدی با آشنا خواهیم شد!