نوشته‌ها

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

انواع الگوریتم های یادگیری ماشین

سه نوع اصلی الگوریتم های یادگیری ماشین از قرار زیرند :

  • یادگیری نظارت شده (هدایت شده – Supervised Learning) : در این نوع از الگوریتم ها که بار اصلی یادگیری ماشین را بر دوش می کشند (از لحاظ تعداد الگوریتم های این نوع)، با دو نوع از متغیرها سروکار داریم . نوع اول که متغیرهای مستقل نامیده میشوند، یک یا چند متغیر هستند که قرار است بر اساس مقادیر آنها، یک متغیر دیگر را پیش بینی کنیم. مثلا سن مشتری و تحصیلات و میزان درآمد و وضعیت تاهل برای پیش بینی خرید یک کالا توسط یک مشتری ، متغیرهای مستقل هستند. نوع دوم هم متغیرهای وابسته یا هدف یا خروجی هستند و قرار است مقادیر آنها را به کمک این الگوریتم ها پیش بینی کنیم . برای این منظور باید تابعی ایجاد کنیم که ورودیها (متغیرهای مستقل) را گرفته و خروجی موردنظر (متغیر وابسته یا هدف) را تولید کند. فرآیند یافتن این تابع که در حقیقت کشف رابطه ای بین متغیرهای مستقل و متغیرهای وابسته است را فرآیند آموزش (Training Process) می گوئیم که روی داده های موجود (داده هایی که هم متغیرهای مستقل و هم متغیرهای وابسته آنها معلوم هستند مثلا خریدهای گذشته مشتریان یک فروشگاه) اعمال میشود و تا رسیدن به دقت لازم ادامه می یابد.  نمونه هایی از این الگوریتم ها عبارتند از رگرسیون، درختهای تصمیم ، جنگل های تصادفی، N نزدیک ترین همسایه، و رگرسیون لجستیک می باشند.
  • یادگیری بدون ناظر (unsupervised learning) : در این نوع از الگوریتم ها ، متغیر هدف نداریم و خروجی الگوریتم، نامشخص است. بهترین مثالی که برای این نوع از الگوریتم ها می توان زد، گروه بندی خودکار (خوشه بندی) یک جمعیت است مثلاً با داشتن اطلاعات شخصی و خریدهای مشتریان، به صورت خودکار آنها را به گروه های همسان و هم ارز تقسیم کنیم . الگوریتم Apriori و K-Means از این دسته هستند.

 

type of machine learning

  • یادگیری تقویت شونده (Reinforcement Learning) : نوع سوم از الگوریتم ها که شاید بتوان آنها را در زمره الگوریتم های بدون ناظر هم دسته بندی کرد، دسته ای هستند که از آنها با نام یادگیری تقویت شونده یاد میشود. در این نوع از الگوریتم ها، یک ماشین (در حقیقت برنامه کنترل کننده آن)، برای گرفتن یک تصمیم خاص ، آموزش داده می شود و ماشین بر اساس موقعیت فعلی (مجموعه متغیرهای موجود) و اکشن های مجاز (مثلا حرکت به جلو ، حرکت به عقب و …) ، یک تصمیم را می گیرد که در دفعات اول، این تصمیم می تواند کاملاً تصادفی باشد و به ازای هر اکشن یا رفتاری که بروز می دهد، سیستم یک فیدبک یا بازخورد یا امتیاز به او میدهد و از روی این فیدبک، ماشین متوجه میشود که تصمیم درست را اتخاذ کرده است یا نه که در دفعات بعد در آن موقعیت ، همان اکشن را تکرار کند یا اکشن و رفتار دیگری را امتحان کند.  با توجه به وابسته بودن حالت و رفتار فعلی به حالات و رفتارهای قبلی، فرآیند تصمیم گیری مارکوف ، یکی از مثالهای این گروه از الگوریتم ها می تواند باشد . الگوریتم های شبکه های عصبی هم می توانند ازین دسته به حساب آیند. منظور از کلمه تقویت شونده در نام گذاری این الگوریتم ها هم اشاره به مرحله فیدبک و بازخورد است که باعث تقویت و بهبود عملکرد برنامه و الگوریتم می شود .

