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

الگوریتم رگرسیون لجستیک یکی از ساده ترین الگوریتم های یادگیری نظارت شده است که معمولا برای حل مسئله های طبقه بندی دودویی مورد استفاده قرار می گیرد. بنابراین از رگرسیون لجستیک می توان به عنوان یک پایایه و اساس برای حل مسئله های طبقه بندی استفاده کردهمچنین الگوریتم رگرسیون لجستیک یکی از مفاهیم پایه ای است که در شبکه های عصبی مصنوعی (Artificial Neural Network) و یادگیری عمیق (Deep Learning) استفاده می شود.

دوره شبکه های عصبی با پایتون

رگرسیون لجستیک، یک مورد خاص رگرسیون خطی است که متغیر وابسته (برچسب – Target) به صورت داده های طبقه بندی یا داده های رسته ای (Categorical Data) هستند. بنابراین رگرسیون لجستیک روشی برای طبقه بندی داده ها به صورت خروجی های گسسته است. رگرسیون لجستیک از الگوریتم های یادگیری نظارت شده است و به طور نمونه می توانیم از آن برای طبقه بندی ایمیل ها به صورت اسپم یا بدون اسپم استفاده کنیم.

تابع سیگموئید و ارتباط آن با رگرسیون لجستیک

تابع سیگموئید، که همچنین به نام تابع لجستیک (Logestic Function) نامیده می شود، منحنی به شکل S دارد که می تواند هر مقدار را به یک مقدار میان بازه  0 و 1 نگاشت دهد. اگر منحنی به سمت مثبت بی نهایت برود، پیش بینی به عدد 1 نگاشت داده می شود و اگر منحنی به سمت منفی بی نهایت برود، پیش بینی به عدد 0 نگاشت داده خواهد شد.

تابع سیگموئید به عنوان تابع فعال سازی در شبکه های عصبی مصنوعی

اگر خروجی عملکرد sigmoid بیش از یک آستانه 0.5 باشد، می توان نتیجه را به صورت 1 یا YES طبقه بندی کرد، و اگر آن کمتر از آستانه عدد 0.5 باشد، می توان آن را به صورت 0 یا نه مثلا خروجی cannotFor example: اگر خروجی 0.75 باشد، ما می توانیم از نظر احتمال: بله 75 درصد احتمال دارد که بیمار از سرطان رنج می برد.

برای طبقه بندی دودویی (Binary Classification)، الگوریتم رگرسیون لجستیک، احتمال (شانس) رخ دادن یک رویداد باینری را توسط تابع لوجیت (Logit Function) محاسبه می کند. در واقع مطابق شکل زیر اگر احتمال بزرگتر و مساوی 0.5 باشد، کلاس برابر با یک و اگر مقدار احتمال کمتر از 0.5 باشد، پس کلاس برابر با صفر خواهد بود. در واقع برای نگاشت احتمال محاسبه شده به عددهای صفر یا یک، از یک مقدار آستانه (Threshold) استفاده می کنیم. در مورد طبقه بندی چند کلاسی کلاس با بالاترین احتمال پیش بینی شده انتخاب می شود.

مقایسه رگرسیون خطی و رگرسیون لجستیک

رگرسیون خطی برای پیش بینی (Predict) مقدارهای عددی (پیوسته) به کار می رور ولی رگرسیون لجستیک برای پیش بینی مقدارهای   گسسته استفاده می شود. به طور مثال در مطلب های قبلی پیش بینی دیابتی بودن توسط رگرسیون خطی ساده (تک متغیره) و پیش بینی قیمیت خانه توسط رگرسیون خطی چند متغیره انجام شد که خروجی هر دو پیش بینی یک مقدار عددی است.

ولی در مسئله های رگرسیون لجستیک ما دنبال پیش بینی این هستیم که ورودی جدید مربوط به کدام دسته یا کلاس از میان تمامی کلاس ها است، که در این حالت خروجی پیش بینی به صورت گسسته است. به طور مثال می خواهیم بدانیم آیا بیمار دچار سرطان شده است یا نه؟ در این حالت نام کلاس ها در ستون برچسب به صورت Yes یا No هستند.