کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 3rd Edition (یادگیری ماشین عملی با سایکیت-لرن، کراس و تنسورفلو، ویرایش سوم) یک راهنمای جامع و کاربردی برای یادگیری و پیادهسازی الگوریتمهای یادگیری ماشین و شبکههای عصبی عمیق با استفاده از کتابخانههای قدرتمند سایکیت-لرن، کراس و تنسورفلو است.
کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow با ارائه توضیحات واضح، مثالهای عملی و پروژههای واقعی، خوانندگان را از مفاهیم پایه تا تکنیکهای پیشرفته در زمینههای مختلف یادگیری ماشین از جمله طبقهبندی، رگرسیون، خوشهبندی، کاهش ابعاد و یادگیری عمیق راهنمایی میکند. ویرایش سوم این کتاب با بهروزرسانیها و پوشش مباحث جدید، همچنان یک منبع ارزشمند برای مهندسان، دانشمندان داده و دانشجویانی است که به دنبال کسب مهارتهای عملی در حوزه یادگیری ماشین هستند.
در ادامه مقدمهای از کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow:
سونامی یادگیری ماشین
در سال 2006، جفری هینتون و همکاران مقالهای منتشر کردند که نشان میداد چگونه میتوان یک شبکه عصبی عمیق را آموزش داد که قادر به تشخیص ارقام دستنویس با دقت پیشرفته (>98%) است. آنها این تکنیک را “یادگیری عمیق” نامیدند. یک شبکه عصبی عمیق یک مدل (بسیار) سادهشده از قشر مغز ما است که از یک پشته از لایههای نورونهای مصنوعی تشکیل شده است.
آموزش یک شبکه عصبی عمیق در آن زمان به طور گسترده غیرممکن تلقی میشد، و اکثر محققان این ایده را در اواخر دهه 1990 کنار گذاشته بودند. این مقاله علاقه جامعه علمی را احیا کرد، و دیری نپایید که بسیاری از مقالات جدید نشان دادند که یادگیری عمیق نه تنها ممکن است، بلکه قادر به دستاوردهای خیرهکنندهای است که هیچ تکنیک یادگیری ماشین (ML) دیگری نمیتوانست به امید رقابت با آن باشد (با کمک قدرت محاسباتی عظیم و مقادیر زیادی داده). این اشتیاق به زودی به بسیاری از زمینههای دیگر یادگیری ماشین نیز گسترش یافت.
یک دهه بعد، یادگیری ماشین صنعت را تسخیر کرده بود، و امروزه در قلب بسیاری از جادوی محصولات پیشرفته قرار دارد، از رتبهبندی نتایج جستجوی وب شما، تا قدرتبخشیدن به تشخیص گفتار تلفن هوشمندتان، پیشنهاد دادن ویدیوها، و شاید حتی رانندگی ماشین شما.
بیشتر بخوانید: کتاب The Object-Oriented Approach to Problem Solving and Machine Learning with Python
یادگیری ماشین در پروژههای شما
بنابراین، طبیعتاً شما در مورد یادگیری ماشین هیجانزده هستید و دوست دارید به این جمع بپیوندید!
شاید دوست دارید به ربات خانگی خود مغزی بدهید؟ آن را قادر به تشخیص چهره کنید؟ یا به آن یاد بدهید که راه برود؟
یا شاید شرکت شما انبوهی از دادهها دارد (لاگهای کاربر، دادههای مالی، دادههای تولید، دادههای حسگر ماشین، آمار خط تلفن، گزارشهای منابع انسانی و غیره)، و به احتمال زیاد اگر فقط میدانستید کجا را بگردید، میتوانید گنجینههای پنهانی را کشف کنید. با یادگیری ماشین، میتوانید کارهای زیر و بسیاری موارد دیگر را انجام دهید:
- مشتریان را بخشبندی کنید و بهترین استراتژی بازاریابی را برای هر گروه پیدا کنید.
- بر اساس آنچه مشتریان مشابه خریدهاند، محصولات را برای هر مشتری پیشنهاد دهید.
- تشخیص دهید کدام تراکنشها احتمالاً تقلبی هستند.
- درآمد سال آینده را پیشبینی کنید. هر دلیلی که داشته باشید، تصمیم گرفتهاید یادگیری ماشین را بیاموزید و آن را در پروژههای خود پیادهسازی کنید. ایده عالی است!
هدف و رویکرد
کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow فرض میکند که شما تقریباً هیچ چیز در مورد یادگیری ماشین نمیدانید. هدف آن این است که مفاهیم، ابزارها و شهودی را که برای پیادهسازی برنامههای قادر به یادگیری از دادهها نیاز دارید، در اختیار شما قرار دهد.
ما تعداد زیادی از تکنیکها را پوشش خواهیم داد، از سادهترین و پرکاربردترین آنها (مانند رگرسیون خطی) گرفته تا برخی از تکنیکهای یادگیری عمیق که به طور منظم در مسابقات برنده میشوند. برای این کار، از فریمورکهای پایتون آماده برای تولید استفاده خواهیم کرد:
- سایکیت-لرن استفاده از آن بسیار آسان است، در عین حال بسیاری از الگوریتمهای یادگیری ماشین را به طور کارآمد پیادهسازی میکند، بنابراین نقطه شروع بسیار خوبی برای یادگیری یادگیری ماشین است. این کتابخانه توسط دیوید کورناپو در سال 2007 ایجاد شد و اکنون توسط تیمی از محققان در مؤسسه ملی تحقیقات علوم کامپیوتر و اتوماسیون فرانسه (Inria) رهبری میشود.
- تنسورفلو یک کتابخانه پیچیدهتر برای محاسبات عددی توزیعشده است. این امکان را فراهم میکند تا شبکههای عصبی بسیار بزرگ را با توزیع محاسبات در بین احتمالاً صدها سرور چند GPU (واحد پردازش گرافیکی) به طور کارآمد آموزش داده و اجرا کنید. تنسورفلو (TF) در گوگل ایجاد شد و از بسیاری از برنامههای یادگیری ماشین در مقیاس بزرگ آن پشتیبانی میکند. این کتابخانه در نوامبر 2015 متنباز شد و نسخه 2.0 آن در سپتامبر 2019 منتشر شد.
- کراس یک API یادگیری عمیق سطح بالا است که آموزش و اجرای شبکههای عصبی را بسیار ساده میکند. کراس همراه با تنسورفلو ارائه میشود و برای تمام محاسبات سنگین به تنسورفلو متکی است.
کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow رویکرد عملی را ترجیح میدهد و از طریق مثالهای کاری ملموس و مقدار کمی تئوری، درک شهودی از یادگیری ماشین را پرورش میدهد.
نکته
اگرچه میتوانید این کتاب را بدون برداشتن لپتاپ خود بخوانید، اما من قویاً توصیه میکنم که با مثالهای کد آزمایش کنید.
نقشه راه کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow
این کتاب در دو بخش سازماندهی شده است. بخش اول، “مبانی یادگیری ماشین”، موضوعات زیر را پوشش میدهد:
- یادگیری ماشین چیست، چه مشکلاتی را سعی در حل آنها دارد، و دستههای اصلی و مفاهیم اساسی سیستمهای آن
- مراحل یک پروژه یادگیری ماشین معمولی
- یادگیری با برازش یک مدل به دادهها
- بهینهسازی یک تابع هزینه
- مدیریت، پاکسازی و آمادهسازی دادهها
- انتخاب و مهندسی ویژگیها
- انتخاب یک مدل و تنظیم ابرپارامترها با استفاده از اعتبارسنجی متقابل
- چالشهای یادگیری ماشین، به ویژه کمبرازش و بیشبرازش (مبادله بایاس/واریانس)
- رایجترین الگوریتمهای یادگیری: رگرسیون خطی و چندجملهای، رگرسیون لجستیک، k-نزدیکترین همسایه، ماشینهای بردار پشتیبان، درختهای تصمیم، جنگلهای تصادفی و روشهای تجمیعی
- کاهش ابعاد دادههای آموزشی برای مقابله با “نفرین ابعاد”
- سایر تکنیکهای یادگیری بدون نظارت، از جمله خوشهبندی، تخمین چگالی و تشخیص ناهنجاری
بخش دوم کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow، “شبکههای عصبی و یادگیری عمیق”، موضوعات زیر را پوشش میدهد:
- شبکههای عصبی چیستند و برای چه کاری مناسب هستند
- ساخت و آموزش شبکههای عصبی با استفاده از تنسورفلو و کراس
- مهمترین معماریهای شبکه عصبی: شبکههای عصبی پیشخور برای دادههای جدولی، شبکههای کانولوشنال برای بینایی کامپیوتر، شبکههای بازگشتی و شبکههای حافظه بلندمدت کوتاه (LSTM) برای پردازش دنباله، رمزگذار-رمزگشاها و ترانسفورمرها برای پردازش زبان طبیعی (و موارد دیگر!)، خودرمزگذارها، شبکههای مولد تخاصمی (GANs) و مدلهای انتشار برای یادگیری مولد
- تکنیکهای آموزش شبکههای عصبی عمیق
- نحوه ساخت یک عامل (به عنوان مثال، یک ربات در یک بازی) که میتواند از طریق آزمون و خطا استراتژیهای خوب را یاد بگیرد، با استفاده از یادگیری تقویتی
- بارگیری و پیشپردازش کارآمد حجم زیادی از دادهها
- آموزش و استقرار مدلهای تنسورفلو در مقیاس بزرگ
بخش اول کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow، بیشتر مبتنی بر سایکیت-لرن است، در حالی که بخش دوم از تنسورفلو و کراس استفاده میکند.
احتیاط
خیلی سریع وارد آبهای عمیق نشوید: در حالی که یادگیری عمیق بدون شک یکی از هیجانانگیزترین حوزهها در یادگیری ماشین است، ابتدا باید بر مبانی تسلط پیدا کنید. علاوه بر این، بیشتر مشکلات را میتوان با استفاده از تکنیکهای سادهتری مانند جنگلهای تصادفی و روشهای تجمیعی (که در بخش اول کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow مورد بحث قرار گرفتهاند) به خوبی حل کرد.
یادگیری عمیق برای مشکلات پیچیدهای مانند تشخیص تصویر، تشخیص گفتار یا پردازش زبان طبیعی بهترین گزینه است و به دادههای زیاد، قدرت محاسباتی و صبر (مگر اینکه بتوانید از یک شبکه عصبی از پیش آموزشدیده استفاده کنید، همانطور که خواهید دید) نیاز دارد.
سرفصلهای کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow:
- Copyright
- Table of Contents
- Preface
- The Machine Learning Tsunami
- Machine Learning in Your Projects
- Objective and Approach
- Code Examples
- Prerequisites
- Roadmap
- Changes Between the First and the Second Edition
- Changes Between the Second and the Third Edition
- Other Resources
- Conventions Used in This Book
- O’Reilly Online Learning
- How to Contact Us
- Acknowledgments
- Part I. The Fundamentals of Machine Learning
- Chapter 1. The Machine Learning Landscape
- Chapter 2. End-to-End Machine Learning Project
- Chapter 3. Classification
- Chapter 4. Training Models
- Chapter 5. Support Vector Machines
- Chapter 6. Decision Trees
- Chapter 7. Ensemble Learning and Random Forests
- Chapter 8. Dimensionality Reduction
- Chapter 9. Unsupervised Learning Techniques
- Part II. Neural Networks and Deep Learning
- Chapter 10. Introduction to Artificial Neural Networks with Keras
- Chapter 11. Training Deep Neural Networks
- Chapter 12. Custom Models and Training with TensorFlow
- Chapter 13. Loading and Preprocessing Data with TensorFlow
- Chapter 14. Deep Computer Vision Using Convolutional Neural Networks
- Chapter 15. Processing Sequences Using RNNs and CNNs
- Chapter 16. Natural Language Processing with RNNs and Attention
- Chapter 17. Autoencoders, GANs, and Diffusion Models
- Chapter 18. Reinforcement Learning
- Chapter 19. Training and Deploying TensorFlow Models at Scale
- Appendix A. Machine Learning Project Checklist
- Appendix B. Autodiff
- Appendix C. Special Data Structures
- Appendix D. TensorFlow Graphs
- Index
- About the Author
- Colophon
جهت دانلود کتاب Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.