الگوریتم رگرسیون خطی – انجمن DEV

رگرسیون خطی یک الگوریتم قدرتمند و پرکاربرد در آمار و یادگیری ماشین است. به مدل سازی روابط بین متغیرها و پیش بینی کمک می کند.
در اینجا برخی از برنامه های کاربردی دنیای واقعی جالب است:
رگرسیون خطی – مثال های زندگی واقعی
پیش بینی قیمت مسکن: قیمت یک خانه را بر اساس متراژ، مکان، تعداد اتاق ها و موارد دیگر پیش بینی کنید.
پیش بینی فروش: برآورد فروش آینده بر اساس داده های فروش گذشته و هزینه های تبلیغاتی.
ارائه دانش آموزان: پیش بینی نتیجه امتحان بر اساس ساعات مطالعه، حضور و غیاب و نمرات قبلی.
پیش بینی آب و هوا: پیش بینی دما بر اساس داده های آب و هوای تاریخی
ارزیابی هزینه های درمانی: برآورد صورتحساب بیمارستان بر اساس سن بیمار، وضعیت و نوع درمان.
روند بازار سهام: پیش بینی قیمت سهام در آینده با استفاده از داده های قیمت گذشته
پیش بینی ترافیک: حجم ترافیک را بر اساس زمان روز و شرایط آب و هوایی تخمین بزنید.
پیش بینی محصول: پیش بینی میزان رشد یک محصول بر اساس میزان بارندگی، کیفیت خاک و مصرف کود.
هدف اصلی رگرسیون خطی یافتن خط بهترین برازش است. تفاوت بین نقاط داده ای که داریم با نقاط داده پیش بینی شده و جمع بندی همه آنها باید باشد حداقل.
خط خطی y تابع خطی x است (y=mx+c)
عصر جدید (i/p)
مجموعه داده قطار —→ مدل ——→ فرضیه ———⟶ وزن (o/p)

