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

مبانی یادگیری ماشین به زبان ساده- قسمت اول

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

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

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

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

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

جنبه مهم دیگر زمینه­ای به نام داده­های بزرگ است. به عبارتی، حتی در مواردی که نیازمند کشف اطلاعات از مجموعه داده­های بزرگ، متنوع و به سرعت در حال تغییر باشد، روش­های یادگیری ماشین موثر شناخته می شوند. اطلاعات بیشتر در مورد جنبه داده­های بزرگ در یادگیری ماشین در مقاله دیگری ارائه خواهد شد.

مفاهیم اصلی و اصطلاحات

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

یادگیری چیست؟

حال بگذارید به تعریف «یادگیری» در حوزه یادگیری ماشین بپردازیم. به زبان ساده، از مشاهدات یا داده­های گذشته (دسته­دوم) برای پیش­بینی یا استخراج وظایف قابل­رسیدگی استفاده می­شود. به صورت کاملاً واضح، یک دستورالعمل برای یک سیستم هوشمند، توانایی آن در یادگیری است. موارد زیر برخی از ملاحظات برای تعریف یک مسئله یادگیری است:

۱.  آنچه که یادگیرنده باید بیاموزد و همچنین نیاز به یادگیری را تعریف کنید.

۲. نیازهای داده­ها و منابع این داده­ها را تعریف کنید.

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

قبل از اینکه به درک عمیق از هر نوع یادگیری در بخش های بعدی بپردازیم، باید فرایند ساده­ای را که برای حل یک مسئله یادگیری دنبال می شود را درک کنید؛ این فرایند شامل ساختن و اعتبارسنجی مدل­هایی است که یک مسئله را با حداکثر دقت حل می­کنند.عموما برای انجام یادگیری ماشینی، در ابتدا دو نوع مجموعه داده لازم است. مجموعه داده اول معمولاً به صورت دستی آماده می­شود، جایی که داده­های ورودی و داده­های خروجی مورد انتظار آن­ در دسترس و آماده­شده هستند. مهم است که هر رکورد از داده­های ورودی دارای یک عدد خروجی مورد انتظار در دسترس باشد، چرا که این داده­ها به روش نظارت شده برای ساختن قاعده مورد استفاده قرار می­گیرند. مجموعه داده دوم جایی است که ما داده­های ورودی (متغیرهای مستقل) را در اختیار داریم و علاقه­مندیم تا خروجی مورد انتظار (متغیر وابسته یا پاسخ) را پیش­بینی کنیم.

به عنوان اولین مرحله، داده­های مورد نظر ترجیحا به سه مجموعه داده تقسیم می شوند: آموزش، اعتبارسنجی و آزمایش. هیچ قانون سفت و سختی در مورد این­که چه درصدی از این داده­ها به بخش­های آموزش، اعتبارسنجی و آزمایش اختصاص داده شوند، وجود ندارد. این درصدها می­تواند ۷۰-۱۰-۲۰ ، ۶۰-۳۰-۱۰ ، ۵۰-۲۵-۲۵ یا هر مقدار دیگری باشد.مجموعه داده­های آموزش به بخشی از داده­ها اشاره دارد که به عنوان مثال برای یادگیری یا ساخت یک الگوریتم رده­بند استفاده می­شود. مجموعه داده­های اعتبارسنجی به نمونه­های دیگری از داده­ها اشاره دارد که در برابر رده­بند ساخته شده تأیید شده­اند و می­توانند به تنظیم صحت خروجی (افزایش دقت یا کاهش خطا) کمک کنند. مجموعه داده­های آزمایش به رکورد­هایی از مجموعه داده­های مورد نظر اطلاق می­شود که به ارزیابی عملکرد رده­بند کمک می­کند.

به طور معمول سه مرحله برای انجام روش یادگیری ماشین وجود دارد:

فاز ۱- مرحله آموزش: در این گام، از داده­های آموزش برای آموزش مدل با مچ کردن ورودی داده شده با خروجی مورد انتظار آن استفاده می­شود. خروجی این مرحله، خود مدل یادگیری می­باشد.

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

فاز ۳- مرحله کاربرد: در این مرحله، مدل در برابر داده­های دنیای واقعی که نتایج حاصل باید برای آن­ها حاصل شود، قرار می­گیرد.

داده ­ها

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

وقتی به داده­ها فکر می کنیم، ابعاد به ذهن خطور می­کند. برای شروع، داده­های ساختاری و بدون ساختار حاوی سطرها و ستون­هایی می­باشد. در این پست به کارگیری داده­های ساختاری و غیرساختار یافته در زمینه یادگیری ماشین پرداخته خواهد شد. در این بخش، اصطلاحات مربوط به داده­ها در چارچوب یادگیری ماشین را پوشش خواهیم داد.

داده های دارای برچسب و بدون برچسب

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

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

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

کاربرد داده­های برچسب­دار و بدون برچسب در بخش­های بعدی با جزئیات بیشتر مورد بحث قرار گرفته است. خواهید دید که یادگیری باناظر با داده­های برچسب­دار و یادگیری بدون نظارت با داده­های بدون برچسب سر و کار دارد. روش­های یادگیری نیمه­-نظارتی و یادگیری عمیق ترکیبی از داده­های دارای برچسب و بدون برچسب را با راه­های مختلفی برای ساخت مدل­های دقیق به کار می­گیرند.