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

تاریخچه یادگیری ماشین: همه چیز چگونه شروع شد؟
وقتی به هوش مصنوعی، یادگیری ماشین و رایانههای هوشمند فکر میکنیم، تمایل داریم چیزی بسیار امروزی را تصور کنیم، چیزی که اخیراً ظاهرشده است. خیلیها واقعاً تعجب خواهند کرد اگر بدانند که تاریخچه یادگیری ماشین در دهه ۴۰ با کتاب بسیار مهمی در مورد شناخت انسان آغازشده است، و اخیراً به دلیل توسعه الگوریتمها و روشهای جدید و همچنین به دلیل در دسترس بودن گسترده، سرعت گرفته است. خود تکنولوژی تعیین دقیق زمان اختراع یادگیری ماشین یا اینکه چه کسی آن را اختراع کرده است غیرممکن است، بلکه ترکیبی از کارهای بسیاری از افراد است که با اختراعات، الگوریتمها یا چارچوبهای جداگانه مشارکت داشتهاند. در این بخش از مقاله یادگیری ماشین چیست، به بررسی تاریخچه یادگیری ماشین میپردازیم، پس با ما همراه باشید.
سال ۱۹۴۳:
تاریخچه یادگیری ماشین با اولین مدل ریاضی شبکه های عصبی ارائهشده در مقاله علمی “حساب منطقی ایدههای نهفته در فعالیت عصبی” توسط والتر پیتس و وارن مک کالوخ شروع میشود.

سال ۱۹۴۹:
کتاب «سازمان رفتاری» نوشته دونالد هب در این سال منتشر شد. این کتاب تئوری هایی در مورد چگونگی ارتباط رفتار با شبکه های عصبی و فعالیت مغز دارد و در شرف تبدیلشدن به یکی از ارکان تاریخی توسعه یادگیری ماشین است.
سال ۱۹۵۰:
آرتور ساموئل، پیشگام در یادگیری ماشین، برنامهای برای بازی چکرزهای کامپیوتری در سطح قهرمانی ایجاد کرد. به جای تحقیق در مورد هر مسیر ممکن، بازی از هرس آلفا-بتا استفاده کرد که شانس برنده شدن را اندازهگیری میکرد. علاوه بر این، ساموئل از یک الگوریتم مینیمکس (که هنوز هم امروزه بهطور گسترده برای بازیها استفاده میشود) برای یافتن حرکت بهینه استفاده کرد، با این فرض که حریف نیز بهینه بازی میکند. او همچنین مکانیسم هایی را برای برنامه خود طراحی کرد تا بهطور مداوم بهبود یابد، بهعنوانمثال، با یادآوری حرکات چکر قبلی و مقایسه آنها با شانس برنده شدن. آرتور ساموئل اولین کسی است که اصطلاح “یادگیری ماشین” را مطرح کرد و آن را رایج کرد.

سال ۱۹۵۱:
زمانی که بیشتر رایانهها هنوز از کارتهای پانچ برای اجرا استفاده میکردند، ماروین مینسکی و دین ادموندز اولین شبکه عصبی مصنوعی را ساختند که از ۴۰ نورون به هم پیوسته با حافظه کوتاه و بلندمدت تشکیل شده بود.
سال۱۹۵۶:
گاهی اوقات از کارگاه دارتموث بهعنوان “زادگاه هوش مصنوعی” یاد میشود. در طی یک دوره دو ماهه، گروهی از دانشمندان برجسته در زمینههای ریاضی، مهندسی، کامپیوتر و علوم شناختی گرد هم آمدهاند تا زمینههای تحقیقات هوش مصنوعی و ML را ایجاد و ایدهپردازی کنند.

سال ۱۹۶۵:
الکسی (Oleksii) Ivakhnenko و Valentin Lapa، دانشمندان شوروی متولد اوکراین، نمایش سلسله مراتبی شبکه عصبی را توسعه دادهاند که از تابع فعالسازی چندجملهای استفاده میکند و با استفاده از روش گروهی مدیریت داده (GMDH) آموزشدیدهاند. این اولین پرسپترون چند لایه در نظر گرفته میشود و ایواخننکو اغلب بهعنوان پدر یادگیری عمیق در نظر گرفته میشود.
سال ۱۹۶۷:
توماس کاور و پیتر ای. هارت از استنفورد مقالهای در IEEE Transactions on Information Theory (جلد: ۱۳، شماره: ۱، ژانویه ۱۹۶۷، صفحات ۲۲-۲۷) درباره الگوریتم نزدیکترین همسایه (که برای طبقهبندی و رگرسیون در یادگیری ماشین استفاده میشود) منتشر میکنند.
سال ۱۹۷۹:
دانشمند کامپیوتر ژاپنی کونیهیکو فوکوشیما کار خود را در neocognitron , یک شبکه چند لایه چند لایه که برای تشخیص الگوها استفاده میشود , منتشر میکند و الهامبخش شبکههای عصبی مصنوعی است که امروزه برای تحلیل تصاویر مورداستفاده قرار میگیرند.
سال ۱۹۸۵:
ترنس سجنوفسکی با ترکیب دانش خود در زیستشناسی و شبکه های عصبی، NETtalk را اختراع کرد، برنامهای باهدف شکستن و سادهسازی مدلهای وظایف شناختی انسان بهمنظور اینکه ماشین بهطور بالقوه نحوه انجام آنها را بیاموزد. برنامه او یاد میگیرد که کلمات انگلیسی را به همان روشی که یک نوزاد تلفظ میکند تلفظ کند.

