تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

رگرسیون خطی (Linear Regression) در یادگیری ماشین چیست؟


۸ بهمن ۱۴۰۴

خلاصه کنید:

openaigeminiperplexity

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

نکته‌ی مشترک میان این کاربردها، استفاده از رگرسیون خطی (Linear Regression) است، روشی که با برازش یک خط مستقیم روی داده‌ها، رابطه میان متغیرهای مختلف را شناسایی می‌کند.

رگرسیون خطی یکی از بنیادی‌ترین و در عین حال پرکاربردترین تکنیک‌ها در یادگیری ماشین به شمار می‌رود. این روش یک الگوریتم یادگیری نظارت‌شده (Supervised Learning) است، به این معنا که مدل با استفاده از داده‌های برچسب‌دار (مانند سوابق بیماران یا رسیدهای خرید فروشگاه‌ها) آموزش می‌بیند، الگوهای پنهان در داده‌ها را استخراج می‌کند و سپس از این الگوها برای پیش‌بینی داده‌های جدید بهره می‌گیرد.
با وجود آن‌که مدل‌های پیچیده‌ هوش مصنوعی معمولا توجه رسانه‌ها را به خود جلب می‌کنند، رگرسیون خطی همچنان یکی از عملی‌ترین و پرکاربردترین ابزارها در علم داده و سیستم‌های مبتنی بر یادگیری ماشین محسوب می‌شود. در ادامه این مقاله از بلاگ فنی و تخصصی لیارا، به‌صورت کامل بررسی خواهیم کرد که رگرسیون خطی چیست و چگونه در کاربردهای مدرن یادگیری ماشین مورد استفاده قرار می‌گیرد.

رگرسیون خطی (Linear Regression) در یادگیری ماشین چیست؟

آنچه در ادامه خواهید خواند:

  • استفاده از توان هوش مصنوعی و یادگیری ماشین
  • رگرسیون خطی (Linear Regression) چیست؟
  • بررسی مبانی ریاضی مدل‌های رگرسیون خطی
  • ریاضی رگرسیون حداقل مربعات معمولی (OLS)
  • ترجمه و بازنویسی تخصصی متن
  • چند فرض مهم در رگرسیون خطی
  • نحوه عملکرد رگرسیون خطی در یادگیری ماشین
  • نحوه قرارگیری رگرسیون خطی در یک Pipeline یادگیری ماشین
  • سه نوع رگرسیون خطی در یادگیری ماشین
  • اجرای رگرسیون خطی در ML
  • شروع کار با رگرسیون خطی
  • سوالات متداول
  • جمع بندی

استفاده از توان هوش مصنوعی و یادگیری ماشین

با استفاده از GPU Droplet‌های DigitalOcean می‌توانید توان واقعی هوش مصنوعی و یادگیری ماشین را تجربه کنید. این سرویس با تکیه بر پردازنده‌های گرافیکی NVIDIA H100، امکان اجرای سریع‌تر بارهای کاری AI/ML، پروژه‌های یادگیری عمیق و محاسبات با کارایی بالا (HPC) را فراهم می‌کند؛ آن هم با راهکاری ساده، منعطف و مقرون‌به‌صرفه در بستر رایانش ابری.

با ثبت‌نام، به GPU Dropletها دسترسی پیدا کنید و پروژه‌های هوش مصنوعی خود را بدون تحمیل هزینه‌های سنگین، در مقیاس دلخواه توسعه دهید.

رگرسیون خطی (Linear Regression) چیست؟

رگرسیون خطی یک روش آماری برای مدل‌سازی رابطه بین یک یا چند متغیر وابسته (Target) و یک یا چند متغیر مستقل (Predictor) است که با برازش یک معادله خطی بر داده‌های مشاهده‌شده انجام می‌شود. واژه «خطی» به ماهیت رابطه‌ی مستقیم و خطی میان متغیرها اشاره دارد و اصطلاح «رگرسیون» فرآیند تخمین و بازگشت مقادیر متغیرها به میانگین خود را توصیف می‌کند.

این روش با شناسایی الگوهای موجود در داده‌ها، روابط معناداری میان متغیرها برقرار می‌کند. به‌عنوان مثال، یک شرکت فعال در حوزه املاک می‌تواند از متراژ ملک برای پیش‌بینی قیمت آن استفاده کند، یا یک کسب‌وکار خرده‌فروشی می‌تواند با تحلیل داده‌های فروش گذشته، درآمد آینده خود را برآورد کند.
رگرسیون خطی با محاسبه‌ی شیب خط (میزان تغییر یک متغیر نسبت به متغیر دیگر) و عرض از مبدأ (نقطه‌ای که خط محور y را قطع می‌کند)، مدلی ایجاد می‌کند که هدف آن دستیابی به دقیق‌ترین پیش‌بینی ممکن است.

