فهرست مندرجات[پنهان شدن][نمایش]
به دلیل هوش مصنوعی و یادگیری ماشینی که بر هر جنبه ای از زندگی روزمره ما تأثیر می گذارد، جهان به سرعت در حال تغییر است.
از دستیارهای صوتی که از NLP و یادگیری ماشینی برای رزرو قرارها، جستجوی رویدادها در تقویم ما و پخش موسیقی استفاده میکنند تا دستگاههایی که آنقدر دقیق هستند که میتوانند نیازهای ما را حتی قبل از در نظر گرفتن آنها پیشبینی کنند.
کامپیوترها می توانند شطرنج بازی کنند، جراحی انجام دهند و با کمک الگوریتم های یادگیری ماشینی به ماشین های هوشمندتر و شبیه انسان تبدیل شوند.
ما در زمان پیشرفت مداوم تکنولوژی هستیم و با دیدن اینکه چگونه کامپیوترها در طول زمان پیشرفت کردهاند، میتوانیم پیشبینی کنیم که در آینده چه اتفاقی خواهد افتاد.
دموکراتیک کردن ابزارها و روشهای محاسباتی یکی از جنبههای کلیدی این انقلاب است که برجسته است. دانشمندان داده در طول پنج سال گذشته با پیادهسازی روشهای پیشرفته، رایانههای قدرتمندی را ایجاد کردهاند که دادهها را خرد میکنند. نتایج شگفت انگیز است.
در این پست به دقت بررسی خواهیم کرد فراگیری ماشین الگوریتم ها و همه تغییرات آنها
بنابراین، الگوریتم های یادگیری ماشین چیست؟
روشی که توسط سیستم هوش مصنوعی برای انجام وظیفه خود استفاده میشود - به طور کلی، پیشبینی مقادیر خروجی از دادههای ورودی داده شده - به عنوان الگوریتم یادگیری ماشین شناخته میشود.
الگوریتم یادگیری ماشین فرآیندی است که از داده ها استفاده می کند و برای ایجاد مدل های یادگیری ماشینی که آماده تولید هستند استفاده می شود. اگر یادگیری ماشین قطاری است که یک کار را انجام می دهد، پس الگوریتم های یادگیری ماشین لوکوموتیوهایی هستند که کار را در امتداد حرکت می دهند.
بهترین رویکرد یادگیری ماشین برای استفاده با توجه به مشکل تجاری که میخواهید به آن رسیدگی کنید، نوع مجموعه دادهای که استفاده میکنید و منابعی که در دسترس دارید تعیین میشود.
الگوریتم های یادگیری ماشینی آنهایی هستند که یک مجموعه داده را به یک مدل تبدیل می کنند. بسته به نوع مشکلی که میخواهید پاسخ دهید، قدرت پردازش موجود و نوع دادهای که دارید، الگوریتمهای یادگیری تحت نظارت، بدون نظارت یا تقویتی میتوانند عملکرد خوبی داشته باشند.
بنابراین، ما در مورد یادگیری تحت نظارت، بدون نظارت و تقویتی صحبت کردیم، اما آنها چه هستند؟ بیایید آنها را بررسی کنیم.
یادگیری تحت نظارت، بدون نظارت و تقویتی
یادگیری تحت نظارت
در یادگیری نظارت شده، مدل هوش مصنوعی بر اساس ورودی ارائه شده و برچسبی که نشان دهنده نتیجه پیش بینی شده است، توسعه می یابد. بر اساس ورودی ها و خروجی ها، مدل یک معادله نگاشت ایجاد می کند و با استفاده از آن معادله نگاشت، برچسب ورودی ها را در آینده پیش بینی می کند.
فرض کنید باید مدلی بسازیم که بتواند سگ و گربه را تشخیص دهد. چندین عکس از گربهها و سگها با برچسبهایی که نشان میدهند گربه یا سگ هستند به مدل داده میشوند تا مدل را آموزش دهند.
این مدل به دنبال ایجاد معادله ای است که برچسب های روی عکس های ورودی را با آن تصاویر مرتبط می کند. حتی اگر مدل قبلا هرگز تصویر را ندیده باشد، پس از آموزش، می تواند تشخیص دهد که آیا این تصویر مربوط به گربه است یا سگ.
یادگیری بدون نظارت
یادگیری بدون نظارت شامل آموزش یک مدل هوش مصنوعی فقط بر روی ورودی ها بدون برچسب زدن آنها است. مدل داده های ورودی را به گروه هایی با ویژگی های مرتبط تقسیم می کند.
سپس برچسب آتی ورودی بسته به اینکه چقدر ویژگی های آن با یکی از طبقه بندی ها مطابقت دارد، پیش بینی می شود. شرایطی را در نظر بگیرید که باید گروهی از توپ های قرمز و آبی را به دو دسته تقسیم کنیم.
بیایید فرض کنیم که سایر ویژگی های توپ ها به استثنای رنگ، یکسان هستند. بر اساس اینکه چگونه می تواند توپ ها را به دو کلاس تقسیم کند، مدل به دنبال ویژگی هایی است که بین توپ ها متفاوت است.
زمانی که توپ ها بر اساس رنگشان به دو گروه تقسیم می شوند، دو دسته از توپ ها – یکی آبی و دیگری قرمز – تولید می شوند.
یادگیری تقویتی
در یادگیری تقویتی، مدل هوش مصنوعی به دنبال به حداکثر رساندن سود کلی با عمل به همان خوبی که می تواند در یک شرایط خاص است. بازخورد نتایج قبلی به مدل کمک می کند تا یاد بگیرد.
به سناریویی فکر کنید که به یک ربات دستور داده می شود مسیری را بین نقاط A و B انتخاب کند. ربات ابتدا یکی از دوره ها را انتخاب می کند زیرا تجربه قبلی ندارد.
ربات ورودی مسیری را که طی می کند دریافت می کند و از آن دانش کسب می کند. ربات می تواند دفعه بعد که با شرایط مشابهی مواجه شد از ورودی برای رفع مشکل استفاده کند.
به عنوان مثال، اگر ربات گزینه B را انتخاب کند و پاداشی مانند بازخورد مثبت دریافت کند، این بار متوجه می شود که باید راه B را برای افزایش پاداش خود انتخاب کند.
حالا بالاخره چیزی که همه منتظرش هستید، الگوریتم ها هستند.
الگوریتم های اصلی یادگیری ماشین
1. رگرسیون خطی
ساده ترین رویکرد یادگیری ماشینی که از یادگیری نظارت شده منحرف می شود، رگرسیون خطی است. با دانش از متغیرهای مستقل، بیشتر برای حل مسائل رگرسیونی و ایجاد پیشبینی بر روی متغیرهای وابسته پیوسته استفاده میشود.
یافتن خط بهترین برازش، که می تواند به پیش بینی نتیجه برای متغیرهای وابسته پیوسته کمک کند، هدف رگرسیون خطی است. قیمت خانه، سن و دستمزد نمونه هایی از ارزش های مستمر هستند.
مدلی که به عنوان رگرسیون خطی ساده شناخته می شود از یک خط مستقیم برای محاسبه ارتباط بین یک متغیر مستقل و یک متغیر وابسته استفاده می کند. بیش از دو متغیر مستقل در رگرسیون خطی چندگانه وجود دارد.
یک مدل رگرسیون خطی دارای چهار فرض اساسی است:
- خطی بودن: یک ارتباط خطی بین X و میانگین Y وجود دارد.
- Homoscedasticity: برای هر مقدار X، واریانس باقیمانده یکسان است.
- استقلال: مشاهدات از نظر استقلال مستقل از یکدیگر هستند.
- نرمال بودن: وقتی X ثابت است، Y به طور معمول توزیع می شود.
رگرسیون خطی برای داده هایی که می توانند در امتداد خطوط از هم جدا شوند عملکرد قابل تحسینی دارد. میتواند با استفاده از تکنیکهای منظمسازی، اعتبارسنجی متقاطع و کاهش ابعاد، اضافهبرازش را کنترل کند. با این حال، مواردی وجود دارد که مهندسی ویژگی های گسترده مورد نیاز است، که گهگاه می تواند منجر به نصب بیش از حد و نویز شود.
2. رگرسیون لجستیک
رگرسیون لجستیک یکی دیگر از تکنیک های یادگیری ماشینی است که از یادگیری نظارت شده فاصله می گیرد. کاربرد اصلی آن طبقه بندی است، در حالی که می توان از آن برای مشکلات رگرسیون نیز استفاده کرد.
از رگرسیون لجستیک برای پیشبینی متغیر وابسته طبقهای با استفاده از اطلاعات عوامل مستقل استفاده میشود. هدف طبقه بندی خروجی ها است که فقط می توانند بین 0 و 1 قرار گیرند.
مجموع وزنی ورودی ها توسط تابع سیگموئید پردازش می شود، یک تابع فعال سازی که مقادیر بین 0 و 1 را تبدیل می کند.
اساس رگرسیون لجستیک تخمین حداکثر احتمال است، روشی برای محاسبه پارامترهای یک توزیع احتمال فرضی با توجه به داده های مشاهده شده خاص.
3. درخت تصمیم
یکی دیگر از روش های یادگیری ماشینی که از یادگیری نظارت شده جدا می شود، درخت تصمیم است. برای مسائل طبقه بندی و رگرسیون، می توان از رویکرد درخت تصمیم استفاده کرد.
این ابزار تصمیم گیری، که شبیه یک درخت است، از نمایش های بصری برای نشان دادن نتایج، هزینه ها و پیامدهای احتمالی اقدامات استفاده می کند. با تقسیم داده ها به بخش های جداگانه، این ایده مشابه ذهن انسان است.
تا جایی که بتوانیم آن ها را دانه بندی کنیم، داده ها به بخش های مجزا تقسیم شده اند. هدف اصلی درخت تصمیم، ساختن یک مدل آموزشی است که بتوان از آن برای پیشبینی کلاس متغیر هدف استفاده کرد. مقادیر از دست رفته را می توان به طور خودکار با استفاده از درخت تصمیم کنترل کرد.
هیچ الزامی برای رمزگذاری یکباره، متغیرهای ساختگی یا سایر مراحل پیش پردازش داده وجود ندارد. سفت و سخت است به این معنا که اضافه کردن داده های تازه به آن دشوار است. اگر دادههای برچسبدار اضافی دریافت کردید، باید درخت را در کل مجموعه داده دوباره آموزش دهید.
در نتیجه، درختهای تصمیم انتخاب ضعیفی برای هر برنامهای هستند که نیاز به تغییر مدل پویا دارند.
بر اساس نوع متغیر هدف، درخت های تصمیم به دو نوع طبقه بندی می شوند:
- متغیر طبقهبندی: درخت تصمیمگیری که در آن متغیر هدف، دستهبندی است.
- متغیر پیوسته: درخت تصمیم که در آن متغیر هدف پیوسته است.
4. جنگل تصادفی
روش جنگل تصادفی تکنیک بعدی یادگیری ماشین است و یک الگوریتم یادگیری ماشینی نظارت شده است که به طور گسترده در مسائل طبقه بندی و رگرسیون استفاده می شود. همچنین یک روش مبتنی بر درخت، شبیه به درخت تصمیم است.
جنگلی از درختان، یا بسیاری از درختان تصمیم، با روش جنگل تصادفی برای قضاوت استفاده می شود. هنگام مدیریت وظایف طبقهبندی، روش جنگل تصادفی از متغیرهای طبقهبندی استفاده میکرد در حالی که وظایف رگرسیون را با مجموعه دادههایی که حاوی متغیرهای پیوسته هستند، مدیریت میکرد.
یک مجموعه، یا اختلاط بسیاری از مدلها، کاری است که روش جنگل تصادفی انجام میدهد، به این معنی که پیشبینیها با استفاده از گروهی از مدلها به جای یک مدل انجام میشوند.
قابلیت استفاده برای مشکلات طبقهبندی و رگرسیون که اکثر سیستمهای یادگیری ماشین مدرن را تشکیل میدهند، یکی از مزایای کلیدی جنگل تصادفی است.
دو استراتژی مختلف توسط Ensemble استفاده می شود:
- Bagging: با انجام این کار، داده های بیشتری برای مجموعه داده آموزشی تولید می شود. برای کاهش تنوع در پیش بینی ها، این کار انجام می شود.
- Boosting فرآیند ترکیب زبان آموزان ضعیف با یادگیرندگان قوی با ساخت مدل های متوالی است که در نتیجه مدل نهایی با حداکثر دقت به دست می آید.
5. بیز ساده لوح
یک مسئله طبقه بندی باینری (دو کلاسه) و چند کلاسه را می توان با استفاده از تکنیک Naive Bayes حل کرد. هنگامی که روش با استفاده از مقادیر ورودی باینری یا دسته توضیح داده می شود، درک آن ساده ترین است. فرضی که توسط طبقهبندیکننده Naive Bayes ایجاد میشود این است که وجود یک ویژگی در یک کلاس هیچ ارتباطی با وجود هیچ ویژگی دیگری ندارد.
فرمول فوق نشان می دهد:
- P(H): احتمال درستی فرضیه H. احتمال قبلی به این صورت گفته می شود.
- P(E): احتمال شواهد
- P(E|H): احتمال تأیید فرضیه توسط شواهد.
- P(H|E): احتمال صحت فرضیه با توجه به شواهد.
یک طبقهبندیکننده ساده بیز هر یک از این ویژگیها را بهصورت جداگانه در هنگام تعیین احتمال یک نتیجه خاص، حتی اگر این ویژگیها به یکدیگر مرتبط باشند، در نظر میگیرد. یک مدل بیزی ساده برای ساختن ساده و برای مجموعه داده های بزرگ موثر است.
شناخته شده است که حتی از پیچیده ترین تکنیک های دسته بندی بهتر عمل می کند در حالی که پایه است. این مجموعه ای از الگوریتم ها است که همگی بر اساس قضیه بیز هستند نه یک روش واحد.
6. K-نزدیکترین همسایه ها
تکنیک K-nearest همسایه (kNN) زیرمجموعه ای از یادگیری ماشینی نظارت شده است که می تواند برای رسیدگی به مسائل طبقه بندی و رگرسیون استفاده شود. الگوریتم KNN فرض می کند که اشیاء قابل مقایسه را می توان در نزدیکی یافت.
من آن را به عنوان جمعی از افراد همفکر به یاد میآورم. kNN از ایده شباهت بین سایر نقاط داده با استفاده از نزدیکی، نزدیکی یا فاصله استفاده می کند. به منظور برچسب گذاری داده های دیده نشده بر اساس نزدیک ترین نقاط داده قابل مشاهده برچسب گذاری شده، از یک روش ریاضی برای تعیین جدایی بین نقاط روی یک نمودار استفاده می شود.
شما باید فاصله بین نقاط داده را تعیین کنید تا نزدیکترین نقاط قابل مقایسه را شناسایی کنید. برای این کار می توان از اندازه گیری های فاصله مانند فاصله اقلیدسی، فاصله هامینگ، فاصله منهتن و فاصله مینکوفسکی استفاده کرد. K به عنوان نزدیکترین عدد همسایه شناخته می شود و اغلب یک عدد فرد است.
KNN را می توان برای مشکلات طبقه بندی و رگرسیون به کار برد. پیشبینیهایی که هنگام استفاده از KNN برای مسائل رگرسیون انجام میشود، بر اساس میانگین یا میانه K-مشابهترین رخدادها است.
نتیجه یک الگوریتم طبقهبندی بر اساس KNN را میتوان به عنوان کلاسی با بالاترین فراوانی در بین K مشابهترین رخدادها تعیین کرد. هر نمونه اساساً به کلاس خود رای می دهد و پیش بینی متعلق به طبقه ای است که بیشترین رای را دریافت کرده است.
7. ک-معنی
این یک تکنیک برای یادگیری بدون نظارت است که به مسائل خوشه بندی می پردازد. مجموعه دادهها به تعداد معینی خوشه تقسیم میشوند - اجازه دهید آن را K کنیم - به گونهای که نقاط داده هر خوشه همگن و متمایز از نقاط دیگر خوشهها باشد.
روش شناسی خوشه بندی K-means:
- برای هر خوشه، الگوریتم K-means k مرکز یا نقطه را انتخاب می کند.
- با نزدیکترین مرکزها یا خوشه های K، هر نقطه داده یک خوشه را تشکیل می دهد.
- اکنون، بسته به اعضای خوشهای که قبلاً حضور دارند، مرکزهای جدید تولید میشوند.
- نزدیکترین فاصله برای هر نقطه داده با استفاده از این مرکزهای به روز شده محاسبه می شود. تا زمانی که مرکزها تغییر نکنند، این روند تکرار می شود.
درک آن سریعتر، قابل اعتمادتر و ساده تر است. اگر مشکلاتی وجود دارد، سازگاری k-means تنظیمات را ساده می کند. هنگامی که مجموعه داده ها متمایز یا به خوبی از یکدیگر جدا شده باشند، نتایج بهترین هستند. نمی تواند داده های نامنظم یا پرت را مدیریت کند.
8. ماشین های بردار پشتیبانی
هنگام استفاده از تکنیک SVM برای طبقه بندی داده ها، داده های خام به صورت نقطه در یک فضای n بعدی نشان داده می شوند (که در آن n تعداد ویژگی هایی است که شما دارید). سپس داده ها را می توان به راحتی طبقه بندی کرد زیرا مقدار هر ویژگی سپس به یک مختصات خاص متصل می شود.
برای جدا کردن داده ها و قرار دادن آنها در یک نمودار، از خطوطی به نام طبقه بندی کننده استفاده کنید. این رویکرد هر نقطه داده را به عنوان یک نقطه در یک فضای n بعدی رسم می کند، جایی که n تعداد ویژگی هایی است که شما دارید و مقدار هر ویژگی یک مقدار مختصات خاص است.
اکنون خطی را پیدا می کنیم که داده ها را به دو مجموعه داده تقسیم می کند که به طور متفاوتی طبقه بندی شده اند. فواصل از نزدیکترین نقاط در هر یک از دو گروه بیشترین فاصله را در طول این خط خواهد داشت.
از آنجایی که دو نزدیکترین نقطه آنهایی هستند که بیشترین فاصله را با خط در مثال بالا دارند، خطی که دادهها را به دو گروهی که دستهبندی متفاوتی داشتند تقسیم میکند خط میانی است. طبقه بندی کننده ما این خط است.
9. کاهش ابعاد
با استفاده از رویکرد کاهش ابعاد، داده های آموزشی ممکن است متغیرهای ورودی کمتری داشته باشند. به زبان ساده، به فرآیند کوچک شدن اندازه مجموعه ویژگی های شما اشاره دارد. بیایید تصور کنیم مجموعه داده شما 100 ستون دارد. کاهش ابعاد این مقدار را به 20 ستون کاهش می دهد.
این مدل به طور خودکار پیچیدهتر میشود و با افزایش تعداد ویژگیها، خطر بیش از حد برازش بیشتر میشود. بزرگترین مشکل کار با داده ها در ابعاد بزرگتر چیزی است که به عنوان "نفرین ابعاد" شناخته می شود، که زمانی رخ می دهد که داده های شما دارای تعداد زیادی ویژگی باشد.
برای کاهش ابعاد می توان از عناصر زیر استفاده کرد:
- برای یافتن و انتخاب ویژگی های مربوطه، از انتخاب ویژگی استفاده می شود.
- با استفاده از ویژگی های موجود، مهندسی ویژگی به صورت دستی ویژگی های جدید ایجاد می کند.
نتیجه
یادگیری ماشینی بدون نظارت یا تحت نظارت هر دو امکان پذیر است. اگر دادههای شما کمتر است و برای آموزش برچسبگذاری شدهاند، یادگیری تحت نظارت را انتخاب کنید.
مجموعه داده های بزرگ اغلب با استفاده از یادگیری بدون نظارت، نتایج بهتری را ارائه می دهند. یادگیری عمیق اگر مجموعه داده های قابل توجهی داشته باشید که به راحتی در دسترس باشد، بهترین روش ها هستند.
تقویت یادگیری و یادگیری تقویتی عمیق برخی از موضوعاتی است که شما مطالعه کرده اید. ویژگی ها، کاربردها و محدودیت های شبکه های عصبی اکنون برای شما روشن است. آخرین اما نه کماهمیت، شما گزینههایی را برای زبانهای برنامهنویسی، IDE و پلتفرمهای مختلف در نظر گرفتهاید که نوبت به ایجاد زبان برنامهنویسی خود میرسد. مدل های یادگیری ماشین.
کار بعدی که باید انجام دهید این است که شروع به مطالعه و استفاده از هر کدام کنید فراگیری ماشین رویکرد. حتی اگر موضوع گسترده باشد، اگر روی عمق آن تمرکز کنید، هر موضوعی در چند ساعت قابل درک است. هر موضوعی به تنهایی از بقیه جدا می شود.
شما باید هر بار به یک موضوع فکر کنید، آن را مطالعه کنید، آن را عملی کنید و از زبان دلخواه خود برای پیاده سازی الگوریتم(ها) در آن استفاده کنید.
پاسخ دهید