برای یادگیری ماشین به ریاضی نیاز ندارید

شکل ۱. ریاضیات
شکل ۱. ریاضیات
منتشر شده در towardsdatascience به تاریخ ۲۸ ژوئن ۲۰۲۱
لینک منبع You Don’t Need Math For Machine Learning

ریاضی ترسناک است.

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

حدس می‌زنم شما ۴ سال به مدرسه بر می‌گردید …

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

من توضیح خواهم داد که چرا شما به ریاضیات نیاز ندارید.

یادگیری ریاضی شما را کند خواهد کرد

تصور کنید که نیاز باشد درک کنید که یک موتور قبل از رانندگی چگونه کار می‌کند؟ این کار ممکن است به شما کمک کند تا اتومبیل را برای پیشرفت در مسابقه تنظیم کنید. اما شما قطعا برای رانندگی به این دانش نیاز ندارید.

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

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

اما شما مقاله نمی‌نویسید. شما به اندازه کافی یاد گرفته‌اید که خطرناک باشید. برای حل مشکلات و تولید ارزش. حتی ممکن است حول آنچه می‌سازید یک شرکت تأسیس کنید. این کار ۹۰٪ تمرین و ۱۰٪ تئوری خواهد بود.

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

مهندسان ML و دانشمندان داده محاسبات زیادی انجام نمی‌دهند

چالش اصلی داده‌ها هستند، نه ریاضیات.

بازیابی، کاوش، تمیز کردن، شکل دادن و تجسم داده‌ها بخش عمده‌ای از کار است. این کار ترکیبی از مهارت، تجربه و درک مستقیم است.

با مهارت‌های بالای مشکل‌یابی داده، شما در ۹۰ درصد راه آموزش مدل‌های قدرتمند هستید. SQL، Pandas و توابع قابل‌استفاده مجدد در اینجا دوست شما هستند. خیلی بیشتر از معادلات دیفرانسیل.

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

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

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

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

کتابخانه‌ها این کار سنگین را برای شما انجام می‌دهند

ابزارهای خارج از قفسه بهترین دوست شما هستند.

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

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

با کمی بینش در مورد ورودی، خروجی، و پیکربندی، شما ایمن هستید که اکثر مدل‌ها را به عنوان یک جعبه سیاه در نظر بگیرید.

من از این کتابخانه‌های پایتون استفاده‌های زیادی گرفتم:

  • کتابخانه پانداس. بار کردن و شکل دادن داده‌ها.
  • کتابخانه NLTK. توکنیزه کردن و پردازش متن.
  • کتابخانه Scikit-learn. همه الگوریتم‌های ML کلاسیک شما.
  • کتابخانه Keras. یک API سطح بالا برای tensorflow.
  • کتابخانه Gensim. یادگیری بدون نظارت.
  • کتابخانه Numpy. کار کردن با آرایه‌ها.
  • کتابخانه Spacy. انواع ابزارهای NLP.

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

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

بین کدگذاری و ریاضیات، کد نوشتن را یاد بگیرید

در یک مسابقه برای حل یک مساله ML، توسعه دهنده نرم‌افزار هر بار ریاضی‌دان را شکست می‌دهد.

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

بنابراین با توجه به زمان محدود و گزینه یادگیری ریاضی یا کدگذاری، کد نوشتن را یاد بگیرید.

اگر می‌توانید اسناد را بخوانید و آن را اجرا کنید‌، در نیمه راه انجام ML با کیفیت تولید هستید.

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

شما می‌توانید بهترین مدل را با امتحان کردن همه آن‌ها انتخاب کنید

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

پلتفرم‌های ابری امکان اجرای نامحدود کد به صورت موازی با کلیک یک دکمه را فراهم می‌آورند.

هنگامی که در اوایل کار ML با مشکلات جدیدی مواجه شدم، من هر مدل مشهور Scikit-learn را اجرا کردم و یکی از آن‌ها را با بهترین نتایج انتخاب کردم. یک سرویس ابری به نام FloydHub پس از نوشتن چند اسکریپت ساده به من اجازه این کار را داد.

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

با گذشت زمان، این کار بینش شما را می‌سازد، و شما دیگر لازم نیست همه چیز را امتحان کنید-مدل کم‌تر از یک جعبه سیاه می‌شود.

اگر باید ریاضی یاد بگیرید

شاید شما به سمت پیچ و مهره‌های الگوریتم‌ها کشیده شوید. عالی است! یاد بگیرید که چگونه کار می‌کنند. اما این کار را هوشمندانه انجام دهید.

با یک کتاب درسی آمار شروع نکنید. با انتخاب مدلی که استفاده کرده‌اید شروع کنید.

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

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

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

افکار نهایی

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

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

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

چه چیزی تا کنون مهم‌ترین تفاوت را در سفر ML شما ایجاد کرده‌است؟

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