سال ۱۹۸۶:
دانشمند شناختی پل اسمولنسکی با یک ماشین محدود بولتزمن (RBM) میآید که میتواند مجموعهای از ورودیها را تجزیهوتحلیل کند و توزیع احتمال را از آنها بیاموزد. امروزه، این الگوریتم برای مدلسازی موضوع (بهعنوانمثال، بر اساس محبوبترین کلمات در یک مقاله، موضوعات احتمالی آن را تعیین میکند) یا برای توصیههای مبتنی بر هوش مصنوعی (بر اساس خریدهای قبلی، احتمالاً در مرحله بعد چه چیزی را خریداری کنید) مورداستفاده قرار میگیرد.

سال ۱۹۹۰:
مقاله «قدرت یادگیری ضعیف» توسط رابرت شاپیره و یواو فروند، تقویت یادگیری ماشین را معرفی میکند. تقویت الگوریتمی است که هدف آن افزایش قدرت پیشبینی یک مدل هوش مصنوعی است. به جای استفاده از یک مدل قوی، مدلهای ضعیف زیادی تولید میکند و با ترکیب پیشبینیهای آنها (معمولاً با استفاده از میانگین ها یا رای دادن) آنها را به مدلهای قوی تبدیل میکند.
سال ۱۹۹۵:
جنگلهای تصمیم تصادفی در مقالهای که توسط تین کام هو منتشر شده است، معرفیشدهاند. این الگوریتم چندین تصمیم هوش مصنوعی را در یک “جنگل” ایجاد و ادغام میکند. هنگام تکیهبر چندین درخت تصمیمگیری مختلف، مدل بهطور قابلتوجهی در دقت و تصمیمگیری آن بهبود مییابد.
سال ۱۹۹۷:
برنامه بازنویسی ویدیو: اولین نرم افزار «دیپ فیک» توسط کریستوف برگلر، میشل کوول و مالکوم اسلینی توسعه داده شد.
همچنین در این سال کامپیوتر شطرنج آی بی ام، دیپ بلو، قهرمان جهان گری کاسپاروف را در شطرنج شکست داد. در آن زمان این دستاورد بهعنوان مدرکی برای رسیدن ماشین ها به هوش انسان تلقی میشد.
سال ۲۰۰۰:
اولین اشاره اصطلاح “یادگیری عمیق” توسط یک محقق اوکراینی الاصل شبکه های عصبی، ایگور آیزنبرگ، در زمینه نورون های آستانه بولی انجام شد.

سال ۲۰۰۹:
یک پایگاه داده تصویری عظیم از تصاویر برچسبگذاری شده ImageNet توسط Fei-Fei Li راهاندازی شده است. لی میخواست دادههای موجود برای الگوریتمهای آموزشی را گسترش دهد، زیرا معتقد بود که هوش مصنوعی و ماشین لرنینگ باید دادههای آموزشی خوبی داشته باشند که دنیای واقعی را منعکس کند تا واقعاً کاربردی و مفید باشند. اکونومیست ایجاد این پایگاه داده را بهعنوان یک رویداد استثنایی برای رایج کردن هوش مصنوعی در کل جامعه فناوری توصیف کرد که دوره جدیدی از تاریخ یادگیری عمیق را نشان میدهد.

سال ۲۰۱۱:
تیم آزمایشگاه X گوگل با داشتن پسزمینه یادگیری ماشین گسترده، الگوریتم هوش مصنوعی Google Brain را توسعه داده است که بعداً در سال ۲۰۱۲ در پردازش تصویر بسیار خوب شد و قادر بود گربهها را در تصاویر شناسایی کند.
سال ۲۰۱۴:
گروهی از دانشمندان برجسته (Goodfellow ،Pouget-Abadie ،Mirza ،Xu Warde-Farley ،Ozair ،Courville ،Bengio) چارچوبهای شبکههای متخاصم مولد (GAN) را توسعه میدهند که به هوش مصنوعی نحوه تولید دادههای جدید بر اساس مجموعه آموزشی را یاد میدهند.
در ادامه سال ۲۰۱۴:
تیم تحقیقاتی فیس بوک DeepFace، یک سیستم تشخیص چهره عمیق را توسعه میدهد، شبکه عصبی نه لایه ای که بر روی ۴ میلیون تصویر از کاربران فیس بوک آموزش داده شده است. این هوش مصنوعی قادر است چهره انسان را در تصاویر با همان دقتی که انسان انجام میدهد (تقریباً ۹۷.۳۵٪) تشخیص دهد.
همچنین در این سال گوگل یک سیستم یادگیری ماشین در مقیاس بزرگ به نام Sibyl را به عموم مردم معرفی کرد. بسیاری از الگوریتمهای جدید همراه با خود سیستم ارائهشدهاند. بهعنوانمثال، تقویت موازی، داده های ستون محور و آمار در RAM – همه برای بهبود عملکرد. سیبیل تا حد زیادی برای مدلهای پیشبینی گوگل، بهویژه رتبهبندی محصولات و صفحات، اندازهگیری رفتار کاربر و برای تبلیغات استفاده میشود.
در ادامه نیز یوجین گوستمن اولین چت باتی که برخی آن را قبول شده در آزمون تورینگ میدانند توسعه داده شد. این چت بات توسط سه دوست برنامه نویس، ولادیمیر وسلوف، یوجین دمچنکو و سرگئی اولاسن توسعه پیدا کرد. در ۷ ژوئن ۲۰۱۴، در یک مسابقه تست تورینگ در انجمن سلطنتی، گوستمن پس از اینکه ۳۳ درصد از داوران متقاعد شدند که ربات انسان است، برنده شد.
سال ۲۰۱۵:
برنامه AlphaGo اولین هوش مصنوعی است که یک بازیکن حرفهای Go را شکست میدهد. Go یکی از قدیمیترین و سختترین بازیهای استراتژیک انتزاعی است که قبلاً تصور میشد یک بازی تقریباً غیرممکن برای آموزش رایانه باشد.
سال ۲۰۱۶:
گروهی از دانشمندان Face2Face را در کنفرانس بینایی کامپیوتری و تشخیص الگو ارائه میدهند. منطق و الگوریتمهای آن اساس اکثر نرم افزارهای “دیپ فیک” امروزی است.
سال ۲۰۱۷:
Waymo شروع به آزمایش خودروهای خودران در ایالات متحده با درایورهای پشتیبان تنها در پشت خودرو میکند. در اواخر همان سال، تاکسیهای کاملاً مستقل را در شهر فینیکس معرفی کردند.

