از آنجا که که مدل (منظور رگرسیون خطی)، خروجی ها را با داشتن یک ورودی (یک متغیر مستقل) یا چندین ورودی (چندین متغیر مستقل) ایجاد می کند، می توانیم این خروجی های برآورد شده (تخمین زده شده یا ) را نسبت به مقادیر واقعی (Actual Value) که ما سعی کردیم پیش بینی کنیم، بررسی کنیم. در ادامه مفهوم یا واژه ای به نام Residual را معرفی می کنیم که تفاوت (تفریق) میان مقدار واقعی با مقدار پیش بینی شده را نشان می دهد.

اما الگوریتم رگرسیون خطی چگونه می تواند بهترین خط رگرسیون را پیدا کند؟ گفتیم که پارامترهای رگرسیون خطی، تاثیر مستقیم روی خط رگرسیون دارند، بنابراین به عبارت دیگر چگونه مقدارهای این پارامترها پیدا می شوند؟ Residual را که خطا (Error) نیز می نامند، فاصله (تفاضل) میان مقدار نمونه (مشاهده) با مقدار پیش بینی شده را نشان می دهد. برای رسم بهترین خط رگرسیون، الگوریتم رگرسیون خطی، مجموع مربعات خطاها را کمینه (Minimum) می کند. در ادامه روش های زیر را در رگرسیون خطی برای تخمین خطای مدل بررسی می کنیم.

میانگین قدر مطلق خطا (MAE) – همین نوشته

میانگین مربعات خطا (MSE)

Residual Sum Square (یا RSS) همین نوشته

بنابراین برخی از داده ها بر روی خط رگرسیون هستند و برخی دیگر از این خط فاصله دارند. فاصله نقطه های بیرون خط با خود خط، نشان دهنده میزان خطا (Error) هستند که در شکل زیر نشان داده شده اند. هدف کمینه (Minimum) کردن مجموع مربعات (Minimum Sum of Squared Error) است. شکل زیر مفهوم خطا یا Residual را نشان می دهد.

دو مفهوم Residual (یا خطا – Error) و Fitted Value در رگرسیون خطی وجود دارد که بسیار مهم هستند. توجه کنید که داده ها (نقطه های روی نمودار) همیشه روی خط رگرسیون (Regression Line) قرار نمی گیرند و قطعا بیرون خط رگرسیون قرار می گیرند. بنابراین باید مقدار Residual را برای تمامی نقطه ها یا داده ها حساب کنیم و توجه کنید که Residual ها نقش مهمی را در قضاوت کردن در مورد سودمندی یک مدل بازی خواهند کرد. بنابراین اگر داده روی خط رگرسیون قرار بگیرد، خطا برابر با صفر است و در غیر این صورت خطا برابر با فاصله (Distance) نقطه از خط رگرسیون است. بنابراین می توانیم معادله ساده رگرسیون ساده را با در نظر گرفتن خطا، به صورت معادله شکل زیر (منبع) باز نویسی کنیم.

توجه کنید که منظور از Fitted Value همان مقدار پیش بینی شده است و منظور از Residual مقدار خطا است و مقدار آن برابر است با فاصله (تفاضل) میان مقدار واقعی با مقدار پیش بینی شده که در شکل نخست می توانید ببینید. در شکل زیر مقدار پیش بینی شده را با نماد ŷ نشان داده شده است.

در معادله شکل زیر ê مقدار خطا، یعنی فاصله میان مقدار واقعی با مقدار پیش بینی شده را نشان می دهد. بنابراین بر پایه شکل زیر اندازه خطا برای یک نمونه (مشاهده) در مجموعه داده، برابر است با برآورد y – ŷ که در آن y مقدار درست و واقعی پاسخ است که می خواهیم پیش بینی شود ولی ŷ مقداری است که مدل پیش بینی کرده است. ما انتظار داریم که مدل حتما y را پیش بینی کند، یعنی y=ŷ ولی این آرمانی و نشدنی است و همیشه یک خطا رخ می دهد.

اگر y=ŷ باشد، یعنی خطایی نداریم و این یعنی مقدار ê برابر با صفر است. در صورتی که خطا صفر باشد، مقدار پیش بینی شده بر روی خط رگرسیون می افتد، ولی اگر خطا داشته باشیم، یعنی ê دیگر صفر نباشد، پس مقدار پیش بینی شده بالا یا پایین خط رگرسیون می افتد. اگر به یاد داشته باشید، خط رگرسیون، خط است که می خواهیم بر روی نمودار رسم کنیم تا پس از این با داشتن این خط بررسی کنیم تا چه اندازه مقدار پیش بینی شده های تازه به این خط نزدیک هستند. قاعدتا هر چه مقدارهای پیش بینی شده به مقدار وقعی نزدیک باشند، نقطه آنها در نمودار به خط رگرسیون نزدیکتر است.

