نوشته‌ها

یادگیری ماشین(Machine learning) موضوع داغی است که اخیرا با نام های بزرگی چون گوگل و فیس بوک ساخته شده و با الگوریتم های بسیار پیچیده ای که بعضی اوقات مانند داستان های علمی تخیلی به نظر می رسند پیوند خورده است. حقیقت این است که یادگیری ماشین یک مجموعه بسیار کاربردی و کاربردی از تکنیکهایی است که قطعا کاربرد خاصی در کسب و کار شما نیز دارد.یکی از آخزین دستاوردهای یادگیزی ماشین را در این خبر علمی بخوانید.

یادگیری ماشین چیست؟

تعریف عمومی از یادگیری ماشین  آن است که توسط دانشمند کامپیوتر آرتور ساموئل در سال ۱۹۵۹ داده شده است:

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

این یک پاسخ مفهومی ساده است، اما بطور مشخص، فرآیند “یادگیری ماشین” چیست؟ خروجی آن چیست؟ و چگونه می توان آن را به داده های شما اعمال کرد؟ در این مقاله  تلاش خواهیم کرد تا به تمام این سوالات به طور ساده پاسخ دهیم، اما اولا، تعریف دقیق تر زیر را ارائه خواهیم کرد:

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

برخی اصطلاحات

مدل

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

یک معادله که به عنوان ورودی ویژگی های مختلف یک متقاضی وام (مثلا درآمد، بدهی های برجسته، مبلغ درخواست شده و غیره) را در نظر می گیرد و به عنوان یک خروجی اطمینان می دهد که وام دهنده به صورت پیش فرض وام را خواهد داد.

معادله ای که به عنوان ورودی مقدار رنگ پیکسل های یک عکس را می گیرد و به عنوان خروجی شناسایی شیء موجود در عکس را می دهد.

معادله ای که به عنوان ورودی وضعیت کنونی هیئت مدیره Go را می دهد و به عنوان خروجی نشانگر حرکتی است که بهترین شانس برنده شدن در بازی را به ارمغان می آورد.

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

ویژگی ها

ویژگی های ورودی  مدل ماشین آموخته شده :

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

بیش برازش overfitting

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

طبقه بندی مشکلات یادگیری ماشین

سه طبقه بندی اصلی از وظایف یادگیری ماشین وجود دارد:

  • یادگیری تحت نظارت: مدل با استفاده از یک مجموعه شناخته شده “داده های آموزشی” ساخته شده است که شامل تمام ویژگی ها و همچنین مقادیر شناخته شده (“برچسب ها”) خروجی است که ما در حال تلاش برای مدل سازی آن هستیم. هدف از تکنیک های یادگیری تحت نظارت، رسیدن به یک مدل است که ویژگی های ورودی را برحسب برچسب ها نشان می دهد.
  • یادگیری بدون نظارت: خروجی این الگوریتم یادگیری،  برچسب ها  نیستند؛ هدف این روش کشف ساختار ناشناخته مانند خوشه ها clutsters و یا الگوهای دیگر است.
  • یادگیری تقویتی: الگوریتم پاداش و مجازات را بر اساس موفقیت آن در دستیابی به یک هدف خاص به ارمغان می آورد – به عنوان مثال، یک الگوریتم Go برای تغییرات در یک مدل که باعث افزایش نسبت زمان برنده شدن مدل و مجازات برای تغییراتی که قصد کاهش آن را دارد.این  الگوریتم قصد دارد پاداش را به حداکثر و مجازات را به حداقل برساند.

وظایف همچنین می تواند بر اساس خروجی مورد نظر از مدل یادگیری طبقه بندی شود. سه تا از رایج ترین ها عبارتند از:

طبقه بندی: داده ها به دو یا چند کلاس یا “برچسب ها” تقسیم می شوند (مثلا “hotdog” در مقابل “not hotdog “) و هدف عمل یادگیری این است که یک مدل تولید کند که ورودی ها را به یکی یا بیشتر از این برچسبها اختصاص دهد.

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

خوشه بندي: آنالوگ بدون نظارت برای طبقه بندي؛ ورودی ها باید به گروه ها تقسیم شوند، اما قبل از ساخت مدل، گروه ها شناخته نمی شوند.مثال کاربرد: پیش بینی قیمت خانه

منبع


آشنایی با الگوریتم های ضروری یادگیری ماشین

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

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

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

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

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

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

منبع

یادگیری ماشین قسمت ۱
یادگیری ماشین قسمت ۲
یادگیری ماشین قسمت ۳

تعریف

به عنوان یکی از شاخه‌های وسیع و پرکاربرد هوش مصنوعی، یادگیری ماشین (Machine learning) به تنظیم و اکتشاف شیوه‌ها و الگوریتم‌هایی می‌پردازد که بر اساس آنها رایانه‌ها و سامانه‌ها توانایی تعلٌم و یادگیری پیدا می‌کنند.

Machine Learning

اهداف و انگیزه‌ها

هدف یادگیری ماشین این است که کامپیوتر (در کلی‌ترین مفهوم آن) بتواند به تدریج و با افزایش داده‌ها کارایی بهتری در انجام وظیفهٔ مورد نظر پیدا کند. گسترهٔ این وظیفه می‌تواند از تشخیص خودکار چهره با دیدن چند نمونه از چهرهٔ مورد نظر تا فراگیری شیوهٔ گام‌برداری روبات‌های دوپا با دریافت سیگنال پاداش و تنبیه باشد.

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

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