بررسی مبانی ریاضی مدل‌های رگرسیون خطی

در ساده‌ترین حالت، رگرسیون خطی بر اساس یک فرمول ریاضی شناخته‌شده تعریف می‌شود:

y = mx + b

در این معادله:

  • y: متغیر وابسته (خروجی مدل)
  • x: متغیر مستقل (ورودی مدل)
  • m: شیب خط (نشان‌دهنده‌ی میزان تغییر y به ازای یک واحد تغییر در x)
  • b: عرض از مبدأ (مقدار y زمانی که x برابر صفر است)

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

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

این اختلاف‌های مربعی بین مقادیر واقعی و مقادیر پیش‌بینی‌شده که با عنوان باقی‌مانده‌ها (Residuals) شناخته می‌شوند، یکی از مهم‌ترین معیارهای ارزیابی عملکرد مدل هستند. هرچه مجموع مربعات باقی‌مانده‌ها کوچک‌تر باشد، خط برازش‌یافته تطابق بهتری با داده‌ها دارد. با کمینه‌سازی این مقدار، روش OLS کاراترین برآوردهای آماری را برای ضرایب معادله رگرسیون فراهم می‌کند و به ما اطمینان می‌دهد که رابطه‌ی شناسایی‌شده میان متغیرها قابل اتکا است.

می‌توان این فرآیند را به تنظیم موقعیت یک خط‌کش روی مجموعه‌ای از نقاط پراکنده روی کاغذ تشبیه کرد. هدف این است که خط‌کش به‌گونه‌ای قرار بگیرد که به‌طور میانگین، کمترین فاصله را با تمام نقاط داشته باشد. در ادبیات یادگیری ماشین، به این فرآیند آموزش (Training) گفته می‌شود؛ جایی که مدل، مقادیر بهینه‌ی شیب و عرض از مبدأ را یاد می‌گیرد تا بهترین خط ممکن را روی داده‌ها ترسیم کند.

ریاضی رگرسیون حداقل مربعات معمولی (OLS)

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

به‌صورت خلاصه، OLS تلاش می‌کند پاسخی ریاضی به این سؤال بدهد:
کدام خط، در مجموع، کمترین خطا را نسبت به داده‌های واقعی دارد؟

در ادامه، نحوه‌ی محاسبه‌ی این فرآیند به‌صورت گام‌به‌گام بررسی می‌شود:

ترجمه و بازنویسی تخصصی متن

با به توان دو رساندن باقی‌مانده‌ها، روش OLS اطمینان حاصل می‌کند که:

  • مقادیر منفی در بهینه‌سازی تأثیرگذار نباشند.
  • خطاهای بزرگ نسبت به خطاهای کوچک با شدت بیشتری جریمه شوند.

چند فرض مهم در رگرسیون خطی

برای اینکه تخمین‌های OLS در رگرسیون خطی غیرمتعصب و کارآمد باشند، چند فرض اساسی باید رعایت شود:

  1. خطی بودن (Linearity): رابطه بین متغیرهای مستقل و وابسته باید خطی باشد.
  2. استقلال مشاهدات (Independence): داده‌ها باید از یکدیگر مستقل باشند.
  3. واریانس یکنواخت خطاها (Homoscedasticity): پراکندگی خطاها در تمام سطوح متغیرهای مستقل ثابت باشد.
  4. نرمال بودن خطاها (Normality of Errors): باقی‌مانده‌ها باید از توزیع نرمال پیروی کنند.
  5. عدم هم‌خطی کامل (No Perfect Multicollinearity): متغیرهای مستقل نباید به‌شدت با یکدیگر همبسته باشند.

نحوه عملکرد رگرسیون خطی در یادگیری ماشین

رگرسیون خطی فرض می‌کند که بین ویژگی‌های ورودی (X) و متغیر هدف (Y) رابطه‌ای خطی وجود دارد.

مراحل اجرای رگرسیون خطی:

  1. تعریف رابطه: مدل فرض می‌کند رابطه خطی است:
    [
    y = \beta_0 + \beta_1 x + \epsilon
    ]
  2. یافتن خط بهترین برازش: الگوریتم با استفاده از روش حداقل مربعات معمولی (OLS)، اختلاف بین مقادیر واقعی و پیش‌بینی‌شده را کمینه می‌کند.
  3. کمینه‌سازی خطا: مقادیر بهینه (\beta_0) و (\beta_1) تعیین می‌شوند تا مجموع مربعات اختلاف‌ها بین مقادیر واقعی و پیش‌بینی‌شده به حداقل برسد.
  4. انجام پیش‌بینی‌ها: پس از آموزش مدل، از معادله برای پیش‌بینی مقادیر جدید بر اساس داده‌های دیده‌نشده استفاده می‌شود.