نمونه ای از دسته بندی کلاسیک الگوریتم های یادگیری ماشین که بر اساس وجود یا عدم وجود عامل کنترل کننده (ناظر) و گسسته و پیوسته بودن متغیرها انجام شده است را می توانید در این شکل ببینید :

 

Machine learning algorithms

 

الگوریتم های اصلی و رایج یادگیری ماشین

در این سری از مقالات به آموزش الگوریتم های زیر با نمونه کدهای لازم و مثالهای تشریحی، خواهیم پرداخت :

  1. رگرسیون خطی
  2. رگرسیون لجستیک
  3. درخت تصمیم
  4. SVM
  5. Naive Bayes
  6. KNN
  7. K-Means
  8. جنگل تصادفی
  9. الگوریتم های کاهش ابعاد
  10. Gradient Boost & Ada Boost

 

طبقه بندی الگوریتم های مختلف یادگیری ماشین

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

در سال ۲۰۰۷ یک مقاله با عنوان ده الگوریتم برتر حوزه داده کاوی در دنیا توسط دانشگاه ورمونت مطرح شد که نسخه فارسی شده و حتی آماده انتشار به صورت کتاب آنرا هم در ایران داریم . مقاله فارسی را می توانید از این لینک دانلود نمایید.

۱۰ الگریتم برترین های داده کاوی

رمز : behsanandish.com

این ده الگوریتم عبارتند از :

در سال ۲۰۱۱، در سایت پرسش و پاسخ معروف Qura در پاسخ به سوالی که ده الگوریتم برتر داده کاوی را پرسیده بود، موارد زیر توسط کاربران برشمرده شده اند :

  1. Kernel Density Estimation and Non-parametric Bayes Classifier
  2. K-Means
  3. Kernel Principal Components Analysis
  4. Linear Regression
  5. Neighbors (Nearest, Farthest, Range, k, Classification)
  6. Non-Negative Matrix Factorization
  7. Dimensionality Reduction
  8. Fast Singular Value Decomposition
  9. Decision Tree
  10. Bootstapped SVM
  11. Decision Tree
  12. Gaussian Processes
  13. Logistic Regression
  14. Logit Boost
  15. Model Tree
  16. Naïve Bayes
  17. Nearest Neighbors
  18. PLS
  19. Random Forest
  20. Ridge Regression
  21. Support Vector Machine
  22. Classification: logistic regression, naïve bayes, SVM, decision tree
  23. Regression: multiple regression, SVM
  24. Attribute importance: MDL
  25. Anomaly detection: one-class SVM
  26. Clustering: k-means, orthogonal partitioning
  27. Association: A Priori
  28. Feature extraction: NNMF

و در سال ۲۰۱۵ این لیست به صورت زیر در آمده است :

  1. Linear regression
  2. Logistic regression
  3. k-means
  4. SVMs
  5. Random Forests
  6. Matrix Factorization/SVD
  7. Gradient Boosted Decision Trees/Machines
  8. Naive Bayes
  9. Artificial Neural Networks
  10. For the last one I’d let you pick one of the following:
  11. Bayesian Networks
  12. Elastic Nets
  13. Any other clustering algo besides k-means
  14. LDA
  15. Conditional Random Fields
  16. HDPs or other Bayesian non-parametric model

سایت DataFloq اخیراً یک طبقه بندی گرافیکی از الگوریتم های ضروری یادگیری ماشین ارائه کرده است که به صورت طبقه بندی شده ، این الگوریتم ها را فهرست کرده است :

 

12-algorithms-every-data-scientist-should-know

 

این طبقه بندی را به صورت نقشه ذهن یا Mind Map هم می توانیم مشاهده کنیم :

 

Machine Learning Algorithms

 

 

منبع

 

 

نرمال بودن باقی‌مانده‌ها

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

