واژه یادگیری ماشین (Machine Learning) برای نخستین بار در سال ۱۹۵۹ و توسط آرتور سمیوئل ارائه شد. طبق تعریف آرتور سمیوئل، یادگیری ماشین زمینه ای از علوم کامپیوتر است که کامپیوترها و به طور کلی تر، ماشین ها باید قادر به خود یادگیری (Self-Learning) باشند بدون اینکه صراحتا برنامه نویسی صورت گیردبنابراین نخستین ویژگی مهمی که در مورد یادگیری ماشین درک کنید، خود یادگیر بودن ماشین ها است. واژه خود یادگیری به این اشاره دارد که روش های آماری (Statistic Methods) به جای برنامه نویسی مستقیم به کار گرفته می شوند.

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

به عبارت بهتر در یادگیری ماشین لازم نیست که برای انجام وظایف و عملیات ها، به صورت مستقیم دستورهایی (Command) به ماشین فرستاده شود، بلکه در عوض از داده ها (Data) به کار گرفته می شوند. ماشین از داده ها برای یادگیری و تصمیم سازی استفاده می کند و به به بیان دیگر ماشین همانند انسان فرایند کسب تجربه را انجام می دهد.

داده ها از منابع متفاوتی بدست می آیند. ما انسان ها از طریق انواع حس های خود مانند بینایی، چشایی، لامسه، بویایی و شنوایی محیط پیرامون خود را درک می کنیم و سپس داده های جمع آوری شده برای پردازش به مغز فرستاده می شوند. مغز نیز شامل شبکه ای از تعداد بسیار و بسیاری نورون (Neuron) است که وظیفه پردازش و یادگیری چیزهای جدید را بر عهده دارند. در ماشین ها از حسگرها (Sensor) برای درک محیط پیرامون استفاده می شود.

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

یادگیری ماشین زمینه از هوش مصنوعی است که از داده های جدید (ورودی های جدید) و با استفاده از الگوریتم هایی که به صورت مفصل در مورد آنها صحبت کرده ایم، این قابلیت را به ماشین ها می دهند که بتوانند به صورت خودکار یاد بگیرند.

در مطلب های بعدی به صورت کامل در مورد انواع رویکردهای یادگیری و انواع الگوریتم های یادگیری صحبت کرده ایم. همچنین در مطلب های جداگانه ای در مورد ریاضی در یادگیری ماشین و نقش جبر خطی (ماتریس ها) و آمار و احتمال در یادیگیری ماشین صحبت کرده ایم.

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

دوره شبکه های عصبی مصنوعی

دوره وب اسکرپینگ و استخراج داده های وب

دوره مقدمه های لازم برای یادگیری ماشین و داده کاوی پایتون

یک الگوریتم یادگیری (Learning Algorithm) مجموعه ای از دستور العمل ها است که لازم است تا توسط یک ماشین (کامپیوتر) فهمیده شود تا ماشین بتواند از روی داده بفهمد و یاد بگیرد. همانطور که در مطلب های پیش رو خواهید خواند، برای یادگیری (Learning) از روی داده ها، الگوریتم از یک مجموعه از داده ها که اصطلاحا داده های یاد گیری (Training Data) استفاده می کند تا یک مدل (Model) را ایجاد کندسپس یک سری از داده ها که داده های آزمایشی (Test Data) نامیده می شوند برای آزمایش کارایی و دقت الگوریتم مورد استفاده قرار می گیرند.

فرض کنید که مجموعه ای از داده ها (Data Set) در مورد گونه های متفاوت، داده هایی در مورد بیماران و یا هر نوع جامعه آماری دیگری داریم. معمولا ۸۰ در صد از این مجموعه داده ها را به عنوان داده های یاد گیری (Training Data) و ۲۰ در صد باقی مانده را به عنوان داده های آزمایشی (Test Data) در نظر می گیریم.

اعتبار سنجی متقاطع (Cross-Validation) روش دیگری برای اعتبار سنجی یک الگوریتم یادگیری است. همیشه ممکن است الگوریتم به اشتباه پیش بینی را انجام دهد که در این حالت می گوییم الگوریتم دچار خطا (Error) شده است. این روش به طور ویژه در کاربرد های پیشبینی مورد استفاده قرار میگیرد تا مشخص شود مدل مورد نظر تا چه اندازه در عمل مفید خواهد بود.