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

What is Machine Learning?

یادگیری ماشین دیگر فقط یک مفهوم علمی-تخیلی نیست. روزانه میلیاردها نفر از آن استفاده می‌کنند. در گذشته، اگر گوشی خود را برمی‌داشتید و از آن می‌پرسیدید که چگونه به خانه بروید، احتمالاً گوشی شما پاسخ نمی‌داد و ممکن بود مردم به سلامت عقل شما شک کنند. اما حالا یادگیری ماشین به طور گسترده‌ای در زندگی روزمره ما حضور دارد. این فناوری از دهه‌ها پیش در برخی زمینه‌های تخصصی مانند تشخیص نوری کاراکتر (OCR) مورد استفاده قرار گرفته است.
اولین کاربرد یادگیری ماشین که به‌طور گسترده استفاده شد و زندگی میلیون‌ها نفر را بهبود بخشید، فیلتر هرزنامه‌ها بود که در دهه 1990 وارد دنیای دیجیتال شد. فیلتر هرزنامه دقیقا یک ربات خودآگاه نیست، اما از نظر فنی به‌عنوان یک مثال از یادگیری ماشین شناخته می‌شود. این فیلتر به قدری خوب یاد گرفته است که به ندرت نیاز است که شما ایمیلی را به‌عنوان هرزنامه پرچم‌گذاری کنید. پس از آن، صدها برنامه یادگیری ماشین دیگر به وجود آمدند که به‌طور پنهانی صدها محصول و ویژگی را که شما هر روز از آن‌ها استفاده می‌کنید، مانند دستورات صوتی، ترجمه خودکار، جستجوی تصویر و توصیه‌های محصول، مدیریت می‌کنند.
یادگیری ماشین از کجا شروع می‌شود و به کجا می‌رود؟ در اینجا، سوالاتی مانند «یادگیری برای یک ماشین به چه معناست؟» مطرح می‌شوند. آیا اگر من نسخه‌ای از تمام مقالات ویکی‌پدیا را دانلود کنم، آیا کامپیوتر من چیزی یاد خواهد گرفت؟ آیا ناگهان باهوش‌تر می‌شود؟ در این فصل، نویسنده با روشن کردن این سوالات و توضیح اینکه چرا شما ممکن است بخواهید از یادگیری ماشین استفاده کنید، به‌طور ساده‌تر شروع می‌کند.
پس از آن، به نقشه‌ای از دنیای یادگیری ماشین نگاهی خواهیم انداخت و درباره مناطق اصلی و نشانه‌های برجسته آن خواهیم آموخت. این نشانه‌ها شامل یادگیری نظارت‌شده و نظارت‌نشده، یادگیری آنلاین در مقابل یادگیری دسته‌ای، و یادگیری مبتنی بر نمونه در مقابل یادگیری مبتنی بر مدل می‌باشند. در نهایت، به روند کار یک پروژه معمولی یادگیری ماشین خواهیم پرداخت و به چالش‌های اصلی که ممکن است با آن‌ها روبرو شوید و نحوه ارزیابی و تنظیم دقیق یک سیستم یادگیری ماشین خواهیم پرداخت.
یادگیری ماشین چیست؟
یادگیری ماشین، علمی است که به کامپیوترها این امکان را می‌دهد تا از داده‌ها یاد بگیرند و بر اساس آن‌ها عمل کنند. آرتور ساموئل در سال 1959 گفت که یادگیری ماشین به کامپیوترها این توانایی را می‌دهد که از داده‌ها یاد بگیرند بدون اینکه نیاز به برنامه‌نویسی دقیق داشته باشند. به عبارت دیگر، یادگیری ماشین به ماشین‌ها این قدرت را می‌دهد که خودشان از داده‌ها استنباط کنند و پیش‌بینی‌هایی انجام دهند.
یک مثال معروف از یادگیری ماشین، فیلتر هرزنامه‌ها است. این فیلتر با استفاده از داده‌های آموزشی که شامل ایمیل‌های هرزنامه و ایمیل‌های عادی است، یاد می‌گیرد که ایمیل‌های هرزنامه را شناسایی کند. داده‌هایی که این سیستم برای یادگیری از آن‌ها استفاده می‌کند، مجموعه آموزشی نامیده می‌شود. بخشی از سیستم یادگیری ماشین که یاد می‌گیرد و پیش‌بینی می‌کند، مدل نامیده می‌شود.
چرا از یادگیری ماشین استفاده کنیم؟
در گذشته، برای نوشتن یک فیلتر هرزنامه از تکنیک‌های برنامه‌نویسی سنتی استفاده می‌شد. در این روش، ابتدا باید بررسی می‌کردید که ایمیل‌های هرزنامه چه ویژگی‌هایی دارند، مثلاً ممکن بود متوجه می‌شدید که کلمات خاصی مانند «رایگان»، «مخصوص شما» و «کارت اعتباری» در موضوع ایمیل‌های هرزنامه زیاد تکرار می‌شوند. سپس برای هر یک از این الگوها، یک الگوریتم تشخیص می‌نوشتید و زمانی که این الگوها شناسایی می‌شد، ایمیل‌ها به‌عنوان هرزنامه پرچم‌گذاری می‌شدند.
اما در یادگیری ماشین، یک فیلتر هرزنامه می‌تواند به‌طور خودکار یاد بگیرد که کدام کلمات یا ترکیب‌های کلمات بهترین پیش‌بینی‌کننده‌های هرزنامه هستند. به این ترتیب، سیستم می‌تواند به‌طور خودکار الگوهای جدید را شناسایی کرده و بدون نیاز به دستورالعمل‌های جدید، آن‌ها را پرچم‌گذاری کند.
کاربردهای یادگیری ماشین
در اینجا چند نمونه از وظایف مختلف یادگیری ماشین همراه با تکنیک‌هایی که می‌توانند آن‌ها را حل کنند آورده شده است:
تحلیل تصاویر محصولات در خط تولید برای طبقه‌بندی خودکار: این کار شامل طبقه‌بندی تصویر است که معمولاً با استفاده از شبکه‌های عصبی پیچشی (CNN) یا گاهی ترانسفورمرها انجام می‌شود.
تشخیص تومور در اسکن‌های مغزی: این وظیفه به‌عنوان تقطیع معنایی تصویر شناخته می‌شود که در آن هر پیکسل در تصویر طبقه‌بندی می‌شود تا مکان و شکل دقیق تومورها مشخص گردد. معمولاً از CNNها یا ترانسفورمرها برای این کار استفاده می‌شود.
طبقه‌بندی خودکار مقالات خبری: این وظیفه از دسته پردازش زبان طبیعی (NLP) است و به‌طور خاص به طبقه‌بندی متن پرداخته می‌شود که می‌تواند با استفاده از شبکه‌های عصبی بازگشتی (RNNs) یا CNNها حل شود. در حال حاضر، ترانسفورمرها بهترین عملکرد را دارند.
شناسایی نظرات توهین‌آمیز در تالارهای گفتگو: این کار نیز از نوع طبقه‌بندی متن است که در آن از ابزارهای مشابه NLP استفاده می‌شود.
خلاصه‌سازی خودکار اسناد طولانی: این وظیفه نیز زیرمجموعه‌ای از NLP است که به خلاصه‌سازی متن پرداخته می‌شود.
ساخت چت‌بات یا دستیار شخصی: این کار شامل بسیاری از اجزای NLP از جمله درک زبان طبیعی (NLU) و ماژول‌های پاسخ به پرسش است.
پیش‌بینی درآمد سال آینده شرکت: این یک وظیفه رگرسیون است که می‌تواند با استفاده از مدل‌های مختلف رگرسیونی مانند رگرسیون خطی یا شبکه عصبی مصنوعی انجام شود. اگر نیاز باشد توالی معیارهای عملکرد گذشته بررسی شود، از RNNها یا CNNها استفاده می‌شود.
واکنش برنامه به دستورات صوتی: این وظیفه از تشخیص گفتار است که نیاز به پردازش نمونه‌های صوتی دارد و به‌طور معمول از RNNها، CNNها یا ترانسفورمرها برای پردازش آن‌ها استفاده می‌شود.
تشخیص کلاهبرداری کارت اعتباری: این وظیفه از نوع تشخیص ناهنجاری (Anomaly detection) است که می‌تواند با استفاده از جنگل‌های ایزوله‌سازی (Isolation forests) یا رمزگذارهای خودکار (Autoencoders) انجام شود.
تقسیم‌بندی مشتریان بر اساس خریدهایشان: این کار یک وظیفه خوشه‌بندی (Clustering) است که می‌تواند با استفاده از الگوریتم‌هایی مانند کی-میانگ (K-means) یا DBSCAN انجام شود.
نمایش داده‌های پیچیده در نمودار: این کار از نوع تجسم داده‌ها است که معمولاً شامل تکنیک‌های کاهش ابعاد می‌شود.
توصیه محصولات به مشتریان بر اساس خریدهای قبلی: این یک سیستم توصیه‌گر است که با استفاده از داده‌های خریدهای گذشته به پیش‌بینی خرید بعدی مشتری پرداخته می‌شود. این کار می‌تواند توسط شبکه عصبی مصنوعی انجام شود.
ساخت ربات هوشمند برای بازی‌ها: این کار از طریق یادگیری تقویتی (Reinforcement Learning) انجام می‌شود که در آن ربات‌ها آموزش می‌بینند تا بهترین اقدامات را انتخاب کنند و پاداش خود را به حداکثر برسانند.
این لیست می‌تواند ادامه یابد، اما هدف این است که نشان دهیم یادگیری ماشین چگونه می‌تواند مسائل پیچیده را حل کند و انواع تکنیک‌هایی که برای هر وظیفه استفاده می‌شوند.جدیدی را به مشتریان پیشنهاد دهد.
نتیجه‌گیری
یادگیری ماشین به ابزاری قدرتمند تبدیل شده است که می‌تواند به ما کمک کند تا مسائل پیچیده‌ای را حل کنیم که روش‌های سنتی قادر به حل آن‌ها نبوده‌اند. این فناوری به‌طور مداوم در حال پیشرفت است و در آینده شاهد کاربردهای بیشتری از آن در زندگی روزمره خواهیم بود.

نوشته‌های مشابه