آیا تا به حال به این فکر کردهاید که گوشی هوشمندتان چگونه در کسری از ثانیه، چهره شما را میان هزاران نفر تشخیص میدهد؟ یا سرویس ایمیلتان با چه هوشی متوجه میشود که یک پیام، تبلیغاتی مزاحم است و باید آن را مستقیماً به پوشه هرزنامه بفرستد؟ اینها شعبدهبازی نیست؛ این قدرتِ پیشران و تحولآفرین «یادگیری ماشین» است که همین حالا در ابزارهای روزمره ما حضور دارد. ما در دورانی زندگی میکنیم که رایانهها از نقشِ ابزارهای مطیع که صرفاً دستورات را اجرا میکردند، فراتر رفتهاند. اما چه شد که ماشینها به جای دیکته گرفتن از ما، شروع به یادگیری از تجربیات خود کردند؟
مفهوم یادگیری ماشین یا Machine Learning در بسیاری از حوزههای تخصصی مثل بازارهای مالی، بازاریابی، اتومبیلهای خودران، سیستمهای توصیهگر، چتباتها، شبکههای اجتماعی، بازیهای کامپیوتری، امنیت سایبری و بسیاری از موارد دیگر کاربرد دارد. یادگیری ماشین یا همان ماشین لرنینگ یکی از مهمترین زیرشاخههای هوش مصنوعی به حساب میآید و با توجه به پیشرفت سریع این حوزه، افراد بسیاری میخواهند بدانند یادگیری ماشین چیست.
یادگیری ماشین چیست؟
یادگیری ماشین، زیرمجموعهای از هوش مصنوعی، که به ماشینها اجازه میدهد تا رفتاری شبیه به انسان از خود نشان دهند. این فناوری برای حل مسائل پیچیده و اجرای وظایف متنوعی مانند تشخیص الگو در تصاویر، درک زبان طبیعی و تعامل با دنیای فیزیکی به کار میرود. هدف نهایی، ایجاد مدلهای کامپیوتری هوشمند است که بتوانند مانند انسان فکر و عمل کنند.
در دنیای سنتیِ برنامهنویسی، باید تمام قواعد و منطقها را به صورت صریح و قدمبهقدم به کامپیوتر دیکته میکردیم. اگر حالتی پیش میآمد که ما پیشبینی نکرده بودیم، ماشین از کار میافتاد. اما یادگیری ماشین (Machine Learning) این پارادایم را درهم شکسته است. در این انقلاب علمی، به جای برنامهنویسیِ تکتکِ قوانین، ما دادهها را به یک «الگوریتم عمومی» میدهیم و این خودِ الگوریتم است که بر اساس الگوهای موجود در دادهها، منطق داخلیاش را میسازد.
این گذار از «برنامهنویسی صریح» به «یادگیری از داده»، بزرگترین جهش در تاریخ علوم کامپیوتر است؛ جایی که ماشین مانند یک کودک، از محیط و ورودیهایش میآموزد تا هوشمندانه عمل کند.
تام میشل (Tom M. Mitchell)، یکی از پیشگامان این حوزه، یادگیری ماشین را با دقتی علمی چنین تعریف میکند:
«یک برنامه یادگیرنده، برنامه رایانهای است که به آن گفته شده تا از تجربه E مطابق با برخی وظایف T، و کارایی عملکرد P برای وظیفه T که توسط P سنجیده میشود، یاد بگیرد که تجربه E را بهبود ببخشد.»
فرمول سهگانه موفقیت: تجربه، وظیفه و عملکرد
برای اینکه تعریف فنی بالا را به یک بینش کاربردی تبدیل کنیم، بیایید نگاهی به مدل معروف «بازی دوز» (Checkers) بیندازیم. هر سیستم یادگیرنده از سه ضلع اصلی تشکیل میشود:
-
تجربه (E): بازی کردن بازی دوز به دفعات بسیار زیاد و مواجهه با سناریوهای مختلف.
-
وظیفه (T): انجامِ فرآیند بازی و حرکت دادن درست مهرهها.
-
عملکرد (P): معیاری برای سنجش موفقیت؛ مثلاً درصد احتمال پیروزی در بازیهای آینده.
در این چرخه، هرچه تجربه (E) بیشتر شود، سیستم عملکرد (P) خود را در انجام وظیفه (T) ارتقا میدهد.
سه مسیر متفاوت برای رسیدن به هوشمندی
انواع الگوریتم های یادگیری ماشین
الگوریتمهای یادگیری ماشین بسته به نوع دادهها و هدفی که دنبال میکنند، به سه دسته اصلی تقسیم میشوند:
یادگیری نظارت شده (Supervised Learning) در ماشین لرنینگ
در یادگیری نظارت شده یا Supervised Learning مدلها، با استفاده از مجموعه دادههای برچسبگذاریشده آموزش میبینند. برای مثال، با نمایش تصاویر سگ و اشیای دیگر به الگوریتم، آن یاد میگیرد سگها را تشخیص دهد و از تصاویر دیگر متمایز کند. این فرایند به مرور زمان بهبود مییابد.
این روش محبوبترین و پرکاربردترین شاخه است؛ چرا که اکثر مسائل دنیای واقعی بر پایه دادههای تاریخی بنا شدهاند که پاسخشان را از قبل میدانیم. در اینجا ما ورودی (X) و خروجی یا برچسب (Y) را به ماشین میدهیم تا تابع نگاشت Y=f(X) را کشف کند.
امروزه یادگیری ماشین با نظارت رایجترین روش مورد استفاده در یادگیری ماشین است. یادگیری با نظارت خود به زیربخشهایی تقسیمبندی میشود که در ادامه به مهمترین آنها اشاره شده است.
-
دستهبندی (Classification): زمانی که میخواهیم دادهها را در گروههای گسسته قرار دهیم. «بازشناسی دستخط»، «تشخیص چهره»، «فیلتر هرزنامه» و «تشخیصهای پیچیده پزشکی» (بیمار هست یا نیست) در این دسته قرار میگیرند.
-
رگرسیون (Regression): زمانی که هدف ما پیشبینی یک مقدار عددی پیوسته است؛ مثل تخمین قیمت مسکن یا پیشبینی قد افراد.
یادگیری نظارت نشده (Unsupervised Learning) در ماشین لرنینگ
این الگوریتمها به دنبال الگوهای موجود در دادههای بدون برچسب هستند. یادگیری ماشین بدون نظارت میتواند الگوها یا روندهای پنهان را پیدا کنند. برای مثال، یک برنامه یادگیری ماشینی بدون نظارت میتواند دادههای فروش آنلاین را بررسی کند و انواع مختلفی از مشتریان خریدار را شناسایی کند. یادگیری بدون نظارت خود به زیربخشهایی تقسیمبندی میشود که در ادامه به مهمترین آنها اشاره شده است.
-
خوشهبندی (Clustering): گروهبندی مشتریان یک فروشگاه بر اساس شباهت در رفتار خرید.
-
قوانین انجمنی (Association Rules): کشف این الگو که مثلاً «کسانی که کالای الف را میخرند، به احتمال زیاد کالای ب را هم تهیه میکنند».
یادگیری نیمه نظارتی در ماشین لرنینگ
این الگو بین یادگیری بدون نظارت و یادگیری نظارت شده قرار دارد. برخی از نمونههای آموزشی فاقد برچسبهای آموزشی هستند، با این حال بسیاری از محققان یادگیری ماشین دریافتهاند که دادههای بدون برچسب، زمانی که همراه با تعداد کمی از دادههای برچسبگذاری شده استفاده شوند، بهبود قابل توجهی در دقت یادگیری ایجاد خواهد شد.
یادگیری تقویتی (Reinforcement Learning) در ماشین لرنینگ
این روش، شبیهترین رویکرد ماشینها به رفتار انسانی است که از طریق «آزمون و خطا» در محیطهای پویا صورت میگیرد. ماشینها با دریافت پاداش برای تصمیمات درست و تنبیه برای اشتباهات، یاد میگیرند. این تکنیک، پایهی عملکرد خودروهای خودران و هوش مصنوعی در بازیهای کامپیوتری است. الگوریتمها با پاداشدهی به انتخابهای مناسب، به ماشینها کمک میکنند تا با تجربه، تصمیمگیریهای بهتری داشته باشند.
حداقل دانش ریاضی برای یادگیری ماشین
-
جبر خطی: عملیات روی ماتریسها
-
آمار و احتمال: مفاهیم حیاتی مثل «نظریه بیزی» و توزیعهای احتمالی.
-
حساب دیفرانسیل: مشتقات جزئی برای «بهینهسازی» عملکرد مدل.
-
الگوریتم و پیچیدگی: درک ساختارهایی مثل درختهای دودویی برای بهبود سرعت محاسبات.
اقدامات مهم قبل از شروع عملیات یادگیری ماشین
در یادگیری ماشین برای آموزش مدل، از دادهها استفاده میشود. بنابراین قبل از بهکارگیری یادگیری ماشین بایستی عملیات زیر انجام گیرد.
-
جمعآوری دادهها: در مرحله اول، دادههایی مانند تراکنشهای بانکی، تصاویر، متن، و دادههای سری زمانی از منابع متنوع جمعآوری میشود. حجم بیشتر دادهها، آموزش بهتر مدل را تسهیل میکند. این مرحله پایهای برای توسعه مدلهای هوش مصنوعی است.
-
دادهها پیش پردازش و پاکسازی شوند: دادههای خام اغلب دارای مقادیر گمشده هستند که برای الگوریتمهای یادگیری ماشین مناسب نیست. در مرحلهٔ آمادهسازی، دادهها با روشهای از پیش تعیینشده پاکسازی میشوند تا «دادههای آموزشی» تمیز و کامل برای الگوریتمها فراهم شود. این فرایند شامل حذف یا پر کردن مقادیر ناقص است.
جمعبندی
یادگیری ماشین فراتر از یک ابزار مهندسی، در حال بازتعریف مفهوم «هوش» است. این فناوری نه برای جایگزینی انسان، بلکه برای توانمندسازی او آمده است. همافزایی میان خلاقیت انسانی و قدرت تحلیلِ الگوهای ماشین، مرزهای ناممکن را جابهجا کرده است؛ از تشخیصهای پزشکی که جان انسانها را نجات میدهد تا پیشبینی دقیق تغییرات اقلیمی.