الگوریتم یادگیری ماشین
در یادگیری ماشی الگوریتمهای زیادی وجود دارد که در اینجا لیستی از الگوریتمهای رایج یادگیری ماشین ارائهشده است. این الگوریتمها را میتوان تقریباً برای هر مشکل داده ای اعمال کرد:
ردیف | نام فارسی الگوریتم | نام انگلیسی الگوریتم |
۱ | رگرسیون خطی | Linear Regression |
۲ | رگرسیون لجستیک | Logistic Regression |
۳ | درخت تصمیم | Decision Tree |
۴ | SVM | SVM |
۵ | بیز ساده | Naive Bayes |
۶ | kNN | kNN |
۷ | K-Means | K-Means |
۸ | جنگل تصادفی | Random Forest |
۹ | الگوریتمهای کاهش ابعاد | Dimensionality Reduction Algorithms |
۱۰ | الگوریتمهای تقویت گرادیان | Gradient Boosting algorithms |
روشهای ماشین لرنینگ: با انواع یادگیری ماشین آشنا شوید
الگوریتمهای ماشین لرنینگ معمولاً در یکی از دستههای زیر طبقهبندی میشوند:
یادگیری ماشین نظارتشده
نوعی از یادگیری ماشین است که طی آن از دادههای برچسبگذاریشده برای یادگیری استفاده میشود. در این شیوه، ماشین آموختههایش از دادههای برچسبگذاریشده را بر دادههای جدید اعمال میکند و رویدادهای مربوط به آینده را پیشبینی میکند. به عبارت دیگر، در یادگیری ماشین نظارتشده طی فرایند برچسبگذاری پاسخ صحیح به ماشین آموزش داده میشود.

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

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

یادگیری ماشین نیمه نظارتی
درواقع تلفیق یادگیری نظارتی و یادگیری بدون نظارت است. در این روش هم از دادههای بدون برچسب و هم دادههای برچسبدار برای یادگیری استفاده میشود. در یادگیری نیمهنظارتی معمولاً از حجم اندکی از دادههای برچسبدار و حجم انبوهی از دادههای بدون برچسب استفاده میشود. سیستمهایی که از این روش استفاده میکنند، قادرند به شکل قابلتوجهی دقت یادگیریشان را بالا ببرند.

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

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

کاربردهای یادگیری ماشین
هوش مصنوعی (AI) همه جا وجود دارد. این امکان وجود دارد که شما از آن بهعنوان یک روش استفاده میکنید و حتی از آن اطلاعی ندارید. یکی از کاربردهای محبوب هوش مصنوعی، یادگیری ماشینی یا ماشین لرنینگ (ML) است که در آن رایانهها، نرمافزارها و دستگاهها از طریق شناخت (بسیار شبیه به مغز انسان) عمل میکنند. در اینجا، چند نمونه از یادگیری ماشین را به اشتراک میگذاریم که هرروز از آنها استفاده میکنیم و شاید هیچ ایدهای نداشته باشیم که توسط ML هدایت میشوند.
یادگیری ماشین در دستیاران مجازی
سیری، الکسا، گوگل ناو برخی از نمونههای محبوب دستیارهای شخصی مجازی هستند. همانطور که از نام پیداست، آنها در یافتن اطلاعات، زمانی که از طریق صدا از آنها خواسته میشود، کمک میکنند. تنها کاری که باید انجام دهید این است که آنها را فعال کنید و بپرسید “برنامه امروز من چیست؟”، “پروازها از آلمان به لندن چه ساعتی است” و یا سوالات مشابه. برای پاسخ دادن، دستیار شخصی شما به دنبال اطلاعات است، پرسشهای مرتبط شما را به خاطر میآورد، یا دستوری را برای جمعآوری اطلاعات به منابع دیگر (مانند برنامههای تلفن) ارسال میکند. حتی میتوانید به دستیاران برای کارهای خاصی مانند «زنگ ساعت ۶ صبح روز بعد تنظیم کنید»، «به من یادآوری کنید که پس فردا به دفتر ویزا مراجعه کنم» دستور دهید.
یادگیری ماشین یا ماشین لرنینگ بخش مهمی از ایندستیاران مجازی است زیرا آنها اطلاعات را بر اساس مشارکت قبلی شما با آنها جمع آوری و اصلاح میکنند. بعداً، از این مجموعه دادهها برای ارائه نتایجی که مطابق با ترجیحات شما هستند استفاده میشود.
دستیارهای مجازی با انواع پلتفرم ها ادغامشدهاند. مثلاً:
بلندگوهای هوشمند: Amazon Echo و Google Home
گوشیهای هوشمند: Samsung Bixby در Samsung S8
برنامه های موبایل: Google Allo