residuals and normal

البته روش‌ دقیق‌تر، ترسیم نمودار «چندک-چندک» (Q-Q Plot) برای باقی‌مانده‌ها یا مشاهدات y و داده‌های توزیع نرمال است. در زیر نمودار چندک-چندک برای داده‌های مربوط به مثال قبل ترسیم شده است.

qq-plot
نمودار چندک-چندک Q-Q Plot

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

ثابت بودن واریانس

از طرفی واریانس جمله‌ خطا نیز طبق فرضیه‌های اولیه برای مدل رگرسیونی، باید ثابت و برابر با σ۲ باشد. برآورد واریانس برای جمله‌های خطا نیز به صورت زیر است:

σ۲=∑(yi−y^i)2n−۲

مشخص است که مقدار yi بیانگر مقدار مشاهده شده و y^i مقدار پیش‌بینی برای مشاهده iام است. از آنجایی که در برآورد واریانس احتیاج به دو پارامتر مدل رگرسیونی است، دو درجه آزادی از تعداد مشاهدات کم شده است و در مخرج کسر n-2‌ قرار گرفته است.

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

تصویر زیر حالتی را نشان می‌دهد که واریانس باقی‌مانده‌ها نسبت به مقدار پیش‌بینی حالت افزایشی دارد و ثابت نیست.

unequal-residual-variance
افزایشی بودن واریانس باقی‌مانده‌ها

همچنین کاهشی بودن واریانس باقی‌مانده‌ها نسبت به مقدار پیش‌بینی در تصویر زیر دیده می‌شود.

not-equal-variance-type2
نزولی بودن واریانس باقی‌مانده با افزایش مقدار پیش‌بینی

اگر در مدل رگرسیونی باقی‌مانده‌ها نسبت به مقدار پیش‌بینی به طور تصادفی حول نقطه صفر تغییر کند، ثابت بودن واریانس قابل شناسایی است. این حالت در تصویر زیر دیده می‌شود.

equal-variance
ثابت بودن واریانس باقی‌مانده‌ها

منبع

تعریف رگرسیون خطی (Linear Regression) قسمت ۱
تعریف رگرسیون خطی (Linear Regression) قسمت ۲
تعریف رگرسیون خطی (Linear Regression) قسمت ۳
تعریف رگرسیون خطی (Linear Regression) قسمت ۴
تعریف رگرسیون خطی (Linear Regression) قسمت ۵
تعریف رگرسیون خطی (Linear Regression) قسمت ۶
تعریف رگرسیون خطی (Linear Regression) قسمت ۷

برآورد پارامترهای رگرسیون خطی ساده

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

  • محاسبه مجموع توان دوم خطا

∑(yi−(β^۰+β^۱xi))2

  • مشتق مجموع مربعات خطا برحسب پارامتر β^۰

∑(−yi+β^۰+β^۱xi)

  • برابر قرار دادن مشتق با صفر به منظور پیدا کردن نقاط کمینه

∑(−yi+β^۰+β^۱xi)=0

  • پیدا کردن ریشه برای معادله حاصل برحسب β^۰

β^۰=y¯−β^۱x¯

  • مشتق مجموع مربعات خطا بر حسب پارامتر  β^۱

∑(−۲xiyi+2β^۰xi+2β^۱xi2)

  • جایگذاری β^۰ و پیدا کردن ریشه برای معادله حاصل برحسب β^۱

−∑(xiyi+(y¯−β^۱x¯)∑xi+β^۱∑xi2)=0

β۱^=∑(xi−x¯)(yi−y¯)∑(xi−x¯)۲

به این ترتیب برآورد پارامترهای مدل خطی به صورت زیر خواهند بود.

β۱^=∑(xi−x¯)(yi−y¯)∑(xi−x¯)۲

β۰^=y¯−β۱^x¯

که در آن   و  میانگین x و y هستند.

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

β۱^=n(xy¯−x¯y¯))(n−۱)σx2

