Linear Regression در یادگیری ماشین الگوریتم رگرسیون خطی | مارک پلاس
💡 مشاوره

مارک پلاس

تکنولوژی نوین اینترنتی

الگوریتم رگرسیون خطی

الگوریتم رگرسیون خطی


الگوریتم رگرسیون خطی (Linear Regression) یکی از ساده‌ترین و پرکاربردترین الگوریتم‌های یادگیری نظارت‌شده (Supervised Learning) است که برای پیش‌بینی مقادیر عددی پیوسته استفاده می‌شود. هدف این الگوریتم، یافتن بهترین رابطه خطی بین متغیرهای ورودی (Features) و متغیر خروجی (Target) است.


رگرسیون خطی چگونه کار می‌کند؟

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

y^=b0+b1x\hat{y} = b_0 + b_1x
y^=8.490.54x\hat{y} = 8.49 - 0.54x
R² = 0.72 · b₀ = عرض از مبدأ · b₁ = شیب · حداقل مربعات، مجذور فاصله های باقیمانده عمودی را کمینه می کند.
تمرکز
یک نقطه را بکشید تا خط دوباره برازش شود.
246810246810

مدل رگرسیون خطی به شکل زیر است:

y^=b0+b1x\hat{y}=b_0+b_1x

که در آن:

  • ŷ: مقدار پیش‌بینی‌شده
  • b₀: عرض از مبدأ (Intercept)
  • b₁: شیب خط (Slope)
  • x: مقدار ورودی


مثال ساده

متراژ (متر)قیمت (میلیون تومان)
804000
1005000
1206100
1507600

پس از آموزش، ممکن است مدل به رابطه زیر برسد:

Price^=200+49×Area\hat{Price}=200+49\times Area

اگر خانه‌ای 130 متر باشد:

200+49×130=6570200+49\times130=6570

بنابراین قیمت تقریبی 6570 میلیون تومان پیش‌بینی می‌شود.


هدف الگوریتم

هدف، کمینه کردن مجموع مربع خطاها (Least Squares) است؛ یعنی فاصله بین مقادیر واقعی و پیش‌بینی‌شده تا حد ممکن کم باشد.


انواع رگرسیون خطی

1. رگرسیون خطی ساده (Simple Linear Regression)

فقط یک ویژگی ورودی وجود دارد.

مثال:

  • متراژ → قیمت خانه

2. رگرسیون خطی چندگانه (Multiple Linear Regression)

چندین ویژگی برای پیش‌بینی استفاده می‌شود.

y^=b0+b1x1+b2x2++bnxn\hat{y}=b_0+b_1x_1+b_2x_2+\cdots+b_nx_n

مثال:

  • متراژ
  • تعداد اتاق
  • سن ساختمان
  • موقعیت مکانی

همگی برای پیش‌بینی قیمت خانه استفاده می‌شوند.


مراحل آموزش

  1. جمع‌آوری داده‌ها
  2. پاک‌سازی داده‌ها
  3. تقسیم داده‌ها به Train و Test
  4. آموزش مدل
  5. ارزیابی عملکرد
  6. استفاده برای پیش‌بینی داده‌های جدید


معیارهای ارزیابی

رایج‌ترین معیارها عبارت‌اند از:

  • MAE (Mean Absolute Error)
  • MSE (Mean Squared Error)
  • RMSE (Root Mean Squared Error)
  • R² Score (ضریب تعیین)

هرچه:

  • MAE کمتر باشد بهتر است.
  • MSE کمتر باشد بهتر است.
  • RMSE کمتر باشد بهتر است.
  • R² به عدد 1 نزدیک‌تر باشد بهتر است.


مزایا

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


معایب

  • فقط روابط خطی را مدل می‌کند.
  • نسبت به داده‌های پرت (Outliers) حساس است.
  • اگر ویژگی‌ها همبستگی زیادی داشته باشند (Multicollinearity)، عملکرد کاهش می‌یابد.
  • برای روابط پیچیده مناسب نیست.


کاربردها

  • پیش‌بینی قیمت خانه
  • پیش‌بینی فروش
  • تخمین درآمد
  • پیش‌بینی مصرف انرژی
  • پیش‌بینی دما
  • تحلیل مالی
  • پیش‌بینی هزینه بیمه
  • تحلیل بازار

پیاده‌سازی در پایتون (Scikit-learn)

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

# داده‌ها
X = [[80],[100],[120],[150]]
y = [4000,5000,6100,7600]

# ساخت مدل
model = LinearRegression()

# آموزش
model.fit(X, y)

# پیش‌بینی
prediction = model.predict([[130]])

print(prediction)


تفاوت رگرسیون خطی و طبقه‌بندی

رگرسیون خطیطبقه‌بندی
خروجی عددیخروجی دسته‌ای
پیش‌بینی قیمتتشخیص اسپم
پیش‌بینی دماتشخیص بیماری
پیش‌بینی فروشتشخیص تقلب


جمع‌بندی

رگرسیون خطی یکی از مهم‌ترین الگوریتم‌های یادگیری ماشین است که برای پیش‌بینی مقادیر عددی بر اساس روابط خطی بین متغیرها استفاده می‌شود. به دلیل سادگی، سرعت بالا و قابلیت تفسیر، معمولاً اولین الگوریتمی است که در پروژه‌های تحلیل داده و یادگیری ماشین به کار گرفته می‌شود. با این حال، زمانی که رابطه بین داده‌ها غیرخطی یا بسیار پیچیده باشد، مدل‌های پیشرفته‌تر مانند درخت تصمیم، جنگل تصادفی یا شبکه‌های عصبی معمولاً عملکرد بهتری خواهند داشت.