
7 الگوریتم یادگیری ماشینی که هر دانشمند داده باید بداند
تصویر نویسنده | ایجاد شده در Canva
به عنوان یک دانشمند داده، باید به SQL و Python مسلط باشید. اما افزودن یادگیری ماشین به جعبه ابزار خود نیز می تواند بسیار مفید باشد.
ممکن است همیشه به عنوان یک دانشمند داده از یادگیری ماشینی استفاده نکنید. اما برخی از مشکلات با استفاده از الگوریتم های یادگیری ماشین به جای برنامه نویسی سیستم های مبتنی بر قوانین بهتر حل می شوند.
این راهنما هفت الگوریتم یادگیری ماشینی ساده و در عین حال مفید را پوشش میدهد. ما یک مرور مختصر از الگوریتم به همراه ملاحظات کاری و کلیدی آن ارائه می دهیم. علاوه بر این، ما همچنین برنامهها یا ایدههای پروژهای را پیشنهاد میکنیم که میتوانید با استفاده از کتابخانهی scikit-learn آنها را امتحان کنید.
1. رگرسیون خطی
رگرسیون خطی به مدل سازی رابطه خطی بین متغیر وابسته و یک یا چند متغیر مستقل کمک می کند. این یکی از اولین الگوریتمهایی است که میتوانید برای پیشبینی متغیر هدف پیوسته از مجموعهای از ویژگیها به جعبه ابزار خود اضافه کنید.
الگوریتم چگونه کار می کند
برای یک مدل رگرسیون خطی شامل n پیش بینی کننده ها، معادله به صورت زیر به دست می آید:
کجا:
- y مقدار پیش بینی شده است
- βمن ضرایب مدل هستند
- xمن پیش بینی کننده هستند
الگوریتم مجموع مجذور باقیمانده را برای یافتن مقادیر بهینه β به حداقل می رساند:
کجا:
- N تعداد مشاهدات است
- p تعداد پیش بینی کننده ها است
- βمن ضرایب هستند
- xij مقادیر پیش بینی کننده برای مشاهده i و پیش بینی j ام هستند
ملاحظات کلیدی
- یک رابطه خطی بین ویژگی های مجموعه داده را فرض می کند.
- مستعد چند خطی بودن و پرت.
یک پروژه رگرسیون ساده برای پیشبینی قیمت مسکن یک عمل خوب است.
2. رگرسیون لجستیک
رگرسیون لجستیک معمولاً برای مسائل طبقه بندی باینری استفاده می شود، اما می توانید از آن برای طبقه بندی چند کلاسه نیز استفاده کنید. مدل رگرسیون لجستیک احتمال یک ورودی معین متعلق به یک کلاس خاص را خروجی می دهد.
الگوریتم چگونه کار می کند
رگرسیون لجستیک از تابع لجستیک (تابع سیگموئید) برای پیش بینی احتمالات استفاده می کند:
جایی که βمن ضرایب مدل هستند. این یک احتمال را خروجی می دهد که می تواند برای تخصیص برچسب های کلاس آستانه گذاری شود.
ملاحظات کلیدی
- مقیاس بندی ویژگی می تواند عملکرد مدل را بهبود بخشد.
- با استفاده از تکنیک هایی مانند نمونه گیری مجدد یا وزن دهی به عدم تعادل کلاس ها رسیدگی کنید.
شما می توانید از رگرسیون لجستیک برای انواع وظایف طبقه بندی استفاده کنید. طبقه بندی اینکه آیا ایمیل هرزنامه است یا نه می تواند پروژه ساده ای باشد که می توانید روی آن کار کنید.
3. درختان تصمیم
درختان تصمیم مدل های بصری هستند که هم برای طبقه بندی و هم برای رگرسیون استفاده می شوند. همانطور که از نام آن پیداست، با تقسیم داده ها به شاخه ها بر اساس مقادیر ویژگی، تصمیم گیری می شود.
الگوریتم چگونه کار می کند
الگوریتم مشخصه ای را انتخاب می کند که داده ها را بر اساس معیارهایی مانند ناخالصی جینی یا آنتروپی به بهترین شکل تقسیم می کند. روند به صورت بازگشتی ادامه می یابد.
آنتروپی: اختلال در مجموعه داده را اندازه گیری می کند:
ناخالصی جینی: ناخالصی جینی احتمال طبقه بندی اشتباه یک نقطه انتخابی را اندازه گیری می کند:
الگوریتم درخت تصمیم ویژگی و تقسیمی را انتخاب می کند که منجر به بیشترین کاهش ناخالصی می شود (به دست آوردن اطلاعات برای آنتروپی یا Gain Gini برای ناخالصی Gini).
ملاحظات کلیدی
- تفسیر ساده اما اغلب مستعد بیش از حد برازش است.
- می تواند داده های مقوله ای و عددی را مدیریت کند.
می توانید یک درخت تصمیم را در مورد یک مسئله طبقه بندی که قبلاً روی آن کار کرده اید آموزش دهید و بررسی کنید که آیا مدل بهتری نسبت به رگرسیون لجستیک است یا خیر.
4. جنگل های تصادفی
جنگل تصادفی یک روش یادگیری گروهی است که چندین درخت تصمیم میسازد و پیشبینیهای آنها را برای نتایج قویتر و دقیقتر میانگین میدهد.
الگوریتم چگونه کار می کند
با ترکیب بسته بندی (تجمع بوت استرپ) و انتخاب تصادفی ویژگی، چندین درخت تصمیم می سازد. هر درخت به نتیجه رای میدهد و نتیجهای که بیشترین رای داده شده، پیشبینی نهایی میشود. الگوریتم جنگل تصادفی با میانگینگیری نتایج در بین درختان، اضافه برازش را کاهش میدهد.
ملاحظات کلیدی
- مجموعه دادههای بزرگ را به خوبی مدیریت میکند و بیش از حد برازش را کاهش میدهد.
- می تواند از نظر محاسباتی فشرده تر از یک درخت تصمیم باشد.
شما می توانید الگوریتم جنگل تصادفی را برای پروژه پیش بینی ریزش مشتری اعمال کنید.
5. ماشینهای بردار پشتیبانی (SVM)
Support Vector Machine یا SVM یک الگوریتم طبقه بندی است. با یافتن ابر صفحه بهینه – صفحه ای که حاشیه را به حداکثر می رساند – کار می کند و دو کلاس را در فضای ویژگی از هم جدا می کند.
الگوریتم چگونه کار می کند
هدف به حداکثر رساندن حاشیه بین کلاس ها با استفاده از بردارهای پشتیبانی است. مسئله بهینه سازی به صورت زیر تعریف می شود:
که در آن w بردار وزن، x استمن بردار ویژگی است و yمن برچسب کلاس است.
ملاحظات کلیدی
- در صورت استفاده از ترفند هسته، می توان برای داده های غیرخطی قابل جداسازی استفاده کرد. الگوریتم به انتخاب تابع هسته حساس است.
- برای مجموعه داده های بزرگ به حافظه و قدرت محاسباتی قابل توجهی نیاز دارد.
می توانید از SVM برای طبقه بندی متن ساده یا مشکل تشخیص هرزنامه استفاده کنید.
6. K-نزدیکترین همسایه (KNN)
K-Nearest Neighbors یا KNN یک الگوریتم ساده و غیر پارامتری است که برای طبقه بندی و رگرسیون با یافتن K نزدیکترین نقاط به نمونه پرس و جو استفاده می شود.
الگوریتم چگونه کار می کند
الگوریتم فاصله (مانند اقلیدسی) بین نقطه پرس و جو و سایر نقاط مجموعه داده را محاسبه می کند، سپس کلاس اکثر همسایگان خود را اختصاص می دهد.
ملاحظات کلیدی
- انتخاب k و متریک فاصله می تواند عملکرد قابل توجهی را تحت تاثیر قرار دهد.
- حساس به نفرین ابعاد به عنوان فاصله در فضاهای با ابعاد بالا.
میتوانید روی یک مسئله طبقهبندی ساده کار کنید تا ببینید KNN چگونه با سایر الگوریتمهای طبقهبندی مقایسه میشود.
7. K-Means Clustering
K-Means یک الگوریتم خوشهبندی رایج است که مجموعه دادهها را بر اساس شباهت اندازهگیری شده توسط متریک فاصله به k خوشه تقسیم میکند. نقاط داده در یک خوشه بیشتر به یکدیگر شباهت دارند تا نقاط دیگر خوشه ها.
الگوریتم چگونه کار می کند
الگوریتم در دو مرحله زیر تکرار می شود:
- تخصیص هر نقطه داده به نزدیکترین مرکز خوشه.
- به روز رسانی مرکزها بر اساس میانگین امتیازات اختصاص داده شده به آنها.
الگوریتم K-means مجموع فواصل مجذور را به حداقل می رساند:
جایی که μمن مرکز خوشه C استمن.
ملاحظات کلیدی
- نسبت به انتخاب تصادفی اولیه سانتروئیدها کاملاً حساس است
- این الگوریتم به موارد پرت نیز حساس است.
- نیاز به تعریف k قبل از زمان دارد، که ممکن است همیشه واضح نباشد.
برای اعمال خوشهبندی k-means، میتوانید روی تقسیمبندی مشتری و فشردهسازی تصویر از طریق کمیسازی رنگ کار کنید.
بسته بندی
امیدوارم این راهنمای مختصر در مورد الگوریتم های یادگیری ماشین برای شما مفید بوده باشد. این لیست جامعی از الگوریتم های یادگیری ماشین نیست، بلکه نقطه شروع خوبی است. هنگامی که با این الگوریتم ها راحت شدید، ممکن است بخواهید افزایش گرادیان و موارد مشابه را اضافه کنید.
همانطور که پیشنهاد شد، می توانید پروژه های ساده ای بسازید که از این الگوریتم ها برای درک بهتر نحوه کار آنها استفاده می کنند. اگر علاقه مند هستید، بررسی کنید 5 پروژه یادگیری ماشینی در دنیای واقعی که می توانید این آخر هفته بسازید.
یادگیری ماشینی مبارک!