که منظور از xy¯ میانگین حاصلضرب x و y بوده و σx2 نیز بیانگر واریانس مقدارهای x است.

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

y^=E(Y|X=x)=β۰^+β۱^x

که در آن E(Y|X=x) نشان‌دهنده امید ریاضی (متوسط) شرطی است و همچنین  β۰^ و β^۱ برآوردهای مربوط به هر یک از پارامترها هستند.

نکته: به راحتی دیده می‌شود که میانگین مربوط به متغیر مستقل و وابسته روی خط رگرسیون قرار دارند. یعنی این نقطه در معادله خط رگرسیون صدق می‌کند. زیرا با توجه به محاسبه β۰ داریم:

β۰^=y¯−β۱^x¯→Y¯=β^۰+β^۱X¯

مثال

اطلاعات مربوط به ۵۰ خانه شامل قیمت (به میلیون ریال) و متراژ (متر مربع) در شهر تهران جمع‌آوری شده است. این اطلاعات را می‌توانید با قالب اکسل از اینجا دریافت کنید.

با توجه به ضریب همبستگی بین این دو متغیر که برابر با ۰٫۹۸۹۱ است،‌ مشخص است که رابطه خطی شدیدی بینشان برقرار است. اگر فرض کنیم قیمت خانه متغیری وابسته به متراژ است، محاسبات اولیه برای برآورد پارامترهای مدل رگرسیونی در جدول زیر قرار گرفته.

XY¯σX2
۸۴٫۹۴۵۱٫۱۳۶۴۰۳۵۰٫۶۴۱۱٫۷۲۴

بر این اساس برآورد پارامترهای مدل خطی به صورت β^۰=۱۹٫۹۶۵ و β^۱=۵٫۰۷۸  خواهد بود. در نتیجه می‌توان معادله مربوط برآورد مقدار متغیر وابسته را به صورت زیر نوشت:

yi^=19.965+5.078xi

پس اگر لازم باشد که ارزش خانه‌ای با متراژ ۶۱ متر محاسبه شود، کافی است در معادله بالا برای xi‌ مقدار ۶۱ را جایگزین کرده،‌ مقدار y^i را بدست آوریم که برابر با ۳۲۹٫۷۵۸ میلیون ریال است. در تصویر زیر نمودار مربوط به داده‌ها و خط رگرسیون دیده می‌شود.

yi^=19.965+5.078(61)=329.758

 

 

تعریف رگرسیون خطی (Linear Regression) قسمت ۱
تعریف رگرسیون خطی (Linear Regression) قسمت ۲
تعریف رگرسیون خطی (Linear Regression) قسمت ۳
تعریف رگرسیون خطی (Linear Regression) قسمت ۴
تعریف رگرسیون خطی (Linear Regression) قسمت ۵
تعریف رگرسیون خطی (Linear Regression) قسمت ۶
تعریف رگرسیون خطی (Linear Regression) قسمت ۷

مفهوم رگرسیون

در آمار، رگرسیون خطی یک روریکرد مدل خطی بین متغیر «پاسخ» (Response) با یک یا چند متغیر «توصیفی» (Explanatory) است. اغلب برای کشف مدل رابطه‌ی خطی بین متغیرها از رگرسیون (Regression) استفاده می‌شود. در این حالت فرض بر این است که یک یا چند متغیر توصیفی که مقدار آن‌ها مستقل از بقیه متغیرها یا تحت کنترل محقق است، می‌تواند در پیش‌بینی متغیر پاسخ که مقدارش وابسته به متغیرهای توصیفی و تحت کنترل محقق نیست، موثر باشد. هدف از انجام تحلیل رگرسیون شناسایی مدل خطی این رابطه‌ است.

در ادامه از  متغیر وابسته به جای متغیر پاسخ و متغیر مستقل به جای متغیر توصیفی استفاده می‌کنیم.

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

تاریخچه رگرسیون