کاربرد یادگیری ماشین در پزشکی
امروزه، مراقبت های بهداشتی مبتنی بر فناوری یک واقعیت است، زیرا دستگاههای پزشکی هوشمند به یکچیز گسترده تبدیلشدهاند. صنعت مراقبت های بهداشتی از نوآوری استقبال میکند. به همین دلیل است که آینده هوش مصنوعی در مراقبت های بهداشتی بسیار روشن است. گوگل قبلاً الگوریتمی را راهاندازی کرده است که با موفقیت سرطان را در ماموگرافی شناسایی میکند، درحالیکه دانشمندان دانشگاه استنفورد میتوانند به لطف یادگیری عمیق سرطان پوست را نیز شناسایی کنند. هوش مصنوعی مسئول پردازش هزاران نقطه داده مختلف، پیشبینی خطرات و نتایج با دقت و همچنین بسیاری از عملکردهای دیگر است. در ادامه برخی از کاربردهای یادگیری ماشین یا ماشین لرنینگ در پزشکی بیانشده است.
- تشخیص و شناسایی بیماری
- بهبود سوابق سلامت
- پیشبینی دیابت
- پیشبینی بیماری کبد
- یافتن بهترین درمان
- تشخیص از طریق تجزیهوتحلیل تصویر
- درمان شخصی
- تنظیم رفتار
- تحقیقات پزشکی و بهبود کار آزمایی بالینی
- استفاده از داده های پزشکی جمع سپاری شده
- کنترل اپیدمی
کاربرد یادگیری ماشین در شبکههای اجتماعی
پلتفرمهای شبکه های اجتماعی از شخصیسازی فیلد خبری تا هدفگیری بهتر تبلیغات، از ماشین لرنینگ در جهت بهبود منافع خود و کاربران استفاده میکنند. در اینجا چند نمونه آورده شده است که حتماً در حسابهای شبکه های اجتماعی خود به آنها توجه کرده، و از آن استفاده میکنید، بدون اینکه متوجه شوید که این ویژگیهای فوق العاده چیزی جز کاربردهای ML نیستند.
افرادی که ممکن است بشناسید: یادگیری ماشین یا ماشین لرنینگ بر اساس یک مفهوم ساده کار میکند: درک با تجربیات. فیس بوک بهطور مداوم به دوستانی که با آنها ارتباط برقرار میکنید، پروفایلهایی که اغلب بازدید میکنید، علایق شما، محل کار یا گروهی که با شخصی به اشتراک میگذارید و غیره توجه میکند. بر اساس یادگیری مداوم، لیستی از کاربران فیس بوک پیشنهاد میشود که بتوانید با آنها ارتباط داشته باشید.
تشخیص چهره: شما عکسی از خود با یک دوست آپلود میکنید و فیس بوک فوراً آن دوست را میشناسد. فیس بوک ژست ها و برجستگی ها را در تصویر بررسی میکند، به ویژگیهای منحصربهفرد آن توجه میکند و سپس آنها را با افراد موجود در لیست دوستان شما مطابقت میدهد. کل فرآیند در backend پیچیده است و از ضریب دقت مراقبت میکند، اما به نظر میرسد یک کاربرد ساده از ML در قسمت جلویی باشد.
پینهای مشابه: یادگیری ماشین عنصر اصلی Computer Vision است که تکنیکی برای استخراج اطلاعات مفید از تصاویر و ویدیوها است. Pinterest از دید کامپیوتری برای شناسایی اشیاء (یا پینها) در تصاویر استفاده میکند و پینهای مشابه را بر این اساس توصیه میکند.

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

یادگیری ماشین با پایتون
پایتون یک زبان برنامه نویسی کامپیوتری است که اغلب برای ساخت وب سایت ها و نرم افزارها، خودکارسازی وظایف و انجام تجزیهوتحلیل داده ها استفاده میشود. پایتون یک زبان همه منظوره است، به این معنی که میتوان از آن برای ایجاد انواع برنامه های مختلف استفاده کرد و برای هیچ مشکل خاصی تخصصی نیست. توسعهدهندگان پایتون را بهعنوان یک انتخاب عالی برای پروژههای هوش مصنوعی (AI)، یادگیری ماشین و یادگیری عمیق میدانند.
حال این سؤال مطرح است که چه چیزی باعث میشود پایتون بهترین زبان برنامه نویسی برای یادگیری ماشین و بهترین زبان برنامه نویسی برای هوش مصنوعی باشد؟
پروژههای هوش مصنوعی با پروژههای نرم افزاری سنتی متفاوت است. تفاوتها در فناوری، مهارتهای موردنیاز برای یک پروژه مبتنی بر هوش مصنوعی و ضرورت تحقیق عمیق است. برای اجرای آرمانهای هوش مصنوعی خود، باید از زبان برنامه نویسی استفاده کنید که پایدار، انعطافپذیر و دارای ابزارهای موجود باشد. پایتون همه اینها را ارائه میکند، به همین دلیل است که امروزه شاهد پروژههای هوش مصنوعی پایتون هستیم.
از توسعه گرفته تا استقرار و نگهداری، پایتون به توسعهدهندگان کمک میکند تا در مورد نرمافزاری که میسازند، سازنده و مطمئن باشند. مزایایی که پایتون را برای پروژههای مبتنی بر یادگیری ماشین و هوش مصنوعی به بهترین شکل ممکن میسازد عبارتاند از: سادگی و سازگاری، دسترسی به کتابخانهها و چارچوبهای عالی برای یادگیری ماشین و هوش مصنوعی، انعطافپذیری، استقلال پلتفرم، و یک جامعه گسترده. اینها به محبوبیت کلی این زبان میافزایند. در ادامه دلایل استفاده از پایتون در یادگیری ماشین بیانشده است.
پایتون دارای تعداد زیادی کتابخانه و فریمورک است: زبان پایتون دارای کتابخانه ها و چارچوبهای بسیاری است که کدنویسی را آسان میکند. این نیز باعث صرفهجویی قابلتوجهی در زمان میشود.
محبوبترین کتابخانه های پایتون برای ماشین لرنینگ به شرح زیر است:
- NumPy: برای محاسبات علمی
- :SciPy برای محاسبات پیشرفته تر
- Scikit: برای یادگیری داده کاوی و تجزیهوتحلیل داده ها
این کتابخانه ها در کنار چارچوبهای قدرتمندی مانند TensorFlow، CNTK و Apache Spark کار میکنند و برای پروژههای یادگیری ماشین و یادگیری عمیق ضروری هستند.

