نویسنده (ها): لیگد مهول
در ابتدا منتشر شده در به سمت هوش مصنوعیبشر
رگرسیون در مقابل طبقه بندی در یادگیری ماشین – چرا اکثر مبتدیان این اشتباه را دریافت می کنند | m004
اگر یاد می گیرید یادگیری ماشین و فکر کنید که یادگیری تحت نظارت ساده است ، دوباره فکر کنید.
لحظه ای که شروع به ساختن مدل اول خود می کنید ، با تصمیمی روبرو می شوید که بیشتر آموزش ها به سختی توضیح می دهند: آیا این یک مشکل رگرسیون یا یک مشکل طبقه بندی است؟
این تفاوت ممکن است آشکار به نظر برسد – تا زمانی که با پیش بینی دسته بندی ها با یک مدل رگرسیون یا تلاش برای مجبور کردن خروجی عددی به سطل های طبقه بندی ، یک پروژه را خراب نکنید.
در این مقاله ، من همه آن را از زمین به پایین می شکنم. نه فقط تعاریف کتاب درسی ، بلکه روند تفکر در انتخاب نوع مناسب مدل است. شما می آموزید که این اصطلاحات واقعاً به چه معنی است ، چگونه می توان تفاوت در وحشی را مشاهده کرد و چگونه شخصاً در پروژه های دنیای واقعی به این انتخاب نزدیک می شوم.
و مثل همیشه ، بدون کرک بازیافت شده ؛ فقط تجربه ، بینش و درسهایی که در واقع می چسبد.
حالا بیایید شیرجه بزنیم.
📘 محتویات
- چرا این مقاله وجود دارد
- سوال واقعی رگرسیون و طبقه بندی
- رگرسیون در واقع در چه معناست مولکول
- یک نمونه واقعی از رگرسیون
- طبقه بندی به چه معنی است و چگونه کار می کند
- یک نمونه واقعی از طبقه بندی
- نحوه انتخاب بین آنها (با راهنمای تصمیم گیری)
- معیارهای ارزیابی شما باید بدانید
- آنچه من راه سخت را یاد گرفتم
- افکار نهایی: فقط مدل ها را انتخاب نکنید. مشکلات را درک کنید.
🔴 چرا این مقاله وجود دارد
من این را می نویسم زیرا اشتباه کردم. بیش از یک بار
هنگامی که من برای اولین بار با یادگیری تحت نظارت شروع کردم ، مدلهایی را انتخاب کردم که آنها ابزاری در یک جعبه ابزار بودند. رگرسیون خطی برای اعداد رگرسیون لجستیک برای بله یا خیر. همین بود پایان داستان.
اما پس از آن من به موارد لبه رسیدم – مجموعه داده ها این مانند طبقه بندی به نظر می رسید اما مانند رگرسیون عمل می کرد. پروژه هایی که من از عملکرد ضرر اشتباه استفاده کردم و نتیجه ای کسب کردم که از نظر ریاضی صحیح بودند اما عملاً بی فایده بودند. برای من مشخص شد که تمایز بین رگرسیون و طبقه بندی فقط مربوط به قالب خروجی نیست. این در مورد درک مشکل شما در سطح عمیق تر است.
بنابراین این مقاله همان چیزی است که من آرزو می کنم کسی به من تحویل داده باشد.
–
question سوال واقعی رگرسیون و طبقه بندی
قبل از اینکه هر چیزی را تعریف کنیم ، از خود این سؤال را بپرسید:
ماهیت چیزی که من می خواهم پیش بینی کنم چیست؟
آیا سعی می کنم یک مقدار را پیش بینی کنم؟ چیزی با فاصله قابل اندازه گیری بین مقادیر – مانند قیمت ، سن یا دما؟
یا سعی می کنم کلاس را پیش بینی کنم؟ یک برچسب ، دسته یا گروه متمایز – مانند گربه یا سگ ، هرزنامه یا نه اسپم ، کلاهبرداری یا واقعی؟
این چنگال اساسی در جاده است.
مشکلات رگرسیون با نتایج مداوم سروکار دارد. شما مقادیر را در یک خط شماره تخمین می زنید.
مشکلات طبقه بندی با نتایج گسسته سروکار دارد. شما داده های ورودی را به یکی از چندین سطل از پیش تعریف شده اختصاص می دهید.
و هر مدل ، عملکرد از دست دادن و ارزیابی متریک از این انتخاب اولیه جریان می یابد.
–
🔴 در واقع در ML به چه معنی است
رگرسیون مربوط به نمودارها یا دامنه ها یا خطوط نیست. این در مورد تقریب است.
هنگامی که از رگرسیون استفاده می کنید ، از مدل می خواهید عملکردی را بیاموزید که متغیرهای ورودی را به یک خروجی مداوم ترسیم کند – مانند پیش بینی قیمت خانه از فیلم مربع یا پیش بینی وزن شخصی بر اساس سن و قد.
اما آنچه در اینجا مهم است: هیچ برچسب “صحیح” به معنای دقیق وجود ندارد. فقط نزدیکی وجود دارد. دقت در رگرسیون در مورد اینکه چقدر از ارزش واقعی فاصله دارید ، فاصله دارد. به همین دلیل مدل های رگرسیون خطا را به حداقل می رسانند – نه اشتباهات طبقه بندی.
در مورد این فکر کنید: اگر قیمت خانه را به عنوان 88،00،000 پوند پیش بینی می کنید وقتی که در واقع 90،00،000 پوند است ، شما با 2 لک خاموش هستید. این ضرر است. این همان چیزی است که ما به آن اهمیت می دهیم.
شما سعی نمی کنید هر بار یک شماره دقیق بدست آورید. شما در حال تلاش برای نزدیک شدن و نزدیک شدن هستید.
–
🔴 نمونه ای از زندگی واقعی رگرسیون
در یکی از پروژه های اولیه من ، سیستمی را برای پیش بینی هزینه های بیمه خدمات درمانی ایجاد کردم. این مجموعه داده شامل عواملی مانند سن ، BMI ، جنسیت ، وضعیت سیگار کشیدن و مکان بود. هدف تخمین هزینه حق بیمه سالانه یک شخص بود.
هیچ دسته ای وجود نداشت. فقط اعداد – مبلغ حق بیمه واقعی از مشتریان قبلی.
این یک مشکل رگرسیون کتاب درسی است. خروجی مداوم است. فاصله بین 24000 پوند تا 26000 پوند معنی دار است. اختلاف 2000 پوند بهتر از اختلاف 20،000 پوند است.
مدل های من سعی کردند خطای بین هزینه پیش بینی شده و هزینه واقعی را به حداقل برسانند. من به عنوان متریک اصلی خود از RMSE (خطای میانگین مربع) استفاده کردم. و حتی اگر تعداد آنها کامل نبود ، اما به اندازه کافی نزدیک شدند که برای تصمیم گیری واقعی ارزشمند باشند.
این رگرسیون است. یادگیری برای برآورد: طبقه بندی نمی شود.
–
🔴 طبقه بندی به چه معنی است و چگونه کار می کند
طبقه بندی متفاوت است. در اینجا ، شما در حال پیش بینی دسته بندی هستید.
شما به مقدار خروجی علاقه ای ندارید – فقط در کدام گروه قرار می گیرد.
این نوع یادگیری مورد استفاده در مشکلاتی مانند تشخیص هرزنامه ، تصویب وام ، تجزیه و تحلیل احساسات، تشخیص پزشکی و تشخیص تصویر.
در طبقه بندی ، شما اندازه گیری نمی کنید که پیش بینی خود چقدر نزدیک است – شما اندازه گیری می کنید که صحیح است یا نه. هیچ نیمه راه وجود ندارد.
اگر پیش بینی می کنید که معامله “کلاهبرداری” نیست و در واقع “کلاهبرداری” است ، این یک خطای 40 درصدی نیست-این یک طبقه بندی نادرست است. هزینه اشتباه بودن می تواند متفاوت باشد ، اما قالب باینری است: درست یا نادرست.
مدل های طبقه بندی اغلب با برآورد احتمالات کار می کنند. به عنوان مثال ، یک مدل رگرسیون لجستیک ممکن است بگوید ، “این ایمیل 92 درصد احتمال اسپم بودن را دارد.” اما در پایان ، باید یک تماس برقرار کند – اسپم یا نه.
نکته اصلی این است که دسته بندی ها را به درستی بدست آورید.
–
🔴 نحوه انتخاب بین آنها (با راهنمای تصمیم گیری)
اکنون این سوال طلایی وجود دارد: چگونه تصمیم می گیرید مشکل شما رگرسیون یا طبقه بندی است؟
از خود بپرسید:
آیا می خواهید مقداری را که در مقیاس مداوم قرار می گیرد پیش بینی کنید؟ اگر جواب مثبت باشد ، احتمالاً رگرسیون است. به عنوان مثال ، پیش بینی وزن ، سرعت ، هزینه ، نمره ، رتبه بندی یا هر اندازه گیری عددی دیگر.
آیا می خواهید ورودی را به یک گروه از پیش تعریف شده اختصاص دهید؟ اگر چنین است ، این طبقه بندی است. به عنوان مثال ، شناسایی احساسات ، تشخیص اشیاء ، پیش بینی تشخیص یا طبقه بندی مقالات خبری.
و اگر مطمئن نیستید ، یک نکته وجود دارد: به متغیر هدف خود نگاه کنید. اگر واحدهایی داشته باشد – مانند کیلوگرم ، روپیه ، درجه یا سانتی متر – احتمالاً رگرسیون است. اگر برچسب هایی مانند “مثبت” ، “منفی” ، “تأیید شده” یا “رد” آن طبقه بندی شود.
–
🔴 معیارهای ارزیابی شما باید بدانید
اینجاست که بسیاری از افراد در ابتدا اشتباه می کنند – از جمله من ،.
شما نمی توانید مدل های رگرسیون و طبقه بندی را به همان روش ارزیابی کنید.
در رگرسیون ، ما به این مسئله اهمیت می دهیم که پیش بینی چقدر دور است. معیارهایی مانند میانگین خطای مطلق ، میانگین خطای مربع یا خطای میانگین مربع استفاده می شود. آنها به شما می گویند پیش بینی چقدر به ارزش واقعی نزدیک است.
در طبقه بندی ، ما به این موضوع اهمیت می دهیم که چند بار پیش بینی درست است. اما دقت به تنهایی همیشه کافی نیست – به خصوص با داده های نامتعادل.
به عنوان مثال ، در یک مدل تشخیص کلاهبرداری که تنها 1 درصد از معاملات در واقع کلاهبرداری هستند ، الگویی که می گوید “کلاهبرداری نیست” برای هر مورد 99 درصد دقیق خواهد بود – و کاملاً بی فایده است.
به همین دلیل ما از معیارهای دیگری مانند Precision ، Recall ، F1-Score و AUC (منطقه زیر منحنی) استفاده می کنیم. این معیارها نه تنها چند بار درست می گویند ، بلکه به ما می گویند که درست هستیم – و چه زمانی اهمیت دارد.
دانستن تفاوت بین استراتژی های ارزیابی به همان اندازه انتخاب مدل مناسب مهم است.
–
🔴 آنچه من راه سخت را یاد گرفتم
در یکی از مدلهای قبلی من ، سعی می کردم پیش بینی کنم که چقدر احتمال دارد شخصی یک محصول را بخرد.
ستون هدف با عنوان “احتمال خرید” برچسب گذاری شد و مقادیر بین 0 تا 1 داشت. من تصور می کردم که این یک مشکل رگرسیون است. من یک مدل را با استفاده از RMSE آموزش دادم. پیش بینی ها بسیار نزدیک بود.
اما پس از آن من عمیق تر نگاه کردم و فهمیدم که این هدف توسط یک مدل قبلی ایجاد شده است. این احتمال وجود داشت. آنچه من واقعاً به آن نیاز داشتم ، تصمیم طبقه بندی بود: “خرید می کند” یا “خرید نمی کند”.
من وقتی که واقعاً می خواستم طبقه بندی بود ، آن را مانند یک مشکل رگرسیون رفتار کرده بودم. این عدم تطابق بین هدف و قاب بندی هفته های تکرار.
از آن زمان ، من همیشه با همان سؤال شروع می کنم: “این مدل چه تصمیمی به کسی می دهد؟” این تقریباً همیشه من را به سمت نوع مناسب مشکل سوق می دهد.
–
thoughts افکار نهایی: فقط مدل ها را انتخاب نکنید. مشکلات را درک کنید.
یادگیری ماشین است در مورد پرتاب الگوریتم ها در داده ها نیست. این در مورد حل مشکلات واقعی است. و این با فریم کردن این مشکلات به روش صحیح شروع می شود.
انتخاب بین رگرسیون و طبقه بندی مربوط به انتخاب محبوب ترین مدل نیست. این در مورد درک شکل نتیجه ای است که می خواهید پیش بینی کنید.
هرچه به داده های خود نزدیکتر باشید – به خصوص متغیر هدف خود – انتخاب های شما بهتر خواهد بود. و هرچه انتخاب های شما بهتر باشد ، مدل های شما قابل اعتماد تر می شوند.
اینگونه است که من سیستم های ML را می سازم. نه فقط با پیروی از آموزش – بلکه با درک این که مدل قرار است چه کاری انجام دهد و چرا.
–
🔴 چه می آید
در چند مقاله بعدی ، من به ارزیابی مدل ، تجزیه و تحلیل خطا ، بیش از حد و نحوه مهندسی ویژگی های من می پردازم که در واقع پیش بینی ها را نه تنها صحت روی کاغذ بهبود می بخشد.
مثل همیشه ، من از تجربه می نویسم. از کنجکاوی از پروژه های دنیای واقعی و درسهایی که می چسبد.
اگر از مقالات کرکی خسته شده اید و می خواهید سیستم های یادگیری ماشین ایجاد کنید که در واقع کار می کنند ، دنبال کنید.
📍 مرا در اینجا پیدا کنید:
توییتر: x.com/mehulligade
LinkedIn: LinkedIn.com/in/mehulcode12
بیایید یاد بگیریم که یک لایه در یک زمان عمیق تر است.
–
منتشر شده از طریق به سمت هوش مصنوعی