واژه رگرسیون برای اولین بار در مقاله‌ معروف فرانسیس گالتون دیده شد که در مورد قد فرزندان و والدینشان بود. این واژه به معنی بازگشت است. او در مقاله خود در سال ۱۸۷۷ اشاره می‌کند که قد فرزندان قد بلند به میانگین قد جامعه میل می‌کند. او این رابطه را «بازگشت» (Regress) نامید.

هر چند واژه رگرسیون در شاخه علوم زیستی معرفی شد ولی آنچه امروزه به نام رگرسیون می‌شناسیم،‌ روشی است که توسط «گاوس» (Gauss) در سال ۱۸۰۹ معرفی شد تا به کمک آن پارامترهای مجهول رابطه بین مدار سیاره‌های منظومه شمسی را برآورد کند.

بعدها روش گاوس توسط پیرسون (Pearson) توسعه یافت و با مفاهیم آماری آمیخته شد. همچنین پیرسون توزیع توام متغیر وابسته و مستقل را توزیع گاوسی در نظر گرفت. بعدها «فیشر» (R. A. Fisher) توزیع متغیر وابسته به شرط متغیر مستقل را توزیع گاوسی محسوب کرد.

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

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

Y=β۰+β۱X+ϵ

همانطور که دیده می‌شود این رابطه، معادله یک خط است که جمله خطا یا همان ϵ‌ به آن اضافه شده. پارامترهای این مدل خطی عرض از مبدا (β۰) و شیب خط (β۱) است. شیب خط در حالت رگرسیون خطی ساده، نشان می‌دهد که میزان حساسیت متغیر وابسته به متغیر مستقل چقدر است. به این معنی که با افزایش یک واحد به مقدار متغیر مستقل چه میزان متغیر وابسته تغییر خواهد کرد. عرض از مبدا نیز بیانگر مقداری از متغیر وابسته است که به ازاء مقدار متغیر مستقل برابر با صفر محاسبه می‌شود. به شکل دیگر می‌توان مقدار ثابت یا عرض از مبدا را مقدار متوسط متغیر وابسته به ازاء حذف متغیر مستقل در نظر گرفت.

برای مثال فرض کنید کارخانه‌ای می‌خواهد میزان هزینه‌هایش را براساس ساعت کار برآورد کند. شیب خط حاصل از برآورد نشان می‌دهد به ازای یک ساعت افزایش ساعت کاری چه میزان بر هزینه‌هایش افزوده خواهد شد. از طرفی عرض از مبدا خط رگرسیون نیز هزینه ثابت کارخانه حتی زمانی که ساعت کاری نیست نشان می‌دهد. این هزینه را می‌توان هزینه‌های ثابت مانند دستمزد نگهبانان و هزینه روشنایی فضای کارخانه فرض کرد.

گاهی مدل رگرسیونی را بدون عرض از مبدا در نظر می‌گیرند و  β۰=۰ محسوب می‌کنند. این کار به این معنی است که با صفر شدن مقدار متغیر مستقل، مقدار متغیر وابسته نیز باید صفر در نظر گرفته شود. زمانی که محقق مطمئن باشد که که خط رگرسیون باید از مبدا مختصات عبور کند، این گونه مدل در نظر گرفته می‌شود. فرم مدل رگرسیونی در این حالت به صورت زیر است:

Y=β۱X+ϵ

از آنجایی که پیش‌بینی رابطه بین متغیر وابسته و مستقل به شکل دقیق نیست، جمله خطا را یک «متغیر تصادفی» (Random Variable) با میانگین صفر در نظر می‌گیرند تا این رابطه دارای اریبی نباشد.

باید توجه داشت که منظور از رابطه خطی در مدل رگرسیون، وجود رابطه خطی بین ضرایب است نه بین متغیرهای مستقل. برای مثال این مدل y=β۰+β۱×۲+ϵ را نیز می‌توان مدل خطی در نظر گرفت در حالیکه مدل y=β۰xβ۱+ϵ دیگر خطی نیست و به مدل نمایی شهرت دارد.