یادگیری ماشین با C++
بسیاری از برنامه نویسان C++ را بهعنوان زبان اول خود آموخته و یاد دارند، اما وقتی صحبت از چیزی مانند تجزیهوتحلیل داده ها و یادگیری ماشین میشود، پایتون به دلیل سادگی و تعداد زیادی کتابخانه از ماژول های از پیش نوشتهشده، زبان اصلی ما میشود.
اما آیا واقعاً میتوان از C++ برای یادگیری ماشین نیز استفاده کرد؟ پاسخ این سؤال بله است. C++ یک زبان برنامه نویسی شی گرا سطح بالا با زمان اجرا سریعتر در مقایسه با اکثر زبانهای برنامه نویسی است و این به این دلیل است که به زبان ماشین نزدیکتر است. درست است که پیشرفتهای اخیر در یادگیری ماشین و دیگر جنبههای مرتبط با هوش مصنوعی با استفاده از Python به دلیل انعطافپذیری و پشتیبانی غنی از کتابخانه و همچنین جامعه فعال کاربران پیادهسازی شدهاند اما زبان C++ همچنان یکی از محبوبترین زبانهای مورداستفاده در فضای AI و ML است. این زبان برنامه نویسی در سیستمهای ترکیبی که در آن پردازش اعداد فشرده CPU انجام میشود، بسیار رایج است.

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

