گاما رو نصب کن!

{{ number }}
اعلان ها
اعلان جدیدی وجود ندارد!
کاربر جدید

جستجو

پربازدیدها: #{{ tag.title }}

میتونی لایو بذاری!
نمونه سوال محتوای آموزشی آزمون آنلاین پرسش و پاسخ درسنامه آموزشی مدرسه‌یاب معلم‌ها

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

بروزرسانی شده در: 21:13 1405/02/5 مشاهده: 36     دسته بندی: کپسول آموزشی

یادگیری ماشین: روشی برای پیدا کردن الگوها توسط رایانه

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

تفاوت برنامه‌نویسی معمولی با یادگیری ماشین

در برنامه‌نویسی سنتی، ما به رایانه می‌گوییم چه کاری انجام دهد و چگونه انجام دهد. مثلاً برای تشخیص ایمیل اسپم، تمام قوانین را یک‌به‌یک می‌نویسیم: اگر ایمیل شامل کلمه «برنده شدی» بود، آن را اسپم علامت بزن. اما در یادگیری ماشین1، به جای نوشتن قوانین، مثال‌های زیاد از ایمیل‌های اسپم و غیراسپم به رایانه نشان می‌دهیم و خودش الگوها را پیدا می‌کند. این روش شبیه به یادگیری یک کودک است: به جای توضیح قواعد دستوری زبان، با شنیدن جملات بسیار، ساختار زبان را درمی‌یابد.

در جدول زیر تفاوت اصلی این دو رویکرد نشان داده شده است:

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

انواع اصلی یادگیری ماشین: نظارت شده، نظارت نشده و تقویتی

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

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

نوع دوم: یادگیری نظارت نشده3 – در این روش فقط ورودی را به رایانه می‌دهیم و خودش باید گروه‌بندی یا الگوهای پنهان را پیدا کند. مانند چیدن میوه‌های مخلوط بدون برچسب؛ رایانه بر اساس شباهت‌ها (رنگ، اندازه) آنها را دسته‌بندی می‌کند. کاربرد: بخش‌بندی مشتریان در فروشگاه، فشرده‌سازی تصاویر.

نوع سوم: یادگیری تقویتی4 – در این روش رایانه با آزمون و خطا و دریافت پاداش (امتیاز مثبت برای کار درست و جریمه برای کار اشتباه) یاد می‌گیرد. مانند آموزش یک موش مجازی برای یافتن پنیر در یک پیچ‌وخم. کاربرد: بازی‌های رایانه‌ای، ربات‌های خودگردان، کنترل ترافیک.

نکته و فرمول: در یادگیری نظارت شده، مدل سعی می‌کند خطای خود را کم کند. اگر $y_i$ مقدار واقعی و $\hat{y}_i$ مقدار پیش‌بینی شده برای نمونه $i$ باشد، میانگین مربعات خطا (MSE) به صورت زیر محاسبه می‌شود: $MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2$. هدف مدل کاهش این مقدار است.

مثال واقعی: ساخت یک تشخیص‌دهنده ایمیل اسپم

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

گام اول: جمع‌آوری داده – ده‌ها هزار ایمیل از دو دسته «اسپم» و «غیراسپم» (که به آن «حم» می‌گویند) جمع می‌کنیم. هر ایمیل برچسب دارد: $1$ برای اسپم و $0$ برای غیراسپم.

گام دوم: استخراج ویژگی – از هر ایمیل ویژگی‌های عددی استخراج می‌کنیم. مثلاً: تعداد دفعات تکرار کلمه «پول»، تعداد لینک‌های خارجی، وجود علامت تعجب زیاد، و غیره. این ویژگی‌ها ورودی مدل هستند.

گام سوم: انتخاب مدل – یک مدل ساده مانند «درخت تصمیم»5 انتخاب می‌کنیم. مدل روی داده‌ها آموزش می‌بیند: به آن هزاران ایمیل با برچسب‌هایشان نشان می‌دهیم تا رابطه بین ویژگی‌ها و اسپم بودن را پیدا کند.

گام چهارم: ارزیابی مدل – مدل را روی ایمیل‌هایی که قبلاً ندیده است می‌آزماییم. مثلاً از هر $100$ ایمیل جدید، مدل به درستی $98$ مورد را درست تشخیص می‌دهد. به این عدد «دقت» می‌گوییم.

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

آشنایی با معیارهای ارزیابی برای مدل‌های دسته‌بندی

