|
|
4 months ago | |
|---|---|---|
| .. | ||
| README.md | 4 months ago | |
| assignment.md | 7 months ago | |
README.md
تکنیکهای یادگیری ماشین
فرآیند ساخت، استفاده و نگهداری از مدلهای یادگیری ماشین و دادههایی که استفاده میکنند، فرآیندی بسیار متفاوت از بسیاری دیگر از جریانهای کاری توسعه است. در این درس، فرآیند را رمزگشایی میکنیم و تکنیکهای اصلی که باید بدانید را مشخص میکنیم. شما:
- فرآیندهای پایهای یادگیری ماشین را در سطح بالا درک خواهید کرد.
- مفاهیم پایهای مانند «مدلها»، «پیشبینیها» و «دادههای آموزشی» را بررسی خواهید کرد.
آزمون پیشدرس
🎥 روی تصویر بالا کلیک کنید برای ویدئویی کوتاه که این درس را مرور میکند.
مقدمه
در سطح کلی، هنر ساخت فرآیندهای یادگیری ماشین (ML) شامل چندین مرحله است:
- تصمیمگیری درباره سؤال. اکثر فرآیندهای ML با پرسیدن سؤالی شروع میشوند که نمیتوان به آن با برنامه شرطی ساده یا موتور قوانین مبتنی بر قاعده پاسخ داد. اغلب این سؤالات حول محور پیشبینیها بر اساس مجموعهای از دادهها میچرخند.
- جمعآوری و آمادهسازی داده. برای پاسخ به سؤال خود، به داده نیاز دارید. کیفیت و گاهی کمیت دادههای شما تعیین میکند که چقدر میتوانید به سؤال اولیه خود پاسخ دهید. مصورسازی داده بخش مهمی از این مرحله است. این مرحله همچنین شامل تقسیم دادهها به گروههای آموزشی و آزمایشی برای ساخت مدل است.
- انتخاب روش آموزش. بسته به سؤال شما و ماهیت دادههایتان، باید انتخاب کنید که چگونه میخواهید یک مدل را آموزش دهید تا بهترین بازتاب دادهها باشد و پیشبینیهای دقیقی انجام دهد. این بخش از فرآیند ML شما نیازمند تخصص خاص و اغلب میزان قابل توجهی آزمایش و خطا است.
- آموزش مدل. با استفاده از دادههای آموزشی، از الگوریتمهای مختلف برای آموزش مدل و شناسایی الگوها در داده استفاده میکنید. مدل ممکن است از وزنهای داخلی بهره ببرد که قابل تنظیم هستند تا بخشهای خاصی از داده را برای ساخت مدلی بهتر اولویتبندی کنند.
- ارزیابی مدل. از دادههایی که قبلاً دیده نشده (دادههای آزمایشی) از مجموعه جمعآوریشده خود استفاده میکنید تا ببینید مدل چگونه عمل میکند.
- تنظیم پارامترها. بر اساس عملکرد مدل، میتوانید فرآیند را با پارامترها یا متغیرهای متفاوت که رفتار الگوریتمهای آموزش مدل را کنترل میکنند، از نو انجام دهید.
- پیشبینی. از ورودیهای جدید برای آزمایش دقت مدل استفاده کنید.
چه سؤالی بپرسیم
رایانهها در کشف الگوهای پنهان در دادهها بسیار ماهر هستند. این ویژگی برای پژوهشگرانی که سؤالاتی درباره یک حوزه مشخص دارند و نمیتوان به سادگی با ایجاد موتور قوانین مبتنی بر شرط به آنها پاسخ داد بسیار مفید است. به عنوان مثال، در یک وظیفه بیمهای، یک دانشمند داده ممکن است بتواند قوانین دستی درباره مرگ و میر سیگاریها در مقابل غیرسیگاریها بسازد.
با این حال، وقتی بسیاری از متغیرهای دیگر وارد معادله میشوند، یک مدل یادگیری ماشین ممکن است در پیشبینی نرخ مرگ و میر آینده، بر اساس تاریخچه سلامت گذشته، کارآمدتر باشد. مثال خوشحالکنندهتر میتواند پیشبینی هوای ماه آوریل در یک مکان مشخص با استفاده از دادههایی شامل عرض جغرافیایی، طول جغرافیایی، تغییرات اقلیمی، نزدیکی به اقیانوس، الگوهای جت استریم و غیره باشد.
✅ این ارائه اسلاید درباره مدلهای آب و هوا دیدگاه تاریخی برای استفاده از ML در تحلیل آب و هوا ارائه میدهد.
وظایف پیش از ساخت مدل
قبل از شروع به ساخت مدل خود، چند وظیفه وجود دارد که باید آنها را انجام دهید. برای آزمایش سؤال خود و تشکیل فرضیه بر اساس پیشبینیهای مدل، باید چند عنصر را شناسایی و پیکربندی کنید.
داده
برای اینکه بتوانید با هر نوع اطمینانی به سؤال خود پاسخ دهید، نیاز به مقدار مناسبی از دادههای درست دارید. در این مرحله باید دو کار انجام دهید:
- جمعآوری داده. با در نظر گرفتن درس قبلی درباره عدالت در تحلیل دادهها، دادههای خود را با دقت جمعآوری کنید. از منابع این دادهها آگاه باشید، از هرگونه تعصب ذاتی آنها مطلع باشید و منشأ آنها را مستندسازی کنید.
- آمادهسازی داده. چند مرحله در فرآیند آمادهسازی داده وجود دارد. ممکن است نیاز باشد دادهها را جمعآوری و نرمالسازی کنید اگر از منابع مختلف آمدهاند. میتوانید کیفیت و کمیت داده را با روشهای مختلفی مانند تبدیل رشتهها به عدد (همانطور که در خوشهبندی انجام میدهیم) بهبود بخشید. همچنین ممکن است دادههای جدیدی بر اساس دادههای اصلی تولید کنید (همانطور که در دستهبندی انجام میدهیم). میتوانید دادهها را تمیز و ویرایش کنید (همانطور که قبل از درس وب اپ انجام میدهیم). در نهایت، بسته به تکنیکهای آموزش، ممکن است نیاز باشد آنها را بهصورت تصادفی مرتب کنید و جابجا کنید.
✅ پس از جمعآوری و پردازش دادهها، کمی وقت بگذارید تا ببینید شکل دادهها آیا به شما امکان میدهد به سؤال هدف خود پاسخ دهید یا خیر. ممکن است دادهها در وظیفهٔ مورد نظر عملکرد خوبی نداشته باشند، همانطور که در درسهای خوشهبندی میبینیم!
ویژگیها و هدف
ویژگی خصوصیتی قابل اندازهگیری از دادههای شما است. در بسیاری از مجموعه دادهها، به شکل عنوان ستونهایی مانند 'تاریخ'، 'اندازه' یا 'رنگ' بیان میشود. متغیر ویژگی شما، که معمولاً در کد به صورت X نمایش داده میشود، متغیر ورودی است که برای آموزش مدل استفاده میشود.
هدف چیزی است که قصد دارید پیشبینی کنید. هدف که معمولاً به صورت y در کد نمایش داده میشود، پاسخی است به سؤالی که از دادهها میپرسید: در دسامبر، کدوهای ما ارزانترین کدام رنگ خواهند بود؟ در سانفرانسیسکو، کدام محلهها بهترین قیمت املاک را خواهند داشت؟ گاهی اوقات هدف به عنوان برچسب (label) نیز نامیده میشود.
انتخاب متغیر ویژگی
🎓 انتخاب ویژگی و استخراج ویژگی چگونه میدانید هنگام ساخت مدل کدام متغیر را انتخاب کنید؟ احتمالاً از فرایند انتخاب ویژگی یا استخراج ویژگی عبور خواهید کرد تا متغیرهای مناسب را برای مدل با بهترین عملکرد انتخاب کنید. اما این دو یکسان نیستند: «استخراج ویژگی ویژگیهای جدیدی از توابع ویژگیهای اصلی ایجاد میکند، در حالی که انتخاب ویژگی زیرمجموعهای از ویژگیها را بازمیگرداند.» (منبع)
مصورسازی دادههایتان
جنبه مهمی از جعبه ابزار دانشمند داده توانایی مصورسازی دادهها با استفاده از چندین کتابخانه عالی مانند Seaborn یا MatPlotLib است. نمایش دادهها به صورت بصری ممکن است اجازه دهد همبستگیهای پنهان را کشف کنید که میتوانید از آن بهره ببرید. مصورسازی شما همچنین ممکن است به کشف تعصب یا دادههای نامتقارن کمک کند (همانطور که در دستهبندی میبینیم).
تقسیم مجموعه داده
قبل از آموزش، باید مجموعه داده خود را به دو یا چند بخش با اندازههای نامساوی تقسیم کنید که هنوز نماینده دادهها هستند.
- آموزش. این بخش از مجموعه داده برای آموزش مدل استفاده میشود. این مجموعه بخش عمدهای از داده اصلی را تشکیل میدهد.
- آزمون. مجموعه داده آزمایشی گروه مستقلی از دادهها است که معمولاً از داده اصلی گرفته شده و برای تأیید عملکرد مدل ساختهشده استفاده میشود.
- اعتبارسنجی. مجموعه اعتبارسنجی گروه کوچکتری از نمونهها است که برای تنظیم ابرپارامترهای مدل یا ساختار آن جهت بهبود مدل استفاده میکنید. بسته به اندازه داده و سؤال مطرحشده، ممکن است نیازی به ساخت این مجموعه سوم نداشته باشید (همانطور که در پیشبینی سریهای زمانی اشاره شده است).
ساخت مدل
با استفاده از دادههای آموزشی، هدف شما ساخت مدلی یا نمایش آماری دادهها با استفاده از الگوریتمهای مختلف برای آموزش آن است. آموزش مدل آن را در معرض دادهها قرار میدهد و به آن اجازه میدهد بر اساس الگوهای درکشده فرضیهسازی کند، آنها را ارزیابی کند و بپذیرد یا رد کند.
انتخاب روش آموزش
بسته به سؤال و ماهیت دادهها، روشی برای آموزش انتخاب میکنید. با مرور مستندات Scikit-learn - که در این دوره استفاده میکنیم - میتوانید روشهای زیادی برای آموزش مدل کشف کنید. بسته به تجربهتان، ممکن است مجبور شوید چندین روش مختلف را برای ساخت مدل بهتر امتحان کنید. احتمالاً در فرایندی قرار میگیرید که دادهکاوان عملکرد مدل را با تغذیه داده ندیده، بررسی دقت، تعصب و مشکلات کاهشدهنده کیفیت میسنجند و مناسبترین روش آموزش را برای کار انتخاب میکنند.
آموزش مدل
مجهز به دادههای آموزشی، آماده «تناسب» دادن مدل هستید. در بسیاری از کتابخانههای ML کد 'model.fit' را خواهید دید - این زمانی است که متغیر ویژگی خود را به صورت آرایهای از مقادیر (معمولاً 'X') و متغیر هدف (معمولاً 'y') ارسال میکنید.
ارزیابی مدل
پس از تکمیل فرآیند آموزش (ممکن است برای آموزش یک مدل بزرگ چندین تکرار یا 'اپک' لازم باشد)، میتوانید کیفیت مدل را با استفاده از دادههای آزمون که قبلاً مدل آنها را ندیده است ارزیابی کنید. این دادهها زیرمجموعهای از داده اصلی هستند که مدل قبلاً تحلیل نکرده است. میتوانید جدولی از معیارهای کیفیت مدل خود چاپ کنید.
🎓 تناسب مدل
در زمینه یادگیری ماشین، تناسب مدل به دقت تابع پایه مدل اشاره دارد هنگامی که سعی میکند دادههایی را تحلیل کند که با آنها آشنا نیست.
🎓 کمبرازش و بیشبرازش مشکلات رایجی هستند که کیفیت مدل را کاهش میدهند، زیرا مدل یا به اندازه کافی مناسب نیست یا بیش از حد مناسب. این باعث میشود مدل پیشبینیهایی انجام دهد که یا خیلی نزدیک به دادههای آموزشی است یا بسیار دور از آن. مدل بیشبرازش دادههای آموزشی را خیلی خوب پیشبینی میکند چون جزئیات و نویز دادهها را خیلی خوب یاد گرفته است. مدل کمبرازش دقیق نیست چون نه میتواند دادههای آموزشی را درست تحلیل کند و نه دادههایی که قبلاً «ندیده» است.
اینفوگرافیک توسط Jen Looper
تنظیم پارامترها
وقتی آموزش اولیه شما کامل شد، کیفیت مدل را مشاهده کنید و در نظر بگیرید که با تنظیم 'ابرپارامترها' آن را بهبود بخشید. درباره این فرآیند بیشتر در مستندات بخوانید.
پیشبینی
این لحظهای است که میتوانید از دادههای کاملاً جدید برای آزمایش دقت مدل خود استفاده کنید. در محیط یادگیری ماشین «کاربردی» که در آن داراییهای وب را برای استفاده مدل در تولید میسازید، این فرآیند ممکن است شامل جمعآوری ورودی کاربر (مثلاً فشار دکمه) برای تنظیم متغیر و ارسال آن به مدل برای استنتاج یا ارزیابی باشد.
در این درسها، خواهید آموخت چگونه با استفاده از این مراحل، آمادهسازی، ساخت، آزمون، ارزیابی و پیشبینی کنید - همه حرکات یک دانشمند داده و فراتر، در مسیر تبدیل شدن به مهندس یادگیری ماشین 'فول استک'.
🚀چالش
یک نمودار جریان رسم کنید که مراحل یک متخصص یادگیری ماشین را نشان دهد. در کجای این فرآیند خود را میبینید؟ پیشبینی میکنید در کجا با مشکل مواجه شوید؟ چه چیزی برایتان آسان به نظر میرسد؟
آزمون پس از درس
مرور و مطالعه خودآموز
به صورت آنلاین جستجو کنید تا مصاحبههایی با دانشمندان داده که درباره کار روزمره خود صحبت میکنند بیابید. این یکی مصاحبه است.
تمرین
سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما در پی دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیهایی باشند. سند اصلی به زبان بومی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفهای انسانی توصیه میشود. ما مسئولیتی در قبال هرگونه سوءتفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه نداریم.