همچنین در فرضیات این مدل، خطا یک جمله تصادفی است و تغییرات آن مستقل از متغیر X‌ است. به این ترتیب مقدار خطا وابسته به مقدار متغیر مستقل نیست.

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

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

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

برای مثال تعدادی مقدار برای متغیر وابسته براساس مقدار x=65 وجود دارد که شکل توزیع فراوانی آن‌ها به صورت نرمال با میانگین β۰+β۱×۶۵ است. همچنین برای نقطه ۹۰ نیز مقدار پیش‌بینی یا برآورد برای متغیر وابسته به صورت β۰+β۱×۹۰ خواهد بود. در هر دو حالت واریانس خطا یا واریانس مقدارهای پیش‌بینی‌شده (پهنای منحنی زنگی شکل)  ثابت است.

در تصویر زیر چهار نقطه از مشاهدات (x,y) به همراه خط رگرسیون دیده می‌شوند که در آن خط رگرسیون با رنگ آبی، نقطه‌های مربوط به مشاهدات با رنگ قرمز و فاصله هر نقطه از خط رگرسیون (خطای برآورد) با رنگ سبز نشان داده شده است.

 

Linear_least_squares
نمودار نقطه‌ای متغیر مستقل و وابسته،‌ میزان خطا و خط رگرسیون

برای برآورد کردن پارامترهای مدل رگرسیونی باید معادله خطی یافت شود که از بین همه خطوط دیگر دارای کمترین مجموع توان دوم خطا باشد. یعنی ∑ϵ۲ برای آن از بقیه خطوط کمتر باشد.

points_for_linear_regression
خطوط مناسب برای بیان رابطه بین متغیر مستقل و وابسته

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

 

تعریف رگرسیون خطی (Linear Regression) قسمت ۱
تعریف رگرسیون خطی (Linear Regression) قسمت ۲
تعریف رگرسیون خطی (Linear Regression) قسمت ۳
تعریف رگرسیون خطی (Linear Regression) قسمت ۴
تعریف رگرسیون خطی (Linear Regression) قسمت ۵
تعریف رگرسیون خطی (Linear Regression) قسمت ۶
تعریف رگرسیون خطی (Linear Regression) قسمت ۷

تنظیم مدل (Regularization)

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

در تنظیم مدل به روش  تابع هزینه را به این شکل تغییر می‌دهیم:

این روش تنظیم مدل که به روش لاسو (Lasso) نیز شهرت دارد باعث می‌شود که بسیاری از پارامترهای مدل نهائی صفر شوند و مدل به اصلاح خلوت (Sparse) شود.

در تنظیم مدل به روش  تابع هزینه را به این شکل تغییر می‌دهیم:

در روش تنظیم از طریق سعی می‌شود طول اقلیدسی بردار کوتاه نگه داشته شود. در روش و یک عدد مثبت است که میزان تنظیم مدل را معین می‌کند. هرچقدرکوچکتر باشد جریمه کمتری برا بزرگی نرم بردار پارامترها یعنی پرداخت می‌کنیم. مقدار ایدئال  از طریق آزمایش بر روی داده اعتبار (Validation Data) پیدا می‌شود.

تفسیر احتمالی تنظیم مدل

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

ازین رو

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

با ساده کردن این معادله به این جواب می‌رسیم، در اینجا برابر است با :

همان‌طور که دیدیم جواب همان تنظیم مدل با نرم است.

حال اگر احتمال پیشین را از نوع توزیع لاپلاس با میانگین صفر درنظر بگیریم به تنظیم مدل با نرم  خواهیم رسید.

منبع


استفاده از داده‌ها به منظور کشف رابطه بین آن‌ها اساس داده‌کاوی است. یکی از ابزار سنجش رابطه و مدل‌سازی استفاده از ابزار آماری رگرسیون است. امروزه به منظور تحلیل و کشف مدل روی «مه داده» (کلان‌داده | Big Data)، روش‌های مختلف رگرسیون توسعه یافته است. استفاده از تحلیل گرسیونی در علوم مختلف داده‌کاوی، بخصوص مبحث «آموزش ماشین» (Machine Learning)، فیزیک، شیمی و علوم زیستی کاربرد بسیاری دارد.

 