هوش مصنوعی و یادگیری ماشین
هوش مصنوعی و یادگیری ماشین بخشی از علم کامپیوتر هستند که با یکدیگر همبستگی دارند. این دو فناوری از پرطرفدارترین فناوریهایی هستند که برای ایجاد سیستمهای هوشمند استفاده میشوند. اگرچه این دو فناوری مرتبط هستند و گاهی اوقات افراد از آنها بهعنوان مترادف یکدیگر استفاده میکنند، اما همچنان هر دو در موارد مختلف دو اصطلاح متفاوت هستند.
در سطح وسیعی، ما میتوانیم هوش مصنوعی و ML را بهصورت زیر متمایز کنیم:
هوش مصنوعی مفهومی بزرگتر برای ایجاد ماشینهای هوشمندی است که میتوانند توانایی تفکر و رفتار انسان را شبیهسازی کنند، درحالیکه در تعریف یادگیری ماشین آمده است که یک برنامه یا زیرمجموعهای از هوش مصنوعی است که به ماشینها اجازه میدهد از دادهها بدون برنامهریزی صریح یاد بگیرند.
در جدول زیر تفاوتهای کلیدی این دو فناوری را میتوانید مشاهده کنید:
ردیف | هوش مصنوعی | یادگیری ماشین |
۱ | هوش مصنوعی فناوری است که ماشین را قادر می سازد رفتار انسان را شبیه سازی کند. | یادگیری ماشین زیرمجموعهای از هوش مصنوعی است که به ماشین اجازه میدهد بهطور خودکار از دادههای گذشته بدون برنامهنویسی صریح یاد بگیرد. |
۲ | هدف هوش مصنوعی ساختن یک سیستم کامپیوتری هوشمند مانند انسان برای حل مشکلات پیچیده است. | هدف ML این است که به ماشین ها اجازه دهد از داده ها یاد بگیرند تا بتوانند خروجی دقیقی ارائه دهند. |
۳ | در هوش مصنوعی، ما سیستمهای هوشمندی میسازیم تا مانند انسان هر کاری را انجام دهند. | در ML، ما به ماشینهای دارای داده آموزش میدهیم که یک کار خاص را انجام دهند و نتیجه دقیقی را ارائه دهند. |
۴ | یادگیری ماشین و یادگیری عمیق دو زیرمجموعه اصلی هوش مصنوعی هستند. | یادگیری عمیق زیرمجموعه اصلی یادگیری ماشین است. |
۵ | AI دامنه بسیار گسترده ای دارد. | یادگیری ماشین دامنه محدودی دارد. |
۶ | هوش مصنوعی در حال کار برای ایجاد یک سیستم هوشمند است که میتواند وظایف پیچیده مختلفی را انجام دهد. | یادگیری ماشین برای ایجاد ماشینهایی کار میکند که میتوانند تنها کارهای خاصی را که برای آن آموزشدیدهاند انجام دهند. |
۷ | سیستم هوش مصنوعی نگران به حداکثر رساندن شانس موفقیت است. | یادگیری ماشین عمدتاً به دقت و الگوها مربوط میشود. |
۸ | کاربردهای اصلی هوش مصنوعی سیری، پشتیبانی مشتری با استفاده از قایقهای کوچک، سیستم خبره، بازی آنلاین، ربات انساننمای هوشمند و غیره است.
|
برنامه های اصلی یادگیری ماشین عبارتاند از: سیستم توصیه کننده آنلاین، الگوریتمهای جستجوی گوگل، پیشنهادهای برچسبگذاری خودکار دوستان فیس بوک و غیره. |
۹ | بر اساس قابلیت ها، هوش مصنوعی را میتوان به سه نوع تقسیم کرد که عبارتاند از: هوش مصنوعی ضعیف، هوش مصنوعی عمومی و هوش مصنوعی قوی. | یادگیری ماشینی را نیز میتوان به سه نوع تقسیم کرد که عبارتاند از یادگیری تحت نظارت، یادگیری بدون نظارت و یادگیری تقویتی. |
۱۰ | شامل یادگیری، استدلال، و اصلاح خود است. | شامل یادگیری و اصلاح خود در هنگام معرفی با داده های جدید است. |
۱۱ | هوش مصنوعی بهطور کامل با داده های ساختاریافته، نیمه ساختاریافته و بدون ساختار سروکار دارد. | یادگیری ماشینی با داده های ساختاریافته و نیمه ساختاریافته سروکار دارد. |
علت اهمیت یادگیری ماشین
داده ها مایه حیات همه کسب و کارها هستند. تصمیمات مبتنی بر داده بهطور فزایندهای بین همگام شدن با رقابت یا عقب ماندن بیشتر تفاوت ایجاد میکند. یادگیری ماشین میتواند کلید بازگشایی ارزش داده های شرکت و مشتری و اتخاذ تصمیماتی باشد که شرکت را از رقبا جلوتر نگه میدارد.
یادگیری ماشین مهم است زیرا به شرکت ها دیدی از روند رفتار مشتری و الگوهای عملیاتی تجاری میدهد و همچنین از توسعه محصولات جدید پشتیبانی میکند. بسیاری از شرکتهای پیشرو امروزی، مانند فیسبوک، گوگل و اوبر، یادگیری ماشین را به بخش مرکزی عملیات خود تبدیل میکنند. همچنین یادگیری ماشین به یک تمایز رقابتی مهم برای بسیاری از شرکت ها تبدیلشده است.
نحوه کار یادگیری ماشین
روش های یادگیری ماشین در ۷ مرحله ذکرشده در زیر تقسیم میشود. بهمنظور نشان دادن اهمیت و عملکرد هر مرحله، از مثال یک مدل ساده استفاده میکنیم. این مدل وظیفه تمایز بین سیب و پرتقال را بر عهده دارد. یادگیری ماشین قادر به انجام کارهای پیچیده است. بااینحال، بهمنظور توضیح فرآیند به زبان ساده، یک مثال اساسی برای توضیح مفاهیم چگونگی یادگیری ماشین مربوطه آورده شده است.
مرحله شماره ۱: جمع آوری داده ها
بهمنظور توسعه مدل یادگیری ماشین یا ماشین لرنینگ، اولین قدم ما جمع آوری داده های مرتبط است که میتواند برای تمایز بین ۲ میوه استفاده شود. برای طبقهبندی میوه بهعنوان پرتقال یا سیب میتوان از پارامترهای مختلفی استفاده کرد. برای سادگی، ما فقط از ۲ ویژگی استفاده میکنیم که مدل ما برای انجام عملیات خود از آنها استفاده میکند. اولین ویژگی رنگ خود میوه و ویژگی دوم شکل میوه است. با استفاده از این ویژگیها، امیدواریم که مدل ما بتواند بهطور دقیق بین این ۲ میوه تفاوت قائل شود.
سیب یا پرتغال | شکل | رنگ |
سیب | مخروطی گرد | قرمز |
پرتغال | گرد | نارنجی |
مکانیزمی برای جمع آوری داده ها برای ۲ ویژگی انتخابی ما موردنیاز است. بهعنوانمثال، برای جمعآوری دادهها در مورد رنگ، ممکن است از یک طیفسنج و برای دادههای شکل، از تصاویر میوهها استفاده کنیم تا بتوان آنها را بهعنوان شکلهای دوبعدی در نظر گرفت. بهمنظور جمعآوری دادهها، سعی میکنیم تا حد امکان انواع مختلف سیب و پرتقال را بهمنظور ایجاد مجموعههای داده متنوع برای ویژگیهای خود به دست آوریم.
برای این منظور، ممکن است سعی کنیم در بازارهای پرتقال و سیبی که ممکن است از نقاط مختلف دنیا باشد، جستجو کنیم. مرحله جمع آوری داده ها پایه و اساس فرآیند یادگیری ماشین یا ماشین لرنینگ است. اشتباهاتی مانند انتخاب ویژگیهای نادرست یا تمرکز بر انواع محدود ورودیها برای مجموعه داده ممکن است مدل را کاملاً بی اثر کند. به همین دلیل ضروری است که هنگام جمع آوری داده ها ملاحظات لازم در نظر گرفته شود زیرا خطاهای ایجادشده در این مرحله تنها با پیشرفت به مراحل بعدی تشدید میشوند.
مرحله شماره ۲: آمادهسازی داده ها
هنگامیکه دادهها را برای دو ویژگی جمعآوری کردیم، گام بعدی ما آمادهسازی دادهها برای مراحل بعدی است. تمرکز اصلی این مرحله شناسایی و به حداقل رساندن هرگونه سوگیری احتمالی در مجموعه داده های ما برای این دو ویژگی است. ابتدا، ترتیب داده های خود را برای ۲ میوه تصادفی میکنیم. این به این دلیل است که ما نمیخواهیم این ترتیب روی انتخابهای مدل تأثیری داشته باشد. علاوه بر این، مجموعه دادههای خود را برای هرگونه چولگی نسبت به یک میوه خاص بررسی میکنیم. این دوباره به شناسایی و اصلاح یک سوگیری بالقوه کمک میکند زیرا به این معنی است که مدل در شناسایی صحیح یک میوه ماهر است اما ممکن است با میوه دیگر مبارزه کند.
داده های خوب آمادهشده برای مدل شما میتواند کارایی آن را بهبود بخشد. این میتواند به کاهش نقاط کور مدل کمک کند که به دقت بیشتر پیشبینیها ترجمه میشود. بنابراین، منطقی است که مجموعه دادههای خود را سنجیده و بازبینی کنید تا بتوان آنها را برای تولید نتایج بهتر و معنادار تنظیم کرد.
مرحله سوم: انتخاب مدل
پس از اتمام مراحل داده محوری، انتخاب نوع مدل، اقدام بعدی ما است. مدلهای موجود مختلفی توسط دانشمندان داده توسعه یافته است که میتواند برای اهداف مختلف مورداستفاده قرار گیرد. این مدل ها با اهداف مختلفی طراحی شدهاند. بهعنوانمثال، برخی از مدل ها برای برخورد با متون مناسبتر هستند، درحالیکه مدل دیگری ممکن است برای مدیریت تصاویر مجهزتر باشد. با توجه به مدل ما، یک مدل رگرسیون خطی ساده برای افتراق بین میوهها مناسب است. در این حالت، نوع میوه متغیر وابسته ما خواهد بود درحالیکه رنگ میوه و شکل میوه ۲ پیشبینی کننده یا متغیر مستقل خواهد بود.
مرحله چهارم: آموزش
در قلب فرآیند یادگیری ماشین یا ماشین لرنینگ، آموزش مدل است. بخش عمدهای از “یادگیری” در این مرحله انجام میشود. در اینجا ما از بخشی از مجموعه داده اختصاص داده شده برای آموزش استفاده میکنیم تا مدل خود را برای تمایز بین ۲ میوه آموزش دهیم. اگر مدل خود را بهصورت ریاضی ببینیم، ورودیها یعنی ۲ ویژگی ما دارای ضرایب هستند. این ضرایب را وزن ویژگیها میگویند. همچنین یک قطع ثابت یا y وجود دارد. این بهعنوان سوگیری مدل نامیده میشود. فرآیند تعیین مقادیر آنها آزمونوخطا است. در ابتدا، مقادیر تصادفی را برای آنها انتخاب میکنیم و ورودی ارائه میکنیم. خروجی بهدستآمده با خروجی واقعی مقایسه میشود و با آزمایش مقادیر مختلف وزنها و بایاسها، تفاوت به حداقل میرسد. تکرارها با استفاده از ورودیهای مختلف از مجموعه داده های آموزشی ما تکرار میشوند تا زمانی که مدل به سطح دقت مطلوب برسد.

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

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