معادله یک خط مستقیم:
y=mx+c (فرضیه)
c = رهگیری(زمانی که x=0 در کدام نقطه خط رگرسیون ما از محور y عبور می کند)
m= شیب یا ضریب – برای حرکت واحد در محور x چه حرکت واحد است، محور y با شیب تعیین می شود.
(مهر ساعت 23:00 در ویدیوی کریشنایک: https://www.youtube.com/watch?v=JxgmHe2NyeY&t=2475s).
x نقاط داده است
چگونه مناسب ترین خط را پیدا کنیم : از یک نقطه شروع کنید → خط بهترین تناسب
برای یافتن خط بهترین تناسب باید به روز رسانی m و c را ادامه دهیم تا به روز رسانی ادامه دهیم، به یک تابع Cost نیاز داریم.
تابع هزینه / تابع خطای مربع:

در فرمول بالا بر 1/2 تقسیم می شود تا هدف استخراج بدست آید
1/m برای بدست آوردن مقدار متوسط است
i=1 به m حرکت به تمام نقاط است.
h(x)-y تفاوت بین مقدار پیش بینی شده و مقدار واقعی است.
آنچه باید تصمیم بگیریم: ما باید تابع هزینه (Jθ0,θ1) را با تنظیم θ0/c و θ1/m، یعنی شیب و قطع، به حداقل برسانیم.
بیایید یک مجموعه داده نمونه را به صورت (1،1) (2،2) (3،3) در نظر بگیریم.

اما حتی در اینجا نیز مقادیر θ0 و θ1 را می گیریم و مینیمم شیب مناسب و جهانی را محاسبه می کنیم، اما باید طوری باشد که به یک نقطه برسیم و به نقطه حداقل جهانی برسیم. چگونه می توان این کار را با رسیدن به یک نقطه و حرکت به سمت نقطه حداقل جهانی انجام داد. این چیزی است که ما استفاده می کنیم الگوریتم همگرایی
الگوریتم همگرایی: : این کار را تا همگرایی تکرار کنید

شیب مثبت: شیب به سمت راست
شیب منفی: شیب به سمت چپ

α – میزان یادگیری – نرخ یادگیری این است که چه عدد/اندازه ای برای رسیدن به حداقل جهانی نیاز دارد.
این همیشه باید یک عدد کوچک باشد (نه خیلی کوچک و نه بزرگ). اگر خیلی کوچک باشد، برای رسیدن به حداقل نقطه جهانی زمان بیشتری (گام های کوچک) طول می کشد. اگر خیلی بزرگ باشد این طرف و آن طرف می پرد و به حداقل های جهانی نمی رسد.
در یک شیب مثبت پس از تفریق ‘n’ تعداد تکرارها (α) به یک نقطه حداقل جهانی خواهیم رسید.
در یک شیب منفی پس از اضافه کردن ‘n’ تعداد تکرارها (α) به یک نقطه حداقل جهانی خواهیم رسید.
سناریوی دیگر این است که اگر تابع هزینه من حداقل محلی داشته باشد چه می شود:

در این نقطه شیب 0 خواهد بود، سپس θ1= θ1- α(0)= θ1، یعنی θ1=θ1، سپس در حداقل های محلی خواهیم ماند. اما معمولاً با استفاده از این گرادیان و معادله تابع متقاطع که در اینجا استفاده می کنیم، در حداقل های محلی گیر نمی کنیم. زیرا گرادیان مناسب ما همیشه به این شکل خواهد بود

شکل تابع هزینه
اما در یادگیری عمیق، زمانی که ما شیب مناسب را یاد میگیریم، حداقلهای محلی را دریافت میکنیم، اما از تکنیکهای مختلفی مانند مومنتوم، بهینهساز Adam، نمودارهای نرخ یادگیری و نرمالسازی دستهای استفاده میکنیم که به ما در مقابله با این چالشها کمک میکنند.
یادگیری عمیق: بسیاری از حداقل های محلی. شکل تابع هزینه در مدل های یادگیری عمیق، به ویژه شبکه های عصبی عمیق، به دلیل معماری پیچیده و لایه های متعدد، دارای توابع هزینه غیر محدب هستند.
بنابراین، شکل تابع هزینه در رگرسیون خطی، تابع هزینه (معمولا میانگین مربعات خطا) محدب است.
الف تابع محدب تنها یک حداقل جهانی وجود دارد و هیچ حداقل محلی وجود ندارد. این بدان معنی است که نزول گرادیان همیشه به بهترین راه حل همگرا می شود، صرف نظر از نقطه شروع. به دلیل این تحدب، بهینه سازی ساده و قابل اعتماد است.
چه زمانی همگرایی متوقف می شود؟ هنگامی که J(θ1) بسیار کمتر است. (نقطه سبز برای مرجع)

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



اگر چندین ویژگی داشته باشیم، منحنی سه بعدی داریم

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


نقاط سبز نقاط داده پیش بینی شده هستند
y bar میانگین است
مثال: جنس اتاق خواب ها موقعیت قیمت – مدل
مقادیر R-squared همچنان افزایش مییابد حتی اگر تابع دیگری را اضافه کنیم که اصلاً مرتبط نیست. در اینجا در مثال بالا، حتی اگر ستون جنسیت به هیچ وجه با داده ها مرتبط نیست، جایی که قیمت مستقل از جنسیت است، مقدار R-squared افزایش می یابد، در حالی که R-squared تنظیم شده نیست.
R-Square تنظیم شده:
بین R-squared و R-squared تنظیم شده→ R-squared همیشه در مقایسه با R-squared تنظیم شده بزرگتر است زیرا تعداد پیش بینی کننده ها/ویژگی ها افزایش می یابد.
ادامه: https://dev.to/likhitha_manikonda_ed511d/ridge-regression-and-lasso-regression-6me


