رگرسیون خطی: کشیدن بهترین خط
جواب کوتاه
رگرسیون خطی یعنی از وسط یه عالمه نقطه، بهترین خط صاف رو بکشیم و جوابهای تازه رو از روی همون خط بخونیم. مثل بستنیفروشی که ده روز دمای هوا و فروشش رو یادداشت کرده و میخواد بدونه فردا با سی درجه چند تا بستنی بیاره. هر خط دو تا عدد داره: شیب (هر یه درجه، چند تا بستنی بیشتر) و عرض از مبدا. «بهترین» خط اونیه که جمع مربع فاصلهی نقطهها تا خط کمترین باشه؛ به این میگن کمترین مربعات. با چند ورودی هم کار میکنه، یه وزن برای هر ورودی. ولی فقط رابطههای صاف رو میبینه، و بیرون از بازهی دادهها خراب میکنه.
بستنیفروشی
یه بستنیفروش ده روز یادداشت کرده که هوا چند درجه بوده و چند تا بستنی فروخته. هر روز یه نقطه روی کاغذ. فردا هوا سی درجهست؛ چند تا بستنی بیاره؟
نقطهها دقیقا روی یه خط نیستن، ولی معلومه که هر چی هوا گرمتر، فروش بیشتر. پس یه خط صاف از وسطشون میکشیم و برای سی درجه، از روی خط میخونیم: حدود ۸۰ تا.
به همین کار، یعنی پیشبینی یه عدد با بهترین خط، میگن رگرسیون خطی. سادهترین مدل یادگیری ماشینه، ولی همهی تیکههای اصلی رو داره: پارامتر، خطا و آموزش.
خط، دو تا عدد
هر خط صاف با دو تا عدد ساخته میشه؛ درست مثل تاکسیمتر:
- شیب: هر یه درجه گرمتر، چند تا بستنی بیشتر. اینجا ۴ تا.
- عرض از مبدا: جایی که خط شروع میشه. اینجا منفی ۴۰.
پس مدل ما میگه: «فروش = ۴ ضرب در دما، منهای ۴۰». برای سی درجه: ۱۲۰ منهای ۴۰، یعنی ۸۰. این دو تا عدد پارامترهای مدلن، و آموزش یعنی پیدا کردن همین دو تا.
بهترین خط
میشه هزار جور خط از وسط این نقطهها کشید. کدوم «بهترینه»؟ برای هر روز، فاصلهی نقطه تا خط رو اندازه بگیرید؛ یعنی فروش واقعی منهای فروشی که خط گفته:
- هر فاصله رو به توان دو برسونید، که منفیها مثبت بشن.
- همه رو جمع کنید.
- بهترین خط اونیه که این جمع از همه کمتر باشه.
به این روش میگن کمترین مربعات. برای خط صاف، یه فرمول مستقیم داره که بی آزمون و خطا جواب رو میده. ولی برای مدلهای بزرگتر چنین فرمولی نیست و باید کمکم از درهی خطا پایین رفت.
چند ورودی
فروش بستنی فقط به دما بستگی نداره؛ تعطیلی و روز هفته هم مهمن. رگرسیون خطی با چند ورودی هم کار میکنه: برای هر ورودی یه وزن، و همه با هم جمع. یعنی یه ضرب داخلی بین ورودیها و وزنها، بهعلاوهی یه عدد پایه.
به حالت یهورودی میگن رگرسیون خطی «ساده» و به چندورودی، «چندگانه». با دو ورودی دیگه خط نیست، یه صفحهی صافه؛ با بیشتر هم نمیشه کشیدش، ولی حسابش همونه.
اسمش از کجاست
این روش از یادگیری ماشین خیلی قدیمیتره. لژاندر، ریاضیدان فرانسوی، سال ۱۸۰۵ کمترین مربعات رو روشن و کامل منتشر کرد، و ده سال بعد شد ابزار همیشگی ستارهشناسها.
کلمهی عجیب «رگرسیون» هم از یه پژوهش قرن نوزدهمی میاد. گالتون قد صدها نفر رو اندازه گرفت و دید بچههای پدر و مادرهای خیلی قدبلند، معمولا یه کم کوتاهتر از اونها میشن؛ انگار قدها به سمت میانگین «برمیگردن». اسم ماند، و حالا به هر پیشبینی یه عدد میگن رگرسیون.
کجا خراب میکنه
- فقط خط صاف: اگه رابطه خم داشته باشه، مثلا توی گرمای خیلی زیاد مردم دیگه بیرون نیان، خط صاف اینو نمیبینه.
- بیرون از بازه: دادهها از ۱۸ تا ۳۳ درجه بود. اگه بپرسید «پنج درجه چند تا؟»، خط میگه منفی ۲۰ تا بستنی! بیرون از جایی که داده دیدیم، به خط اعتماد نکنید.
- رابطه یعنی علت نیست: خط فقط میگه این دو تا با هم بالا و پایین میرن؛ نمیگه کدوم باعث کدومه. بستنی و غرق شدن.
قدم بعد اینه که «چقدر خوبه» رو دقیق عدد کنیم. درس بعد، تابع هزینه.
جمعبندی. آنچه از این درس با خودتان میبرید.
- بهترین خط صاف از وسط نقطهها.
- دو تا پارامتر: شیب و عرض از مبدا.
- بهترین: کمترین جمع مربع فاصلهها.
- چند ورودی: یه وزن برای هر کدوم.
- فقط رابطهی صاف، فقط توی بازهی داده.
خودتون رو بسنجید
۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو میبینید: چند تا درست، چند تا نادرست.