تبدیل شدن به یک متخصص یادگیری ماشین |‌ گام سوم:‌ انتخاب ابزار

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

ابزارهای اصلی

WEKA

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

خیلی اوقات برای آشنا شدن با مجموعه داده های جدیدی که در اختیارم قرار می گیرد، از آن استفاده می کنم. کاری که هر فرد در پروسه حل مسأله خود (تبدیل شدن به یک متخصص یادگیری ماشین |‌گام دوم:‌ دنبال کردن یک پروسه) باید مدنظر قرار دهد. الگوریتم های گنجانده شده در نرم افزار، ابزارهای گرافیکی برای Visualize کردن داده ها و نتایج، سهولت در وارد کردن داده ها، و رابط کاربری گرافیکی کاربرپسند WEKA به من اجازه می دهد که حتی سریع تر نوشتن یک اسکریپت کوچک داده ها را مرور کنم.

دانلود WEKA | یک آموزش عالی برای WEKA

زبان برنامه نویسی پایتون (Python) و کتابخانه هایش

پایتون یک زبان برنامه نویسی در دسترس است که از لحاظ تعداد کاربران، مستندات و کتابخانه های برنامه نویسی (Programming Libraries)، سریع ترین رشد را در قیاس با سایر زبان ها داراست. به کمک کتابخانه های اعجاب انگیزی همانند NumPy، SciPy، TensorFlow، Pandas، Flask، و بسیاری دیگر، شما می توانید تقریباً هر کاری که بخواهید با پایتون انجام دهید.

تنها نقطه ضعف پایتون کمتر بودن سرعت اجرای برنامه ها در مقایسه با سایر زبان های برنامه نویسی است (به دلیل استفاده از مفسر به جای کامپایلر)، خصوصاً زمانی که به خوبی از کتابخانه های موجود استفاده نکنید. به عنوان نمونه، وقتی برای محاسبات ماتریسی از NumPy استفاده می کنید، خیلی بعید است که برای اعمال تغییرات در مقادیر درایه های ماتریس به استفاده از حلقه (loop) نیاز پیدا کنید.

دوره آموزشی آنلاین پایتون دانشگاه میشیگان

زبان برنامه نویسی R

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

این زبان برای همه توسعه دهندگان یادگیری ماشین ابزاری فوق العاده است، ولی اگر به تازگی پا به این عرصه گذاشته اید، پیشنهاد می کنم ابتدا دانش خود را در مورد پایتون عمق ببخشید. شما به کمک پایتون می توانید پروژه های خود را به محصول تبدیل کنید، حال آن که R از این ویژگی بی بهره است.

دوره آموزشی آنلاین R از دانشگاه جانز هاپکینز

سایر ابزارها

متلب (Matlab) و اکتاو (Octave)

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

دانلود Matlab | دانلود Octave

زبان برنامه نویسی C

در محیط هایی که تولید محصول نهایی مورد نظر است، عُرف است که نمونه های اولیه الگوریتم ها با R یا پایتون توسعه پیدا می کنند و در نهایت به جهت افزایش سرعت و قابلیت اطمینان در زمان اجرا با زبان C بازنویسی می شوند. اگر برنامه دارید که پروژه های جدی و رسمی را در زمینه یادگیری ماشین به انجام برسانید، شاید بد نباشد که بر روی زبان C نیز تمرکز کنید.

آموزش C

پیشنهاد نهایی ما برای شما چیست؟

ترکیبی از WEKA و پایتون!

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

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