| یادگیری ماشین وداده‌کاوی |
| --- |
|  |
| موضوع‌ها
* طبقه‌بندی آماری
* خوشه‌بندی
* تحلیل رگرسیون
* روش تشخیص ناهنجاری
* یادگیری قانون وابستگی
* یادگیری تقویتی
* پیش بینی ساختاریافته
* مهندسی ویژگی
* یادگیری ویژگی
* یادگیری ماشین برخط
* یادگیری نیمه‌نظارتی
* یادگیری بی‌نظارت
* Learning to rank
* Grammar induction

 |
| یادگیری با نظارت(**طبقه‌بندی آماری** •  **تحلیل رگرسیون**)
* یادگیری درخت تصمیم
* Ensembles (Bagging, بوستینگ، جنگل تصادفی)
* *k*-NN
* رگرسیون خطی
* دسته‌بندی کننده بیز ساده
* شبکه‌های عصبی مصنوعی
* رگرسیون لجستیک
* پرسپترون
* Relevance vector machine (RVM)
* ماشین بردار پشتیبانی

 |
| خوشه‌بندی
* کاهش و خوشه‌بندی ترازمند و بازکردی با بهره‌گیری از رده‌بندی
* خوشه‌بندی سلسله‌مراتبی
* خوشه‌بندی کی-میانگین
* الگوریتم امید ریاضی–بیشینه کردن
* DBSCAN
* OPTICS
* انتقال میانگین

 |
| کاهش ابعاد
* تحلیل عاملی
* CCA
* تحلیل مؤلفه‌های مستقل
* آنالیز افتراقی خطی
* فاکتورگیری نامنفی ماتریس
* تحلیل مؤلفه‌های اصلی
* t-SNE

 |
| پیش‌بینی ساختاریافته
* مدل‌های گرافیکی (شبکه‌های بیزی، میدان تصادفی شرطی، مدل پنهان مارکف)

 |
| روش تشخیص ناهنجاری
* الگوریتم کی-نزدیکترین همسایه
* فاکتور پرتی محلی

 |
| شبکه عصبی مصنوعی
* خودرمزگذار
* یادگیری عمیق
* پرسپترون چندلایه
* RNN
* ماشین بولتزمن محدود شده
* ترانسفورمر بینایی
* SOM
* شبکه عصبی پیچشی

 |
| یادگیری تقویتی
* کیو-یادگیری
* SARSA
* یادگیری تفاوت زمانی

 |
| نظریه
* Bias-variance dilemma
* نظریه یادگیری محاسباتی
* Empirical risk minimization
* Occam learning
* یادگیری احتمالا تقریبا صحیح
* Statistical learning
* VC theory

 |
| حوزه‌های یادگیری ماشین
* NIPS
* ICML
* ML
* JMLR
* ArXiv:cs.LG

 |
| * ن
* ب
* و
 |

در یادگیری ویژگی ابتدا ورودی به صورت داده اولیه یا مجموعه‌ای از ویژگی‌ها داده می‌شود، سپس در یک مدل یادگیری ویژگی، نمایش مناسبی از ویژگی ها ارائه می شود. در آخر می توان از نمایش ویژگی ها در یک کار با هدف خاصی استفاده کرد.

  

در یادگیری ماشین، **یادگیری** **ویژگی** یا **یادگیری** **ارائه**  مجموعه ای از روش هاست که به یک سیستم اجازه می‌دهد نمایش‌های مورد نیاز برای تشخیص یا طبقه‌بندی ویژگی‌ها را از داده‌های خام به طور خودکار کشف کند. این روش جایگزین مهندسی ویژگی های دستی می‌شود و به یک ماشین اجازه می‌دهد تا هم ویژگی‌ها را یاد بگیرد و هم برای انجام یک کار خاص از آن‌ها استفاده کند.

یادگیری ویژگی از این واقعیت نشات می‌گیرد که وظایف یادگیری ماشین مانند طبقه بندی اغلب به ورودی‌هایی نیاز دارند که از نظر ریاضی و محاسباتی برای پردازش مناسب هستند. در حالی که برای داده‌های دنیای واقعی مانند تصاویر، ویدئوها و داده‌های حسگرها (سنسورها) نمی‌توان ویژگی‌های مشخص را به صورت الگوریتمی تعیین کرد. حالت دیگر کشف این ویژگی‌ها یا ارائه‌ها از طریق بررسی، بدون استفاده از الگوریتم‌های صریح است.

