10 واقعیت درباره یادگیری ماشین
ایده یادگیری ماشین مدتها پیش معرفی شده است. سیل عظیم دادهها و منابع محاسباتی گسترده به ظهور یادگیری ماشین کمک اساسی کردهاند. امروزه، یادگیری ماشین به موضوع داغ روز تبدیل شده است. حتی مهندسان نرمافزار به یک دلیل عمده در صدد مطالعه یادگیری ماشین هستند: یادگیری ماشین تماماً با برنامهنویسی دادهمحور سر و کار دارد و میتواند در اکثر موارد جایگزین برنامهنویسی سنتی شود. با توجه به افزایش روزافزون محبوبیت یادگیری ماشین، افراد بسیاری برای یادگیری آن ابراز علاقه کردهاند. اما هیچ کس به دنبال حقایق یادگیری ماشین نیست. بنابراین، مقاله حاضر در نظر دارد با ارائه واقعیتها درباره یادگیری ماشین راه درست را به علاقمندان نشان دهد. امیدواریم مطالب این مقاله به شما در انتخاب این مسیر یادگیری درست کمک کند و بتوانید به شغل رویاییتان در یادگیری ماشین دست یابید.
10 واقعیت درباره ماشین لرنینگ
واقعیت 1: دانشمندان داده و مهندسان یادگیری ماشین 60 الی 70 درصد زمانشان را صرف رفع مسائل کیفیت داده میکنند.
نکته جالب درباره یادگیری ماشین این است که دادههای دنیای واقعی در وضعیت نابسامانی به سر میبرند و مثل دیتاستهای پیشپردازش شده نیستند که از Kaggle یا هر پلتفرم دیگری قابل دانلود باشند. دیتاستهای دنیای واقعی با یکدیگر فرق دارند و با مسائل کیفی خاصی همراهاند. رفع این مسائل به دانش خاص آن حوزه نیاز دارد. از جمله کارهایی که در رفع مسائل کیفی داده انجام میگیرد، میتوان به مدیریت مقادیر گمشده، شناسایی دادهپرت، رمزگذاری متغیرهای رستهای و غیره اشاره کرد. تلاش برای حل مسئله مقادیر گمشده، بیشترین زمان را از دانشمندان داده میگیرد. پس از شناسایی دادهپرت باید چه اقدامی انجام داد؟ آیا باید در صدد حذف آن برآمد؟ آیا باید مقدار مرتبطی جایگزین آن کرد؟ این کار به دانشی بستگی دارد که باید برای مسائل تحلیلی به کار برد. ممکن است دادهپرتها داستان جالبی داشته باشند. باید در خصوص مسئلهای که قصد حلاش را دارید، دانش خوبی داشته باشید. بنابراین، در پایان میتوان گفت که رفع مسائل کیفی داده به زمان زیادی نیاز دارد.
نکته کلیدی: حین انجام یادگیری ماشین باید تمرکزتان را فقط روی مدیریت مقادیر گمشده، شناسایی دادهپرت، کدگذاری متغیر و کسب دانش تخصصی درباره مسئله معطوف کنید. این کار به شما کمک میکند تا به شغل رویاییتان در یادگیری ماشین دست یابید.
واقعیت 2: مهندسان یادگیری ماشین زمانی برای تنظیم هایپرپارامترها اختصاص نمیدهند.
نکته دیگری که درباره یادگیری ماشین باید بدانید این است که تنظیم هایپرپارامترها میتواند عملکرد مدل را تا حدی ارتقاء دهد. گزینههای خودکارسازی از قبیل جستجوی شبکه یا جستجوی تصادفی نیز در تنظیم هایپرپارامترها موجود هستند. این گزینهها از نوشتار زیاد برای حلقهها پیشگیری کرده و باعث صرفهجویی در زمان میشوند. مهندسان یادگیری ماشین به جای تمرکز بر تنظیم هایپرپارامترها، رفع مسائل کیفی دادهها را در اولویت کارهایشان قرار میدهند زیرا مسائل کیفی داده میتواند به پروژه آنها خاتمه دهد.
نکته کلیدی: رفع مسائل کیفی داده در هنگام انجام کارهای یادگیری ماشین در دستور کارتان باشد. وقتی میخواهید کار تنظیم هایپرپارامترها را انجام دهید، همیشه از گزینههای خودکارسازی نظیر جستجوی شبکه یا جستجوی تصادفی استفاده کنید.
واقعیت 3: ساخت مدل کاری نیست که در یک دوره عملیات انجام گیرد و فرایندی تکراری به شمار میرود.
یکی از نکات جالب درباره یادگیری ماشین این است که نمیتوانید به سادگی در زمان کم مدل خوبی بسازید. مدلسازی کاری نیست که در یک دوره عملیات انجام گیرد و فرایندی تکراری به شمار میرود. اگر بخواهید مدل خوبی بسازید، حتماً همه مراحل را پس و پیش میکنید تا نهایتاً به مدلی دست یابید که تنوع بالای داده ها را مدیریت کند. در ابتدا، ممکن است مدل پایهای بسازید که برای مقایسه با سایر مدلها مورد استفاده قرار گیرد. سپس، ممکن است روشهای تنظیم هایپرپارامتر دیگری را نیز امتحان کنید و عملکرد مدل را اندازه بگیرید. همچنین، شاید بخواهید از روشهای کاهش بُعد استفاده کنید و مدلتان را دوباره آموزش دهید. بنابراین، ساخت مدل مراحل تکراری زیادی دارد.
واقعیت 4: تنظیم هایپرپارامتر چالش بزرگی در یادگیری بدون نظارت است.
درباره یادگیری ماشین باید این را هم بدانید که در نوع نظارتنشده آن که برچسبی وجود ندارد، اندازهگیریِ عملکرد مدل کار دشواری است. بنابراین، تنظیم هایپرپارامتر چالش بزرگی در یادگیری بدون نظارت محسوب میشود. ممکن است مقادیر مختلفی را برای هایپرپارامترها در نظر بگیرید و نمودارهایی برای تایید انتخابتان ایجاد کنید. گاهی دانش زمینهای در خصوص مسئله به افراد کمک میکند تا مقادیر درستی را برای هایپرپارامترها به دست آورید.
واقعیت 5: یادگیری ماشین خودکار نمیتواند جایگزین دانشمندان داده شود.
یادگیری ماشین خودکار ابزاری در دست دانشمندان داده است تا کارها را به راحتی انجام دهند؛ این ابزار به آنها کمک میکند تا کارهای تکراری و خستهکننده را با آسودگی خاطر انجام دهند، در زمان ارزشمندشان صرفهجویی کنند و عملکرد خوبی در سازگاری و حفظ کد داشته باشند. یادگیری ماشین خودکار دانشمندان داده را از کار بیکار نمیکند. نیاز به دانش زمینهای و وجود دادههای بدون برچسب در یادگیری نظارت نشده میتواند از فرایند خودکارسازی در یادگیری ماشین پیشگیری کند.
نکته کلیدی: چندی پیش، مقالهای درباره یادگیری ماشین خودکار منتشر کردم. این مقاله میتواند اطلاعات بیشتری در اختیار علاقمندان قرار دهد. به لینک زیر مراجعه کنید.
واقعیت 6: مدلهای یادگیری ماشین Scikit-learn مثل تنسورفلو در صنعت کاربرد گستردهای ندارند.
نکته دیگر درباره یادگیری ماشین این است که اگرچه ابزارهای ارزیابی Scikit-learn از سازگاری بسیار بالایی برخوردارند، اما کاربرد گستردهای در صنعت ندارند. شبکه های عصبی به خوبی در Scikit-learn اجرا نمیشوند. Scikit-learn از GPU پشتیبانی نمیکند. سایر الگوریتمهای موجود در عملکرد ضعیفتری نسبت به کتابخانههایی مثل XGBoost دارند. همچنین، Scikit-learn عملکرد کُندی در دیتاستهای بزرگ از خود نشان داده است. در مقابل، تنسورفلو گزینههای مناسبی برای شبکههای عصبی ارائه میکند.
نکته کلیدی: اگر تازه با یادگیری ماشین آشنا شدهاید، توصیه میکنم در ابتدا Scikit-learn را یاد بگیرید تا دانش پایهای خوبی برای ادامه مسیر یادگیریتان کسب کرده باشید. سپس، یادگیری کتابخانه تنسورفلو را در اولویت کاریتان قرار دهید.
واقعیت 7: نیازی نیست دانشمندان داده از مسائل ریاضی الگوریتمهای یادگیری ماشین آگاهی داشته باشند.
اگرچه بهتر است دانشمندان داده اطلاعاتی درباره هر کدام از الگوریتمها داشته باشند، اما نیازی نیست از همه مسائل ریاضی الگوریتمهای یادگیری ماشین آگاهی داشته باشند. دانشمندان داده فقط باید بدانند که کدام الگوریتمها میتواند به بهترین شکل ممکن در انجام کارهای خاص به آنها کمک کند. همچنین، باید از نحوه بکارگیری الگوریتمها آگاهی داشته باشند. علاوه بر این، آنها باید بدانند الگوریتم مورد نظرشان چه نوع دادههایی را به عنوان ورودی میپذیرد و از آنها خروجی میگیرد. دانشمندان داده باید از نحوه تاثیرگذاریِ تغییرات پارامتر بر عملکرد مدل نیز آگاه باشند. اگر آنها با مسائل ریاضی پیچیده در الگوریتمها آشنا باشند، مزیت مضاعفی برایشان به حساب میآید، اما کسب این دانش الزامی نیست.
واقعیت 8: در یادگیری ماشین، هیچ برندهی مشخصی بین R و پایتون وجود ندارد.
حتماً میدانید که R و پایتون دو زبان برنامهنویسی پرکاربرد در علوم داده و یادگیری ماشین هستند. این دو زبان مزایا و معایب خاص خود را دارند. هر دوی آنها کتابخانههای متعددی برای تحلیل داده، دستکاری داده و کارهای یادگیری ماشین عرضه میکنند. نمیتوان هیچ برندهای را از میان این دو انتخاب کرد. بسته به نیازهای پروژه، ممکن است از کمکِ هر دو استفاده کنید. با این حال، من به شخصه پایتون را ترجیح میدهم چون نحو آن به راحتی قابل فهم است.
واقعیت 9: SQL مهارت اصلی مهندس یادگیری ماشین است.
چون %70 یادگیری ماشین به کار با داده مربوط میشود، زبان پرسمان ساختیافته (SQL) مهارت اصلی مهندس یادگیری ماشین است. شما میتوانید اسکریپتهای پایتون و R را در سرورهای SQL اجرا کنید. اگر به دنبال شغلی مرتبط با مهندسی یادگیری ماشین باشید، خواهید دید که SQL یکی از الزامات اصلی است.
واقعیت 10: مدلهای یادگیری ماشین دنیای واقعی در لپتاپ ساخته نمیشوند.
آخرین نکته این مقاله درباره یادگیری ماشین این است که احتمالاً با ساخت مدلهای یادگیری ماشین در لپتاپ آشنایی دارید. با این حال، این کار در کاربردهای عملی دنیای واقعی امکانپذیر نیست. ایرادی ندارد که از لپتاپتان برای ساخت نمونه اولیه از یک مدل استفاده کنید یا مدلسازی را تمرین کنید. بهتر است با فرایند تلفیق و مقیاسبندیِ مدلها نیز آشنا باشید.