میانگین قدر مطلق خطا

میانگین قدر مطلق خطا (Mean Absolute Error) یا MAE ساده ترین معیار (Metric) قابل درک و فهمیده شدت برای خطای رگرسیون است. مقدار Residual را برای هر یک از نقطه ها یا داده ها محاسبه می کنیم و سپس مقدار قدر مطلق را بدست می آوریم به طوری که در نهایت مقدارهای مثبت و مقدارهای منفی یکدیگر را حذف نکنند. در نهایت مطابق معادله شکل زیر، میانگین Residual ها را محاسبه می کنیم.

اما چرا از قدر مطلق خطا ها استفاده می کنیم؟ زیرا ممکن به طور نادرست ببینیم که مقدار خطای کل برابر با عدد صفر باشد پس در نتیجه تصور کنیم که مدل به خوبی کار می کند. در شکل زیر یک خطا ممکن است ۲۰+ و خطای دیگر ۲۰- باشد، پس اگر قدر مطلق استفاده نشود این دو یکدیگر را حذف می کنند (منظور ستون Error در شکل زیر) ولی در صورت استفاده از قدر مطلق (منظور ستون Absolute Error)، مقدار خطا برابر با ۴۰ خواهد شد. (شکل از کتاب Pro Machine Learning Algorithms)

اما چرا از قدر مطلق خطا ها استفاده می کنیم؟ زیرا ممکن به طور نادرست ببینیم که مقدار خطای کل برابر با عدد صفر باشد پس در نتیجه تصور کنیم که مدل به خوبی کار می کند. در شکل زیر یک خطا ممکن است ۲۰+ و خطای دیگر ۲۰- باشد، پس اگر قدر مطلق استفاده نشود این دو یکدیگر را حذف می کنند (منظور ستون Error در شکل زیر) ولی در صورت استفاده از قدر مطلق (منظور ستون Absolute Error)، مقدار خطا برابر با ۴۰ خواهد شد. (شکل از کتاب Pro Machine Learning Algorithms)

Residual sum of Squares

اگر مجموع مقدار تمامی Residual ها کوچک باشد، این بدان معنی است که مدلی که آنها را تولید می کند به گونه مناسب و خوبی، پیش بینی ها مورد نظر ما را انجام می دهد. برعکس، اگر این Residual ها به طور کلی بزرگ باشند، این نشان می دهد که مدل ضعیف است. شیوه RSS پایه برای شیوه دیگری به نام میانگین مربع های خطا (Mean Square Error) است که در نوشته زیر آموزش داده شده است.

تابع هزینه میانگین مربع های خطا در Scikit-Learn

شکل زیر معادله RSS را نشان می دهد که اگر مجموعه داده آزمایشی با M تا نمونه (یا مشاهده) داشته باشیم، پس در زمان بررسی مدل به دنبال بدست آورن M تا خطای e (سومین شکل از بالا) هستیم که در RSS باید توان ۲ هر e را بدست آوریم و سپس همه این توان ۲ e ها را با یکدیگر جمع کنیم که برآیند آن مقدار RSS برای مدل است.

در جدول زیر دو تا نمونه داریم که مقدار واقعی برای نخسین برابر با y=100 است ولی ŷ=120 پیش بینی شده است، بنابراین تفاوت مقدار واقعی از مقدار پیش بینی شده برابر y – ŷ=-20 است که اگر شماره 20- به توان ۲ برسد برابر با ۴۰۰ می شود. برای دومین داده نیز به همین گونه اندازه توان ۲ خطا برابر با ۴۰۰ می شود. سپس مجموع این دو خطا برابر با ۸۰۰ شده که همان مقدار RSS است.

خطای جذر میانگین مربعات

در بالا دو معیار ارزیابی کارایی رگرسیون خطی را توضیح داده ایم، خطای جذر میانگین مربعات (Root Mean Square Error) یا RMSE یکی دیگر از معیارهای ارزیابی کارایی است که تفاوت میان مقدار پیش‌بینی شده (Fitted Value) توسط مدل با مقدار واقعی را نشان می دهد. معادله زیر، نشان دهنده معادله RMSE است که در آن از میانگین مجموع مربعات خطا یک جذر گرفته می شود.