برای اینکه بدانیم مدل یادگیری ماشین چقدر خوب کار می‌کند، از چند معیار ساده استفاده می‌کنیم. فرض کنید مدل ما $100$ ایمیل جدید را بررسی کرده است. نتایج احتمالی در یک جدول دو در دو (ماتریس درهم‌ریختگی6) نشان داده می‌شود:

پیش‌بینی: اسپم پیش‌بینی: غیراسپم
واقعیت: اسپم ۴۰ (درست مثبت) ۱۰ (غلط منفی)
واقعیت: غیراسپم ۵ (غلط مثبت) ۴۵ (درست منفی)

معیارهای مهم:

  • دقت: $\frac{40+45}{100}=0.85$ یعنی $85\%$ از کل موارد درست پیش‌بینی شده‌اند.
  • فراخوانی7 برای کلاس اسپم: $\frac{40}{40+10}=0.8$. یعنی از همه ایمیل‌های اسپم واقعی، $80\%$ را پیدا کرده است.

چالش‌های مفهومی در یادگیری ماشین

۱. آیا با داده‌های بیشتر، همیشه مدل بهتر می‌شود؟
نه لزوماً. اگر داده‌ها پر از اشتباه (نویز) باشند یا مدل خیلی پیچیده باشد، ممکن است دچار «بیش‌برازش»8 شود؛ یعنی مدل دقیقاً داده‌های آموزش را حفظ می‌کند اما روی داده‌های جدید ضعیف عمل می‌کند. راه حل: استفاده از داده‌های تمیز و ساده‌سازی مدل.
۲. چطور یک مدل می‌تواند از روی اعداد، احساسات انسان را تشخیص دهد؟
مدل خودش احساسات را «نمی‌فهمد». بلکه الگوهای زبانی را یاد می‌گیرد. مثلاً اگر در هزاران نظر، عبارت «بسیار بد» همیشه با امتیاز $1$ از $5$ همراه باشد، مدل برای جملات مشابه همان برچسب را پیش‌بینی می‌کند.
۳. آیا یادگیری ماشین همان هوش مصنوعی است؟
یادگیری ماشین زیرمجموعه‌ای از هوش مصنوعی است. هوش مصنوعی حوزه وسیع‌تری شامل روش‌های دیگری مثل جستجو، منطق و برنامه‌ریزی خودکار نیز می‌شود. همه سیستم‌های هوش مصنوعی از یادگیری ماشین استفاده نمی‌کنند.
نکات پایانی: یادگیری ماشین با ارائه مثال‌های فراوان به رایانه، او را به کشف الگوها توانا می‌سازد. این روش در تشخیص اسپم، پیش‌بینی قیمت، بخش‌بندی مشتریان و بسیاری از کارهای روزمره کاربرد دارد. مهم‌ترین چالش، تهیه داده‌های خوب و جلوگیری از بیش‌برازش است. با تمرین روی مثال‌های ساده، هر دانش‌آموز دبیرستانی می‌تواند اصول اولیه یادگیری ماشین را به کار گیرد.

پاورقی

1 یادگیری ماشین (Machine Learning) – شاخه‌ای از هوش مصنوعی که به سیستم‌ها توانایی یادگیری خودکار از داده بدون برنامه‌ریزی صریح را می‌دهد.
2 یادگیری نظارت شده (Supervised Learning) – نوعی یادگیری که در آن داده‌های ورودی همراه با برچسب یا خروجی صحیح به مدل ارائه می‌شود.
3 یادگیری نظارت نشده (Unsupervised Learning) – نوعی یادگیری که در آن داده‌ها بدون برچسب هستند و مدل باید الگوهای پنهان را کشف کند.
4 یادگیری تقویتی (Reinforcement Learning) – نوعی یادگیری که در آن عامل با دریافت پاداش یا جریمه بر اساس اعمال خود، یاد می‌گیرد تصمیم‌های بهتری بگیرد.
5 درخت تصمیم (Decision Tree) – مدلی ساده شامل شاخه‌های شرطی که تصمیم‌گیری را گام به گام نمایش می‌دهد.
6 ماتریس درهم‌ریختگی (Confusion Matrix) – جدولی برای نمایش عملکرد یک مدل دسته‌بندی بر اساس پیش‌بینی‌های درست و غلط.
7 فراخوانی (Recall) – نسبت موارد مثبت واقعی به کل موارد واقعاً مثبت. نشان می‌دهد مدل چه نسبتی از کل نمونه‌های مثبت را یافته است.
8 بیش‌برازش (Overfitting) – وضعیتی که مدل داده‌های آموزشی را بیش از حد دقیق یاد می‌گیرد و توانایی تعمیم به داده‌های جدید را از دست می‌دهد.