می‌خواهید یک دانشمند داده باشید؟ با یادگیری ماشین شروع نکنید

منتشرشده در towards data science به تاریخ ۲۷ نوامبر ۲۰۲۰
لینک مقاله اصلی: Want to be a data scientist? Don't start with machine learning

اولین چیزی که بیشتر مردم هنگام شنیدن عبارت «دانش داده» به آن فکر می‌کنند، معمولا یادگیری ماشین است.

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

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

اگر می‌خواهید متخصص داده باشید، با یادگیری ماشین شروع نکنید.

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

پس چرا نباید با یادگیری ماشینی شروع کنید؟

۱. یادگیری ماشین تنها یک بخش (و یک بخش بسیار کوچک) از دانش یک دانشمند داده است.

دانش داده و یادگیری ماشین مانند یک مربع و یک مستطیل هستند. یادگیری ماشینی (بخشی از) علم داده است اما علم داده لزوما یادگیری ماشین نیست، دقیقا مثل این که یک مربع یک مستطیل است اما یک مستطیل لزوما یک مربع نیست.

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

TLDR: با تمرکز بر یادگیری ماشین در ابتدا، شما زمان و انرژی زیادی را صرف خواهید کرد و در عوض خروجی کمی به دست خواهید آورد.

۲. درک کامل یادگیری ماشین ابتدا به دانش اولیه در چندین موضوع دیگر نیاز دارد.

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

برای ارائه چند مثال:

  • رگرسیون خطی، اولین «الگوریتم یادگیری ماشین» که بیشتر بوت کمپ‌ها در ابتدا تدریس می‌کنند واقعا یک روش آماری است.
  • تحلیل مولفه اصلی تنها با ایده‌های ماتریس‌ها و بردارهای ویژه (جبر خطی) ممکن است.
  • بیز ساده یک مدل یادگیری ماشین است که کاملا براساس قضیه بیز (احتمال) است.

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

۳. یادگیری ماشینی پاسخ هر مشکل دانشمند داده نیست.

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

اما هر مشکل «علم داده» نیاز به یک مدل یادگیری ماشین ندارد.

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

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

در عوض چه کار باید بکنید؟

من اصول ریاضی، آمار و برنامه‌نویسی را پیشنهاد می‌کنم.

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

من می‌دانم که اگر شما در حال یادگیری آمار، ریاضی، یا اصول برنامه‌نویسی هستید، ممکن است احساس کنید که در حال پیشرفت به سمت تبدیل شدن به یک «دانشمند داده» نیستید، اما یادگیری این اصول تنها به یادگیری شما در آینده شتاب خواهد بخشید.

شما باید راه رفتن را قبل از دویدن یاد بگیرید.

اگر می‌خواهید گام‌های ملموسی در مرحله بعد برداشته شود، در اینجا دو مورد وجود دارد:

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

۲. پایتون و SQL را یاد بگیرید. اگر بیشتر طرفدار R هستید، آن را یاد بگیرید. من شخصا هیچ وقت با R کار نکردم و به همین دلیل نظری درباره آن ندارم. هر چه در پایتون و SQL بهتر باشید، زندگی شما در زمینه جمع‌آوری، دستکاری و پیاده‌سازی داده‌ها آسان‌تر خواهد بود. همچنین با کتابخانه‌های پایتون مانند پانداس، NumPy، و Scikit-learn آشنا هستم. من همچنین توصیه می‌کنم که در مورد درخت‌های دودویی یاد بگیرید چون به عنوان پایه‌ای برای بسیاری از الگوریتم های پیشرفته یادگیری ماشین مانند XGBoost عمل می‌کند.

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

۴. کار کردن با داده‌ها را یاد بگیرید. این حداقل ۵۰٪ کار یک دانشمند داده را تشکیل می‌دهد. به طور خاص، در مورد مهندسی ویژگی، تحلیل داده اکتشافی و آماده‌سازی داده بیشتر یاد بگیرید.

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