یادگیری ماشین

یک ماشین چگونه یاد می گیرد؟

یک ماشین چگونه یاد می گیرد؟

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

تجربه، تکلیف، سنجه، شروع یادگیری!

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

آقای تام میشل (Tom Mitchell) در کتاب یادگیری ماشین خود، یادگیری ماشین را از دید مهندسی به این شکل تعریف کرده است:

اگر کارایی برنامه در انجام تکلیف T که با سنجه P ارزیابی می‌شود، با تجربه E افزایش یابد، می‌گوییم که برنامه یاد گرفته است از تجربه E با توجه به تکلیف T و سنجه P استفاده کند.

تکلیف T

تکلیف T در واقع همان مساله‌ای است که ما انتظار داریم بتوانیم با یادگیری ماشین حل کنیم. برای مثال بانکی را تصور کنید که می‌خواهد تصمیم بگیرد آیا به مشتری وام اختصاص بدهد یا خیر. انتخاب وام دادن یا ندادن به مشتری را تکلیف T می‌گوییم.

تجربه E

برای انجام فرایند یادگیری، که منجر به حل تکلیف T می‌شود، ما نیازمند تعدادی نمونه (sample) هستیم که اطلاعات مورد نیاز در مورد مساله را به ما می‌دهند. برای مثال در مساله‌ی وام دادن بانک، می‌توان از سابقه‌ی مشتریان پیشین و این که وام خود را پرداخت کرده‌اند یا خیر برای مجموعه‌ی داده (dataset) یا نمونه‌ها استفاده نمود. در یادگیری بانظارت هر نمونه دارای یک برچسب (label) است که پرداخت کردن یا نکردن وام مشتریان پیشین در این مساله همان برچسب به حساب می‌آید و انتظار داریم الگوریتم بتواند با داشتن سایر ویژگی‌ها، مقدار این برچسب را برای مشتری جدید پیش‌بینی کند.

سنجه P

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

مراحل انجام یادگیری ماشین

به طور کلی مراحل انجام یادگیری ماشین ، دارای ۴ عنصر اساسی است:

  1. یک الگوریتم (مدل) برای تصمیم‌گیری
  2. یک معیار برای امتیازدهی اینکه عمل‌کرد مدل چقدر خوب بوده
  3. بررسی خودکار کیفیت مدل بر اساس امتیاز
  4. یک روش خودکار برای بهبود امتیاز بر اساس ایجاد تغییرات در مدل

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

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

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

انواع یادگیری ماشین

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

این هم انواع یادگیری ماشین امیدوارم لذت ببرید.

امیرحسین باقری

امیرحسین باقری هستم عاشق برنامه نویسی مخصوصا با python و همینطور طراح قالب و متخصص فرانت اند؛ از دانشی که تو این مدت بدست آوردم میشه به HTML, CSS, Bootstrap, Flexbox, SASS, Python, Django, DRF و هوش مصنوعی اشاره کرد.
دکمه بازگشت به بالا