تعریف رگرسیون خطی (Linear Regression) قسمت ۱
تعریف رگرسیون خطی (Linear Regression) قسمت ۲
تعریف رگرسیون خطی (Linear Regression) قسمت ۳
تعریف رگرسیون خطی (Linear Regression) قسمت ۴
تعریف رگرسیون خطی (Linear Regression) قسمت ۵
تعریف رگرسیون خطی (Linear Regression) قسمت ۶
تعریف رگرسیون خطی (Linear Regression) قسمت ۷

رگرسیون خطی یا تنازل خطی یا وایازی خطی (Linear regression) یکی از روشهای تحلیل رگرسیون است. در رگرسیون خطی، متغیّر وابسته  ترکیب خطی‌ای از ورودی یا متغیرهای مستقل است. البته ضرورتاً متغیر وابسته لازم نیست که نسبت به متغیرهای مستقل، خطی باشد.

رگرسیون خطی با یک متغیر مستقل

رگرسیون خطی با یک متغیر مستقل

تخمین پارامترها برای مسائل تک متغیره

رگرسیون میزان اثر دو یا چند متغیر بر متغیر وابسته را می‌سنجد و همبستگی رابطه بین دو یا چند متغیر را مورد سنجش قرار می‌دهد.

مثلاً تحلیل رگرسیونی سادهٔ زیر با  نقطه، متغیر مستقل و ضرایب و  خطی است:

خط راست:

در هر دو حالت، مقدار خطاست و پانویس شمارهٔ هر مشاهده (هر جفت و ) را نشان می‌دهد. با داشتن مجموعه‌ای از این نقطه‌ها می‌توان مدل را به دست آورد:

عبارت مانده نام دارد: . روش رایج برای به‌دست‌آوردن پارامترها، روش کمترین مربعات است. در این روش پارامترها را با کمینه‌کردن تابع زیر به دست می‌آورند:

در مورد رگرسیون ساده، پارامترها با این روش برابر خواهند بود با:

که در آن و میانگین و  هستند.

تفاوت رگرسیون و همبستگی بر اساس هدف:

هدف مدل‌های همبستگی بررسی میزان رابطه دو یا چند متغیر است در حالیکه رگرسیون به دنبال پیش‌بینی یک یا چند متغیر براساس یک یا چند متغیر دیگر است. از آنجا که رگرسیون برپایه داده‌های گذشته انجام می‌شود به آن عنوان Regression یعنی بازگشت به گذشته داده‌اند؛ بنابراین از نظر هدف همبستگی میزان و شدت رابطه متغیرها را نشان می‌دهد اما رگرسیون معادله ای را برای پیش‌بینی متغیرها ارائه می‌کند.

تفاوت رگرسیون و همبستگی براساس روش:

آنچه در خروجی نتایج رگرسیون و همبستگی باعث ایجاد تفاوت می‌شود آن است که در همبستگی همیشه اثرات متغیرها به صورت دو به دو مورد سنجش قرار می‌گیرد اما در یک مدل رگرسیون اثرات متغیرها به صورت همزمان بررسی می‌شود. یعنی در همبستگی رابطه متغیر X با متغیر Y به وجود یا عدم وجود متغیر Z ارتباطی ندارد اما اما در رگرسیون تأثیر متغیر X بر متغیر Y به وجود یا عدم وجود متغیر Z بستگی دارد.

تعریف رگرسیون خطی (Linear Regression) قسمت ۱
تعریف رگرسیون خطی (Linear Regression) قسمت ۲
تعریف رگرسیون خطی (Linear Regression) قسمت ۳
تعریف رگرسیون خطی (Linear Regression) قسمت ۴
تعریف رگرسیون خطی (Linear Regression) قسمت ۵
تعریف رگرسیون خطی (Linear Regression) قسمت ۶
تعریف رگرسیون خطی (Linear Regression) قسمت ۷