یادگیری ویژگی می‌تواند با ناظر (تحت نظارت) یا بدون ناظر باشد.

* در یادگیری ویژگی تحت‌ نظارت ، ویژگی‌ها با استفاده از داده‌های ورودی دارای برچسب یاد می‌گیرند. به عنوان مثال می‌توان به شبکه های عصبی تحت نظارت، پرسپترون چند لایه و یادگیری فرهنگ لغت (تحت نظارت) اشاره کرد.
* در یادگیری ویژگی بدون ناظر ، ویژگی‌ها با داده‌های ورودی بدون برچسب یاد می‌گیرند. به عنوان مثال می‌توان به یادگیری فرهنگ لغت، تجزیه و تحلیل مولفه های مستقل، رمزگذارهای خودکار، فاکتوراسیون ماتریسی و اشکال مختلف خوشه بندی اشاره کرد.

با نظارت
--------

یادگیری ویژگی با نظارت ، یادگیری ویژگیهای داده‌های دارای برچسب است. برچسب داده به سیستم اجازه می‌دهد تا خطا را محاسبه کند و اگر سیستم قادر به تولید برچسب نبود، می‌تواند به عنوان بازخورد برای اصلاح روند یادگیری (کاهش / به حداقل رساندن خطا) استفاده شود. 

### یادگیری فرهنگ لغت با نظارت

یادگیری فرهنگ لغت مجموعه‌ای (واژه نامه) از عناصر نماینده را از داده‌های ورودی ایجاد می‌کند، به طوری که هر نقطه داده می‌تواند به عنوان یک جمع وزنی از عناصر نماینده نشان داده شود. عناصر فرهنگ لغت و وزن ها را می توان با به حداقل رساندن میانگین خطای نمایش (بیش از داده های ورودی) ، همراه با تنظیم {\displaystyle L\_{1}} روی وزن ها برای ایجاد پراکندگی (به عنوان مثال، نمایش هر نقطه داده فقط چند وزن غیر صفر دارد).

یادگیری دیکشنری تحت نظارت هم از ساختار زمینه داده های ورودی و هم از برچسب ها برای بهینه سازی عناصر فرهنگ استفاده می کند. به عنوان مثال ، یک روش یادگیری فرهنگ لغت تحت نظارت با بهینه سازی مشترک عناصر فرهنگ لغت ، وزن برای نمایش نقاط داده و پارامترهای طبقه بندی بر اساس داده های ورودی ، یادگیری فرهنگ لغت را بر روی مشکلات طبقه بندی اعمال کرد. به طور خاص ، یک مسئله به صورت مسئله کمینه‌سازی فرموله می‌شود ، جایی که تابع هدف شامل خطای طبقه‌بندی، خطای نمایش، تنظیم *L1* در وزن‌های نمایانگر برای هر نقطه داده (برای فعال کردن نمایش پراکنده داده‌ها) و تنظیم *L2* در پارامترها از طبقه بندی کننده است.

### شبکه های عصبی

شبکه های عصبی خانواده ای از الگوریتم‌های یادگیری هستند که از "شبکه" متشکل از چندین لایه گره (نود) بهم متصل استفاده می‌کنند. این ایده از سیستم عصبی حیوانات الهام گرفته شده است ، جایی که گره ها به عنوان نورون و لبه ها به عنوان سیناپس مشاهده می شوند. هر لبه دارای یک وزن مرتبط است و شبکه قوانین محاسباتی را برای عبور داده های ورودی از لایه ورودی شبکه به لایه خروجی تعریف می کند. یک عملکرد شبکه مرتبط با یک شبکه عصبی رابطه بین لایه های ورودی و خروجی را مشخص می کند ، که با وزن پارامتر می شود. با عملکردهای شبکه ای که به طور مناسب تعریف شده‌اند ، می توان با به حداقل رساندن تابع هزینه نسبت به عملکرد شبکه (وزن ها) ، کارهای مختلف یادگیری را انجام داد.

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

بدون ناظر
---------

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

### خوشه‌بندی K-means

خوشه بندی *K* رویکردی برای کمی سازی بردار است. به طور خاص ، در این حالت مجموعه ای از *n* بردار داده می‌شود و *k به* معنای خوشه بندی بردارها به k خوشه (یعنی زیرمجموعه ها) است به گونه ای که هر بردار به خوشه‌ای با نزدیکترین میانگین تعلق دارد. این مسئله از نظر محاسباتی NP سخت است ، هرچند الگوریتم های حریصانه غیربهینه‌ای به وجودآمده‌اند.

