۳ مفهوم کلیدی در یادگیری ماشینی

شکل ۱. یادگیری ماشینی
شکل ۱. یادگیری ماشینی
منتشر‌شده در: towardsdatascience به تاریخ ۸ می ۲۰۲۱
لینک منبع: 3 Key Concepts in Machine Learning

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

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

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

ممکن است علاقمند به مطالعه مقاله به حداکثر رساندن سودآوری کسب‌وکار خود با پایتون باشید.

کیفیت مدل شما به خوبی داده‌های شماست!

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

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

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

نشت داده

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

واضح‌ترین دلیل نشت داده‌ها، شامل کردن متغیر هدف به عنوان یک ویژگی است که به طور کامل هدف «پیش‌بینی» را از بین می‌برد. استفاده از داده‌های تست در فرآیند آموزش نیز مثالی از نشت داده‌ها است. این موارد بدیهی هستند و به احتمال زیاد به اشتباه انجام می‌شوند.

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

نشت داده‌ها همچنین ممکن است در طول پاکسازی و پیش‌پردازش داده‌ها رخ دهد. در زیر لیستی از عملیات معمول برای تمیز کردن و پیش‌پردازش داده‌ها آورده شده است.

  • پیدا کردن پارامترها برای نرمال کردن یا دوباره ساکن کردن
  • مقادیر حداقل / حداکثر یک ویژگی
  • توزیع یک متغیر ویژگی برای برآورد مقادیر گم‌شده
  • حذف نقاط پرت

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

مطالعه مقاله پلتفرم GitLab در مقابل GitHub: تفاوت‌ها و شباهت‌های اصلی توصیه می‌شود.

بایاس و واریانس

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

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

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

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

نتیجه‌گیری

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

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