رگرسیون خطی یک روند ساختاریافته دارد که داده‌های خام را به بینش‌های پیش‌بینی‌محور تبدیل می‌کند. گرچه ریاضیات پشت آن ممکن است پیچیده به نظر برسد، اما جریان کاری آن منطقی است و هر متخصص داده‌ای می‌تواند آن را به‌راحتی درک و اجرا کند.

نحوه قرارگیری رگرسیون خطی در یک Pipeline یادگیری ماشین

  1. آماده‌سازی داده‌ها: داده‌ها را پاک‌سازی کنید، مقادیر گمشده را مدیریت کنید، داده‌های پرت را حذف کنید و ویژگی‌ها را استانداردسازی کنید. برای مثال، در مدل پیش‌بینی قیمت مسکن، می‌توان متراژ خانه‌ها را استاندارد و قیمت‌ها را نرمال‌سازی کرد تا در یک مقیاس مشابه قرار گیرند.
  2. مهندسی ویژگی‌ها: تعیین کنید کدام متغیرها بیشترین کمک را به پیش‌بینی هدف می‌کنند. مثلاً در پیش‌بینی زمان پروژه‌های نرم‌افزاری، اندازه تیم، پیچیدگی پروژه و زمان‌های تکمیل پیشین می‌توانند ویژگی‌های کلیدی باشند.
  3. آموزش مدل: داده‌های آماده‌شده را وارد مدل رگرسیون کنید. مدل به‌صورت تکراری پارامترهای خود (شیب و عرض از مبدأ) را تنظیم می‌کند تا بهترین خط را روی داده‌های آموزش پیدا کند و روابط میان ویژگی‌ها و هدف را یاد بگیرد.
  4. ارزیابی مدل: عملکرد مدل را با استفاده از معیارهایی مانند MSE (Mean Squared Error) یا R-squared بررسی کنید. یک مدل قابل اعتماد باید مقدار R-squared بالایی داشته باشد.
  5. بهینه‌سازی: مدل را بر اساس عملکردش تنظیم کنید؛ اضافه یا حذف ویژگی‌ها، مدیریت روابط غیرخطی، یا حل مشکل هم‌خطی متغیرها می‌تواند جزو اقدامات بهینه‌سازی باشد.
  6. استقرار (Deployment): مدل را در محیط عملیاتی قرار دهید تا پیش‌بینی‌های واقعی انجام دهد. مثلاً یک پلتفرم تجارت الکترونیک می‌تواند از رگرسیون برای پیش‌بینی زمان ارسال بسته‌ها بر اساس فاصله، وزن و عوامل فصلی استفاده کند.
  7. پایش (Monitoring): عملکرد مدل را به‌طور منظم بررسی کنید، زیرا تغییر الگوهای داده‌ای (مثل رفتار کاربران) ممکن است نیازمند به‌روزرسانی مدل باشد.

سه نوع رگرسیون خطی در یادگیری ماشین

کارشناسان ML معمولا با سه نوع رگرسیون خطی کار می‌کنند که هرکدام برای سناریوهای پیش‌بینی متفاوت مناسب است:

  1. رگرسیون خطی ساده: فقط یک متغیر ورودی برای پیش‌بینی خروجی استفاده می‌شود. مثال: پیش‌بینی زمان تماشای محتوا در یک سرویس استریم بر اساس سن کاربر.
  2. رگرسیون خطی چندگانه: چندین عامل بر نتیجه تأثیر می‌گذارند. مثال: پیش‌بینی هزینه سرور در سرویس ابری بر اساس مصرف CPU، فضای ذخیره‌سازی و پهنای باند.
  3. رگرسیون چندجمله‌ای (Polynomial Regression): وقتی رابطه‌ها خطی نیستند، با افزودن ترم‌های توان‌دار به معادله، روابط منحنی شکل را مدل می‌کند. مثال: پیش‌بینی بار سرور در یک بازی آنلاین که با افزایش تعداد بازیکنان، نیاز سرور به شکل غیرخطی افزایش می‌یابد.

اجرای رگرسیون خطی در ML

برای اجرای موفقیت‌آمیز رگرسیون خطی، دقت و نظم اهمیت زیادی دارد. برخی نکات عملی:

  • بنیاد داده‌ها: قبل از نوشتن کد، داده‌ها را بررسی و ترسیم کنید. کتابخانه‌هایی مانند Matplotlib و Seaborn برای نمودارهای پراکندگی، هیستوگرام و ماتریس همبستگی مناسب‌اند. ابزارهایی مثل Plotly و Bokeh قابلیت‌های تعاملی اضافه می‌کنند.
  • مقیاس‌بندی ویژگی‌ها: وقتی متغیرها در مقیاس‌های متفاوت هستند (مثلاً سن کاربر و درآمد سالانه)، استانداردسازی یا نرمال‌سازی الزامی است تا ویژگی‌های بزرگ‌تر بر مدل غالب نشوند.