کتاب یادگیری ماشین
اگر شما نیز از علاقهمندان فناوری یادگیری ماشین یا ماشین لرنینگ هستید؛ در این بخش از مقاله یادگیری ماشین ما به معرفی چند کتاب مشهور در این حوزه پرداختهایم.
- کتاب The Hundred-Page Machine Learning
- نویسنده: Andriy Burkov
- آخرین چاپ: اول
- انتشارات: Andriy Burkov
آیا میتوان موضوعات مختلف یادگیری ماشین را تنها در ۱۰۰ صفحه توضیح داد؟ کتاب یادگیری ماشین صد صفحه ای توسط آندری بورکوف تلاشی برای تحقق همین موضوع است. کتاب یادگیری ماشین که به روشی آسان نوشتهشده است، توسط رهبران فکری مشهوری مانند مدیر تحقیقات گوگل، پیتر نورویگ و سوجیت واراخدی، رئیس مهندسی eBay تأییدشده است. این بهترین کتاب برای شروع یادگیری ماشین است.
پس از یک مطالعه کامل از این کتاب , شما قادر خواهید بود که سیستمهای پیچیده هوش مصنوعی را بسازید , مصاحبه مبتنی بر ML را مشخص کنید و حتی کسبوکار خود را نیز آغاز کنید . بااینحال، این کتاب برای مبتدیان یادگیری ماشین مطلق در نظر گرفته نشده است. اگر به دنبال چیز اساسیتری هستید، گزینههای دیگر را نیز در نظر بگیرید.
- موضوعات موردبحث کتاب:
- آناتومی یک الگوریتم یادگیری
- الگوریتمهای بنیادی
- شبکه عصبی و یادگیری عمیق
- دیگر انواع یادگیری
- یادگیری بدون نظارت و یادگیری بدون نظارت
- انواع یادگیری ماشین

- کتاب Programming Collective Intelligence: Building Smart Web 2.0 Applications
- نویسنده: Toby Segaran
- آخرین چاپ: اول
- انتشارات: O’Reilly Media
این کتاب بهعنوان یکی از بهترین کتابها برای شروع درک یادگیری ماشین شناخته میشود که توسط توبی سگاران نوشتهشده است. پیش از آنکه این کتاب نوشته شود، در سال ۲۰۰۷، علم داده و یادگیری ماشین به وضعیت فعلی خود در زمینههای شغلی برتر دست یافتند. این کتاب از پایتون بهعنوان وسیلهای برای رساندن دانش به خوانندگان خود استفاده میکند.
این کتاب مقدمهای برای یادگیری ماشین است و بیشتر راهنمایی برای پیادهسازی ML است. جزئیات کتاب در مورد ایجاد الگوریتمهای یادگیری ماشین کارآمد برای جمعآوری دادهها از برنامهها، ایجاد برنامههایی برای دسترسی به دادهها از وبسایتها و استنتاج دادههای جمعآوریشده است. هر فصل شامل تمرینهایی برای گسترش الگوریتمهای بیانشده و بهبود بیشتر کارایی و اثربخشی آنها است.
- موضوعات تحت پوشش کتاب:
- فیلتر اسپم بیزی
- تکنیک های فیلتر مشارکتی
- هوش تکاملی برای حل مسئله
- روشهایی برای تشخیص گروهها یا الگوها
- فاکتورسازی ماتریس غیر منفی
- الگوریتمهای موتورهای جستجو
- ماشین های بردار پشتیبانی
- راههای پیشبینی