تقسیم‌بندی مسایل

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

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

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

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

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

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

یادگیری بی‌نظارت را می‌توان به صورت عمل کاهش بعد در نظر گرفت.

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

یادگیری با نظارت

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

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

تعریف ریاضی مسایل یادگیری ماشین

یادگیری با نظارت

در این مدل یادگیری مثال‌های آموزشی به صورت جفت‌های (x^{i},y^{i}) که در آن هر نمونه به همراه بر چسب آن داده شده‌اند و i اندیس هر مثال در مجموعه مثال‌های آموزشی D است. هدف در این یادگیری بدست آوردن تابع f است که بتواند برای نمونه‌های ورودی دیده نشده x بر چسب مناسب را برگرداند(f(x) = y). نمونه و بر چسب هر دو می‌توانند یک بردار باشند. اگر بر چسب یک عدد حقیقی باشد مسئله پیش روی ما رگرسیون نامیده می‌شود. اگر بر چسب یک عدد صحیح باشد به مسئله دستبه بندی گفته می‌شود.

 

یکی از انواع یادگیری از داده‌ها

منبع


یادگیری ماشین قسمت ۱
یادگیری ماشین قسمت ۲
یادگیری ماشین قسمت ۳

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

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

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) قسمت ۷

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

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

SST= SSR+SSE

که هر کدام به صورت زیر تعریف شده‌اند:

SST=∑(yi−y¯)۲

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

SSE=∑(yi−y^i)2

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

SSR=∑(y^i−y¯)۲

که می‌تواند به عنوان مجموع مربعات تفاضل مقدارهای پیش‌بینی‌شده از میانگینشان نام‌گذاری شود.

در صورتی که مدل رگرسیون مناسب باشد،‌ انتظار داریم سهم SSR از SST زیاد باشد، بطوری که بیشتر تغییرات متغیر وابسته توسط مدل رگرسیون توصیف شود. برای محاسبه واریانس از روی هر یک از مجموع مربعات کافی است حاصل را بر تعداد اعضایشان تقسیم کنیم. به این ترتیب مقدارهای جدیدی به نام «میانگین مربعات خطا» (MSE)،‌ «میانگین مربعات رگرسیون» (MSR) بوجود می‌آیند. به جدول زیر که به جدول تحلیل واریانس معروف است، توجه کنید.

منشاء تغییرات درجه آزادی مجموع مربعات  میانگین مربعات آماره F
رگرسیون k-1 SSR MSR=SSRk−۱ F=MSRMSE
خطا n-k SSE MSE=SSEn−k
کل n-1 SST

درجه آزادی برای رگرسیون که با k-1 نشان داده شده است، یکی کمتر از تعداد پارامترهای مدل (k) است که در رگرسیون خطی ساده برابر با ۱-۲=۱ خواهد بود زیرا پارامترهای مدل در این حالت β۰ و β۱ هستند. تعداد مشاهدات نیز با n نشان داده شده است.

اگر محاسبات مربوط به جدول تحلیل واریانس را برای مثال ذکر شده، انجام دهیم نتیجه مطابق جدول زیر خواهد بود.

منشاء تغییرات درجه آزادی مجموع مربعات  میانگین مربعات آماره F
رگرسیون ۱ ۵۲۰۳۳۸٫۱۷۵۵ ۵۲۰۳۳۸٫۱۷۵۵ F=MSRMSE=520338.1755239.91=2168.89
خطا ۴۸ ۱۱۵۱۵٫۷۱۸۷ ۲۳۹٫۹۱
کل ۴۹ ۵۳۱۸۵۳٫۸۹۴۲

از آنجایی که نسبت میانگین مربعات دارای توزیع آماری F است با مراجعه به جدول این توزیع متوجه می‌شویم که مقدار محاسبه شده برای F بزرگتر از مقدار جدول توزیع F با k−۱‌ و n−k درجه آزادی است، پس مدل رگرسیون توانسته است بیشتر تغییرات متغیر وابسته را در خود جای دهد در نتیجه مدل مناسبی توسط روش رگرسیونی ارائه شده.

گاهی از «ضریب تعیین» (Coefficient of Determination) برای نمایش درصدی از تغییرات که توسط مدل رگرسیونی بیان شده، استفاده می‌شود. ضریب تعیین را با علامت R2 نشان می‌دهند. هر چه ضریب تعیین بزرگتر باشد، نشان‌دهنده موفقیت مدل در پیش‌بینی متغیر وابسته است. در رگرسیون خطی ساده مربع ضریب همبستگی خطی همان ضریب تعیین خواهد بود.

در مثال قبل ضریب تعیین برای مدل رگرسیونی برابر با ۰٫۹۷۸۳‌ است. بنابراین به نظر می‌رسد که مدل رگرسیونی در پیش‌بینی ارزش خانه برحسب متراژ موفق عمل کرده.

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

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

تصادفی بودن باقی‌مانده‌ها

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

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

randomness
نمودار نقطه‌ای برای نمایش رابطه بین مقدارهای پیش‌بینی شده و باقی‌مانده‌ها

 

 

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