خوشه بندی K-means می تواند برای گروه بندی مجموعه ای از ورودی های غیر برچسب در *k* خوشه استفاده شود و سپس از centroids این خوشه ها برای تولید ویژگی ها استفاده شود. این ویژگی ها از چند طریق قابل تولید است. ساده ترین کار این است که *k* ویژگی باینری به هر نمونه اضافه شود ، در صورتی که هر ویژگی *j* دارای یک ارزش است اگر و تنها اگر که *j* هفتمین مرکز آموخته شده توسط *k-* یعنی نزدیکترین نمونه به نمونه مورد بررسی است. همچنین می توان از فاصله تا خوشه ها به‌عنوان ویژگی استفاده کرد ، شاید پس از تبدیل آنها از طریق یک تابع پایه شعاعی (تکنیکی که برای آموزش شبکه های RBF استفاده شده است). Coates و Ng توجه دارند که انواع خاصی از *k به* معنای مشابه الگوریتم های کدگذاری پراکنده هستند. 

  

در یک ارزیابی تطبیقی روش های یادگیری ویژگی بدون نظارت، کوتس، لی و ان جی دریافتند که خوشه‌بندی *k* -means با یک تبدیل مناسب در طبقه بندی تصویر بهتر از RBMs و خود رمز گذارها (اتوانکودرها) که به‌تازگی اختراع شده‌اند عمل می‌کنند. *K-means* همچنین عملکرد را در حوزه NLP بهبود می بخشد ، به ویژه برای شناسایی موجودیت. همچنین با خوشه بندی قهوه ای ، و با نمایش کلمات توزیع شده (که به عنوان تعبیه کلمات شناخته می شود) رقابت می کند.

یادگیری خود‌نظارتی
------------------

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

### پردازش متن

مدل های زبانی زیادی تا به حال برای یادگیری نمایش کلمات پیشنهاد شده اند که از روش یادگیری خود‌نظارتی استفاده می کنند. به طور مثال Word2vec یک مدل زبانی است که سعی می کند برای هر کلمه، با توجه به کلماتی که کنارش در بازه‌ای مشخص ظاهر می شوند، یک بردار نمایش با ابعاد کم پیدا کند. دو مدل CBOW و skip grams برای این کار استفاده می شوند. در مدل CBOW سعی می شود کلمه مرکزی جاافتاده با توجه به کلمات اطرافش پیش بینی شود. مدل skip grams حالت برعکس قبلی را دارد و سعی می کند کلمات اطراف کلمه مرکزی داده شده را پیش بینی کند. در هر دو روش می توان از یادگیری خود‌نظارتی استفاده کرد و کلمات واقعی را در ابتدا به عنوان برچسب درست به کار برد تا در گام های بعدی کلمات با دقت بالایی پیش بینی شوند. البته محدودیت این روش ها این است که تنها بر اساس پیشامد همزمان کلمات کنارهم آموزش می بینند و مفاهیم کلیدی در کل متن را نمی توانند یاد بگیرند. برای حل این مشکل روش های جدیدی بر اساس توجه مثل ترنسفورمرها و برت پیشنهاد شده اند و عملکرد بسیار خوبی در ماشین های ترجمه داشته اند.

### پردازش تصویر

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

جستار‌های وابسته
----------------

* یادگیری ماشین خودکاره
* شبکه عصبی مصنوعی
* یادگیری ژرف
* دگرنمایی واژه
* استخراج ویژگی

منابع
-----

1. ↑  Y. Bengio; A. Courville; P. Vincent (2013). "Representation Learning: A Review and New Perspectives". IEEE Transactions on Pattern Analysis and Machine Intelligence. 35 (8): 1798–1828. arXiv:1206.5538. doi:10.1109/tpami.2013.50. PMID 23787338. S2CID 393948
2. ↑  Mikolov, Tomas; Chen, Kai; Corrado, Greg; Dean, Jeffrey (2013-09-06). "Efficient Estimation of Word Representations in Vector Space". arXiv:1301.3781 [cs.CL].
3. ↑  Devlin, Jacob; Chang, Ming-Wei; Lee, Kenton; Toutanova, Kristina (June 2019). "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding". *Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers)*. Minneapolis, Minnesota: Association for Computational Linguistics: 4171–4186. doi:10.18653/v1/N19-1423. S2CID 52967399.