- کتاب Machine Learning for Hackers: Case Studies and Algorithms to Get you Started
- نویسنده: Drew Conway and John Myles White
- آخرین چاپ: اول
- انتشارات: O’Reilly Media
این کتاب برای برنامه نویسان باتجربهای است که علاقهمند به خرد کردن داده ها هستند. در نام کتاب کلمه هکرها به ریاضیدانان ماهر اشاره دارد. ازآنجاییکه بیشتر کتاب بر اساس تجزیهوتحلیل داده ها به زبان R است، این یک گزینه عالی برای کسانی است که دانش خوبی از زبان برنامه نویسی R دارند. کتاب همچنین جزئیات با استفاده از R پیشرفته در بحث داده ها را ارائه میدهد.
شاید مهمترین نکته برجسته کتاب یادگیری ماشین برای هکرها، گنجاندن مطالعات موردی مناسبی باشد که اهمیت استفاده از الگوریتمهای یادگیری ماشین را برجسته میکند. این کتاب بهجای کاوش عمیقتر در نظریه ریاضی یادگیری ماشین، مثالهای زیادی از زندگی واقعی را توضیح میدهد تا یادگیری ماشین لرنینگ را آسانتر و سریعتر کند.
- موضوعات تحت پوشش کتاب:
- توسعه یک طبقهبندی کننده ساده بیزی
- رگرسیون خطی
- تکنیکهای بهینهسازی
- استفاده از R برای پرسوجو دادهها

- کتاب Machine Learning
- نویسنده: Tom M. Mitchell
- آخرین چاپ: اول
- انتشارات: McGraw Hill Education
یادگیری ماشین نوشته تام ام میچل کتابی مناسب برای شروع یادگیری ماشین است. این یک نمای کلی جامع از قضایای یادگیری ماشین با خلاصه شبه کدهای الگوریتمهای مربوطه ارائه میدهد. کتاب یادگیری ماشین مملو از مثالها و مطالعات موردی است تا تلاش خواننده را برای یادگیری و درک الگوریتمهای ماشین لرنینگ آسان کند. اگر میخواهید حرفه خود را در یادگیری ماشین شروع کنید، این کتاب یکی از ضروریات است. کتاب یادگیری ماشین کاندیدای مناسبی برای گنجاندن در هر دوره یا برنامه یادگیری ماشین است.
- موضوعات تحت پوشش کتاب:
- الگوریتمهای ژنتیک
- برنامه نویسی منطق استقرایی
- مقدمهای بر رویکردهای اولیه یادگیری ماشین
- مفاهیم و تکنیک های یادگیری ماشین
- یادگیری تقویتی مجدد

- کتاب The Elements of Statistical Learning: Data Mining, Inference, and Prediction
- نویسنده: Trevor Hastie, Robert Tibshirani, and Jerome Friedman
- آخرین چاپ: دوم
- انتشارات: Hardcover/Kindle
اگر به آمار علاقه دارید و میخواهید یادگیری ماشین را از منظر آمار یاد بگیرید، کتاب The Elements of Statistical Learning کتابی است که باید بخوانید. کتاب یادگیری ماشین بر مشتقات ریاضی برای تعریف منطق زیربنایی یک الگوریتم ML تأکید دارد. قبل از برداشتن این کتاب، مطمئن شوید که حداقل درک اولیهای از جبر خطی دارید.
مفاهیم توضیح داده شده در کتاب The Elements of Statistical Learning برای مبتدیان مناسب نیست. ازاینرو، ممکن است هضم آن را پیچیده بدانید. بااینحال، اگر هنوز میخواهید آنها را یاد بگیرید، میتوانید کتاب مقدمهای بر یادگیری آماری را بررسی کنید. همان مفاهیم را توضیح میدهد اما به روشی مبتدی پسند.
- موضوعات تحت پوشش کتاب:
- یادگیری گروهی
- مشکلات با ابعاد بالا
- روشهای خطی طبقهبندی و رگرسیون
- استنتاج و میانگین گیری مدل
- شبکه های عصبی
- جنگلهای تصادفی
- یادگیری تحت نظارت و بدون نظارت

پنج کتاب معرفی شده در بالا، مشهورترین کتب شناختهشده در حوزه یادگیری ماشین بودند. در ادامه لیستی از سایر کتابهایی که برای علاقهمندان به ماشین لرنینگ مناسب است، نیز آورده شده است.
ردیف | نام کتاب | نویسنده | آخرین چاپ | انتشارات |
۱ | Learning from Data: A Short Course | Yaser Abu Mostafa, Malik Magdon-Ismail, and Hsuan-Tien Lin | اول | AMLBook |
۲ | Pattern Recognition and Machine Learning | Christopher M. Bishop | دوم | Springer |
۳ | Natural Language Processing with Python | Steven Bird, Ewan Klein, and Edward Loper | اول | O’Reilly Media |
۴ | Bayesian Reasoning and Machine Learning | David Barber | اول | Cambridge University Press |
۵ | Understanding Machine Learning | Shai Shalev-Shwartz and Shai Ben-David | اول | Cambridge University Press |
۶ | Machine Learning for Absolute Beginners: A Plain English Introduction | Oliver Theobald | دوم | Scatterplot Press |
۷ | Machine Learning for Dummies | John Paul Mueller and Luca Massaron | اول | For Dummies |
۸ | Fundamentals of Machine Learning for Predictive Data Analytics: Algorithms, Worked Examples, and Case Studies | John D. Kelleher, Brian Mac Namee, and Aoife D’Arcy | اول | The MIT Press |
۹ | Machine Learning in Action | Peter Harrington | اول | Manning Publications |
۱۰ | Data Mining: Practical Machine Learning Tools and Techniques | Ian H. Witten, Eibe Frank, and Mark A. Hall | چهارم | Morgan Kaufmann |
۱۱ | Machine Learning with TensorFlow | Nishant Shukla | اول | Manning Publications |
۱۲ | Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems | Aurélien Géron | دوم | O’Reilly Media |
۱۳ | Introduction to Machine Learning with Python: A Guide for Data Scientists | Andreas C. Müller & Sarah Guido | اول | O’Reilly Media |
۱۴ | Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series) | Kevin P. Murphy | اول | The MIT Press |
۱۵ | Python Machine Learning: A Technical Approach to Machine Learning for Beginners | Leonard Eddison | اول | CreateSpace Independent Publishing Platform |