رویکرد عملی:

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

نکته: از هم‌خطی متغیرها (Multicollinearity) آگاه باشید. مثلاً در پیش‌بینی زمان توسعه نرم‌افزار، استفاده همزمان از تعداد خطوط کد و تعداد فانکشن‌ها می‌تواند مشکل‌ساز باشد.

شروع کار با رگرسیون خطی

  • انتخاب ابزار: کتابخانه Python scikit-learn ساده‌ترین مسیر برای مبتدیان است. برای داده‌های بزرگ‌تر، PyTorch یا TensorFlow هم قابلیت رگرسیون خطی دارند.
  • آماده‌سازی داده اولیه: از مجموعه‌های داده تمیز و کوچک مثل California Housing یا Boston Housing استفاده کنید.
  • ساخت اولین مدل: هدف، درک جریان کاری است نه رسیدن به دقت کامل.
  • ارزیابی و تکرار: مقدار R-squared و نمودارهای باقی‌مانده‌ها را بررسی کنید و در هر مرحله یاد بگیرید که چه ویژگی‌ها یا پردازش‌هایی نیاز به اصلاح دارند.
سه نوع رگرسیون خطی در یادگیری ماشین

سوالات متداول

در ادامه به سوالاتی که امکان دارد در این زمینه برای شما بدون پاسخ بماند، جواب‌های کوتاه اما مفیدی داده‌ایم که با استفاده از آن می‌توانید به سوال خود پاسخ صحیحی را بدهید.

رگرسیون خطی چیست؟

رگرسیون خطی مانند کشیدن یک خط روی نقاط پراکنده است تا پیش‌بینی انجام شود. کمک می‌کند بفهمیم یک عامل چگونه روی عامل دیگر اثر می‌گذارد.

تفاوت رگرسیون خطی با لجستیک چیست؟

رگرسیون خطی مقادیر عددی پیوسته پیش‌بینی می‌کند، در حالی که لجستیک دسته‌بندی‌ها را پیش‌بینی می‌کند (مثلاً بله/خیر).

رگرسیون خطی نظارت‌شده است یا بدون نظارت؟

رگرسیون خطی یک تکنیک یادگیری نظارت‌شده است، زیرا مدل از داده‌های برچسب‌دار برای یادگیری روابط استفاده می‌کند.

کاربردهای رگرسیون خطی:

پیش‌بینی مقادیر آینده، درک روابط متغیرها، شناسایی روندها و سنجش تأثیر تغییرات در شاخص‌های کسب‌وکار.

فرض‌های کلیدی:

خطی بودن رابطه، استقلال مشاهدات، واریانس ثابت خطاها، و توزیع نرمال باقی‌مانده‌ها. رعایت نکردن این فرض‌ها ممکن است به پیش‌بینی‌های غیرقابل اعتماد منجر شود.

کاربردهای رگرسیون خطی:

جمع بندی

رگرسیون خطی یکی از روش‌های پایه و پرکاربرد یادگیری نظارت‌شده در یادگیری ماشین است که رابطه بین متغیرهای مستقل و وابسته را با برازش یک خط مستقیم مدل‌سازی می‌کند. این روش در صنایع مختلف مانند سلامت، آموزش، تجارت الکترونیک و مدیریت موجودی کاربرد دارد و با تحلیل داده‌های گذشته، امکان پیش‌بینی مقادیر آینده را فراهم می‌کند. مدل رگرسیون خطی با فرمول y=mx+by = mx + by=mx+b بهترین خط برازش را پیدا می‌کند و با استفاده از روش حداقل مربعات معمولی (OLS) خطاها را به حداقل می‌رساند تا ضرایب مدل قابل اعتماد باشند.

برای اجرای صحیح رگرسیون خطی، فرض‌های کلیدی شامل خطی بودن رابطه، استقلال مشاهدات، واریانس ثابت خطاها، نرمال بودن باقی‌مانده‌ها و عدم هم‌خطی کامل متغیرها باید رعایت شود. روند اجرای مدل شامل آماده‌سازی داده‌ها، مهندسی ویژگی‌ها، آموزش مدل، ارزیابی با معیارهایی مانند MSE و R-squared، بهینه‌سازی و استقرار مدل است. انواع رگرسیون خطی شامل ساده، چندگانه و چندجمله‌ای است که هرکدام برای پیش‌بینی روابط متفاوت کاربرد دارند. این روش ابزاری قدرتمند برای پیش‌بینی مقادیر آینده، درک روابط بین متغیرها و پشتیبانی از تصمیم‌گیری داده‌محور در کسب‌وکارها و پروژه‌های یادگیری ماشین به شمار می‌رود.

به اشتراک بگذارید

برچسب‌ها: