در مقاله تفاوت هوش مصنوعی و یادگیری ماشین فهمیدیم یادگیری ماشین در کجای دنیای بزرگ و شلوغ علوم کامپیوتر قرار می گیرد. شاید برایتان این سوال پیش آید که هدفِ ماشین لرنینگ چیست و چه خروجی دارد؟ هدف از کارهایی که در ماشین لرنینگ انجام میدهیم، ساخت مدل داده هست.
اگر بخواهیم فرایند یادگیری ماشین به زبان ساده توضیح بدهیم، این طوری هست که مدل داده را از روی دادههای آموزشی میسازیم، با استفاده از دادههای آزمایشی دقت آن را محاسبه کرده و از مدل نهایی برای پیشبینی نمونههای جدید استفاده میکنیم.
تا حالا به این فکر کردید چطور ایمیلهای اسپم تشخیص داده شده و از ایمیلهای اصلی جدا میشوند؟ در این قسمت با مثال کاربردی تشخیص ایمیلهای اسپم، مدل داده را توضیح میدهیم تا به جواب ماشین لرنینگ چیست نزدیک شویم.
. . . .
یادگیری ماشین به زبان ساده
در ساده ترین حالت که به یادگیری ماشین نگاه کنیم، دو مفهوم مهم آن مجموعه داده و مدل هستند. از مجموعه داده برای ساخت مدل یادگیری ماشین و از مدل برای پیشبینی استفاده میشود. در زیر با جزییات این مفاهیم بیشتر آشنا می شویم.
ساخت مدل داده
ساخت یک مدل داده چیزی شبیه تربیت سگ راهنما است. از طریق آموزش تخصصی، سگهای راهنما یاد میگیرند تا در شرایط مختلف چه عکسالعملهایی داشته باشند. برای مثال، سگ یاد میگیرد تا در برابر چراغ قرمز توقف کند و یا چطور صاحب خود را برای عبور از موانع هدایت کند. اگر سگ بهخوبی آموزش دیده باشد، نیازی به مربی نخواهد بود؛ سگ راهنما قادر خواهد بود با تکیه بر آموزشهای قبلی خود، در موقعیتهای جدید تصمیمات درست بگیرد.
مشابه آن، در یادگیری ماشین به زبان ساده، مدلها را میتوان آموزش داد تا بر اساس تجربهی گذشته در موقعیتهای جدید تصمیمگیری کنند.
دوره آموزشی: دوست دارید مدل داده خودتان را بسازید؟ پس دوره آموزش رایگان یادگیری ماشین را در کانال یوتیوب دیتاهاب ببینید.
مثال تشخیص ایمیل های اسپم
یک مثال در یادگیری ماشین به زبان ساده، ساخت یک مدل برای تشخیص ایمیلهای اسپم است. مدل را آموزش میدهیم تا برخی ایمیلها را مسدود کند. ایمیلهای با عناوین مشکوک و ایمیلهایی که عبارتهایی مثل “دوست عزیز”، “رایگان”، “صورتحساب”، “پیپال (PayPal)”، “پرداخت”، “ورشکستگی” و “برنده” در متنشان بیشتر از 2 بار تکرار شده باشد، مسدود میشوند. البته در این مرحله، هنوز خبری از یادگیری ماشین نیست.
اگر نمایش تصویری دستور ورودی در مقایسه با داده ورودی را به یاد بیاوریم، این فرایند از دو مرحله: دستور> عمل تشکیل شده بود. یادگیری ماشین نیازمند یک فرایند سهمرحلهای است: داده > مدل> عمل (Action).
در نتیجه، برای استفاده از یادگیری ماشین در سیستم تشخیص ایمیل اسپم، برای ارائه یک عمل (خروجی، Output) نیاز داریم تا “دستور (Command)” را با “داده” جابهجا کنیم و همچنین “مدل” را اضافه کنیم. در این مثال، داده شامل یکسری ایمیل است و مدل از قوانین آماری تشکیل شده است. پارامترهای مدل شامل کلمات کلیدی منفی که قبلاً به آن اشاره شد، مثل “دوست عزیز” میباشد. سپس مدل با استفاده از دادهها، آموزش (Train) دیده و آزمایش (Test) میشود.
الان فهمیدیم ماشین لرنینگ چیست، اما سوالی که پیش میآید این است که آیا تمام نتایج مدل درست هستند؟
نتایج اشتباه در تشخیص اسپم با یادگیری ماشین
زمانی که داده به مدل داده میشود، احتمال اینکه فرضهایی که در مدل داشتیم، ما را به پیشبینیهای نادرست برساند، بسیار بالا میرود. برای مثال، بر اساس قوانین این مدل، ایمیلی با عنوان زیر بهصورت خودکار بهعنوان اسپم شناخته میشود:
«صورتحساب پرداخت قبض برای شما ارسال خواهد شد. با تشکر پیپال»
مثال بالا یک ایمیل معمولی ارسال شده توسط پاسخگوی خودکار پیپال میباشد، ولی سیستم تشخیص اسپم، بر اساس لیست کلمات کلیدی منفی موجود در مدل، اشتباه میکند. برنامهنویسی سنتی بهشدت مستعد تولید چنین نتایجی در چنین سناریوهایی است، چون هیچ مکانیزم داخلی برای آزمایش فرضها و اصلاح قوانین وجود ندارد. ولی یادگیری ماشین، طی فرایند سه مرحلهای خود و به کمک توجه به خطاهای خروجی (Error)، فرضها را اصلاح میکند.
مجموعه داده یا دیتاست (Dataset)
در توضیح یادگیری ماشین به زبان ساده، دادهها به دو دسته داده های آموزشی و آزمایشی تقسیم میشوند.
دادههای آموزشی (Training Sets)
قسمت اول دادهها که برای ساختن مدل از آن استفاده میشود، داده آموزشی را شکل میدهد. در مثال تشخیص ایمیلهای اسپم، مثبتهای کاذب (False Positive) مانند پاسخگوی خودکار پی پال ممکن است در دادهای آموزشی بهعنوان خطا تشخیص داده بشود. پس باید به مدل، قوانین جدید و یا اصلاحاتی اضافه بشود. مثلاً اعلان ایمیلهایی که از آدرس payments@paypal.com ارسال شده باشند نباید بهعنوان اسپم شناخته شوند.
دیتاست رایگان یادگیری ماشین: در کانال تلگرام پرشین دیتا، به دیتاست رایگان برای پروژههای یادگیری ماشین و هوش مصنوعی دسترسی داشته باشید.
تقسیم داده به آموزش و تست
پس از آنکه بر اساس دادههای آموزشی موفق به تولید یک مدل با دقت (Accuracy) مناسب شدید، میتوانید مدل را روی دادههای باقیمانده آزمایش کنید. وقتی از میزان دقت نتایج بر روی دادههای آموزشی و آزمایشی رضایت داشتید، مدل یادگیری ماشین آماده است تا ایمیلهای جدید را فیلتر کند و تصمیم بگیرد آنها را چگونه دستهبندی کند.
دوره آموزشی: می خواهید داده هایتان را خودتان جمع آوری کنید و یک دیتاست برای خودتان بسازید؟ پس دوره آموزش پروژه محور وب اسکرپینگ را در کانال یوتیوب دیتاهاب ببینید.
. . . .
و در انتها…
همانطور که گفتیم، در یادگیری ماشین به زبان ساده، مدل داده را با استفاده از مجموعهداده، آموزش داده و از آن برای تشخیص الگوهای خاصی استفاده میشود. مجموعهداده به دو قسمت دادههای آموزشی و آزمایشی تقسیم شد. مدل با دادههای آموزشی، آموزش داده و دقت آن با دادههای آزمایشی ارزیابی میشود.
مطمئنا این سوال برایتان پیش آمده که چطور با دادههای آموزشی مدل را میسازیم؟ اینجاست که الگوریتمهای یادگیری ماشین وارد میشوند. یک موضوع مهم در یادگیری ماشین دسته بندی آن است که الگوریتمهای مختلف در سه دسته یادگیری بانظارت، یادگیری بینظارت و یادگیری تقویتی قرار میگیرند. در مقاله انواع یادگیری ماشین درباره این دستهها و ویژگیهای آنها کامل صحبت میکنیم.
دوره آموزشی: از بقیه شنیدید برای یادگیری هوش مصنوعی باید ریاضیات بلد باشید و نگرانید که ریاضی را فراموش کردید؟ آموزش سریع جبر خطی را در کانال یوتیوب دیتاهاب ببینید تا خیالتان راحت شود.