| یادگیری ماشین وداده‌کاوی |
| --- |
|  |
| موضوع‌ها
* طبقه‌بندی آماری
* خوشه‌بندی
* تحلیل رگرسیون
* روش تشخیص ناهنجاری
* یادگیری قانون وابستگی
* یادگیری تقویتی
* پیش بینی ساختاریافته
* مهندسی ویژگی
* یادگیری ویژگی
* یادگیری ماشین برخط
* یادگیری نیمه‌نظارتی
* یادگیری بی‌نظارت
* 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

 |
| * ن
* ب
* و
 |

کاهش نویز در یک تصویر
رمزگذاری پراکنده (Sparse Coding) یک روش یادگیری بازنمایی (representational learning) است که سعی بر یافتن نمایش پراکنده‎‌ای از داده‌های ورودی (همچنین شناخته‌ شده به عنوان رمزگذاری پراکنده یا Sparse Coding) به صورت ترکیب خطی‌ای از مولفه‌های تشکیل‌دهنده آن‌ها دارد. به این مولفه‌ها *اتم* گفته می‌شود و در کنار یکدیگر یک *لغت‌نامه (ِdictionary)* تشکیل می‌دهند. اتم‌های موجود در هر لغت‌نامه لزوما متعامد نیستند، و ممکن است یک مجموعه پوشای بیش از حد کامل (over-complete spanning set) باشند. شرایط این مسئله همچنین اجازه می‌دهد ابعاد سیگنال‌های نمایش‌داده‌شده از سیگنال‌های مشاهده‌شده بیشتر باشد. این دو ویژگی باعث وجود اتم‌های به‌ظاهر بدون استفاده می‌شوند ولی در عین حال، پراکندگی و انعطاف‌پذیری نمایش را بهبود می‌بخشند.

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

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

صورت‌بندی مسئله
---------------

با داشتن داده ورودی {\displaystyle X=[x\_{1},...x\_{K}],x\_{i}\in \mathbb {R} ^{d}} می‌خواهیم دیکشنری {\displaystyle \mathbf {D} \in \mathbb {R} ^{d\times n}:D=[d\_{1},...d\_{n}]} و نمایش{\displaystyle \mathbf {R} \in \mathbb {R} ^{n}:R=[r\_{1},...r\_{n}]} را طوری به دست آوریم که {\displaystyle \|X-\mathbf {D} R\|\_{F}^{2}} هم کمینه و هم تا حد ممکن پراکنده (sparse) باشد. این مسئله به صورت زیر بهینه‌سازی زیر فرمول‌بندی می‌شود: 

{\displaystyle {\underset {\mathbf {D} \in {\mathcal {C}},r\_{i}\in \mathbb {R} ^{n}}{\text{argmin}}}\sum \_{i=1}^{K}\|x\_{i}-\mathbf {D} r\_{i}\|\_{2}^{2}+\lambda \|r\_{i}\|\_{0}}، که در آن {\displaystyle {\mathcal {C}}\equiv \{\mathbf {D} \in \mathbb {R} ^{d\times n}:\|d\_{i}\|\_{2}\leq 1\,\,\forall i=1,...n\}}، {\displaystyle \lambda >0}

محدودیت {\displaystyle {\mathcal {C}}}، دیکشنری {\displaystyle \mathbf {D} } را طوری محدود می‌کند که اتم‌ها مقادیر بالایی به خود نگیرند و از مقادیر کم ولی غیرصفر {\displaystyle r\_{i}} جلوگیری شود. 

مسئله کمینه‌سازی بالا به دلیل ℓ0-"norm" یک مسئله محدب نیست و حل کردن آن NP-hard است. در بسیاری از مسائل، استفاده از LASSO باعث ایجاد پراکندگی می‌شود و مسئله بالا با ثابت نگه داشتن یکی از متغیرهای {\displaystyle \mathbf {D} } و {\displaystyle \mathbf {R} } به یک مسئله بهینه‌سازی محدب تبدیل می‌شود.

الگوریتم‌ها
-----------

با وجود اینکه مسئله بهینه‌سازی ذکر شده در بالا می‌تواند به عنوان یک مسئله محدب نسبت به لغت‌نامه یا رمزگذاری پراکنده با ثابت بودن یکی از این دو حل شود، اغلب الگوریتم‌ها بر پایه تصحیح مقدار یکی از مولفه‎‌ها و سپس دیگری به صورت تکرارشونده عمل می‌کنند.

مسئله یافتن رمزگذاری پراکنده بهینه R با فرض لغت‌نامه {\displaystyle \mathbf {D} } با عنوان تقریب پراکنده شناخته می‌شود. الگوریتم‌هایی مانند تطبیق تعقیب و لسو توسعه داده شده و در الگوریتم‌های توضیح داده شده در پایین‌، به کار گرفته می‌شوند.

### روش جهت‌های بهینه (MOD)

روش جهت‌های بهینه یا MOD یکی از اولین الگوریتم‌های ایجاد شده برای حل مسئله یادگیری لغت‌نامه پراکنده است. ایده اصلی این الگوریتم حل کردن مسئله کمینه‌سازی منوط به تعداد محدودی از مولفه‌های غیر صفر از نمایش بردار زیر است:

{\displaystyle \min \_{\mathbf {D} ,R}\{\|X-\mathbf {D} R\|\_{F}^{2}\}\,\,{\text{s.t.}}\,\,\forall i\,\,\|r\_{i}\|\_{0}\leq T}

که در آن، F نشان‌دهنده نرم فربنیوس است. 

MOD بین به دست آوردن رمزگذاری پراکنده به وسیله روشی مانند تطبیق تعقیب و تصحیح لغت‌نامه با استفاده از محاسبه حل تحلیلی مسئله که برابر {\displaystyle \mathbf {D} =XR^{+}} است که در آن {\displaystyle R^{+}} یک معکوس مور-پنروز است، نوسان می‌کند. پس از هر بار تصحیح، {\displaystyle \mathbf {D} } دوباره نرمال‌سازی شده تا با محدودیت مسئله سازگار شود و رمزگذاری پراکنده جدید به دست می‌آید. این فرایند تا همگرایی (یا تا زمانی که تغییرات در هر مرحله به اندازه کافی کوچک باشند) تکرار می‌شود.

MOD یک روش بسیار کارآمد برای داده ورودی با ابعاد کم است و تنها به چند تکرار برای همگرایی نیاز دارد. با این حال، به علت پیچیدگی محاسباتی بالای عملیات وارونگی ماتریس، محاسبه سود وارونه {\displaystyle R^{+}} در بسیاری از موارد از نظر محاسباتی دشوار است. این مشکل باعث توسعه‌ یافتن روش‌های دیگر یادگیری دیکشنری پراکنده شده است.

### K-SVD

K-SVD الگوریتمی است که در بطن خود از SVD برای تصحیح یک به یک اتم‌های موجود در یک دیکشنری استفاده می‌کند و اساسا تعمیمی از الگوریتم خوشه‌بندی کی-میانگین است.در این الگوریتم، هر مولفه داده ورودی x\_i را بر حسب ترکیب خطی از حداکثر {\displaystyle T\_{0}} مولفه به شیوه مشابه با MOD رمزگذاری می‌شود:

{\displaystyle \min \_{\mathbf {D} ,R}\{\|X-\mathbf {D} R\|\_{F}^{2}\}\,\,{\text{s.t.}}\,\,\forall i\,\,\|r\_{i}\|\_{0}\leq T\_{0}}

در این الگوریتم، ابتدا دیکشنری ثابت نگه داشته می‌شود و بهترین مقدار {\displaystyle R} متناظر با آن به دست می‌آید، سپس اتم‌های دیکشنری به به صورت زیر به شکل تکرار‌شونده تصحیح می‌شوند:

{\displaystyle \|X-\mathbf {D} R\|\_{F}^{2}=\left|X-\sum \_{i=1}^{K}d\_{i}x\_{T}^{i}\right|\_{F}^{2}=\|E\_{k}-d\_{k}x\_{T}^{k}\|\_{F}^{2}}

قدم بعدی الگوریتم شامل تقریب رنک 1 ماتریس باقی‌مانده (residual matrix) {\displaystyle E\_{k}}، تصحیح {\displaystyle d\_{k}} و اطمینان از پراکندگی {\displaystyle x\_{k}} پس از تصحیح است. این الگوریتم، الگوریتم استاندارد برای یادگیری دیکشنری پراکنده تلقی می‌شود و در بسیاری از کاربردها استفاده می‌شود. با این حال، این الگوریتم نیز همانند MOD تنها برای داده‌های کم‌بعد به خوبی کار می‌کند و همچنین احتمال گیر افتادن در کمینه موضعی نیز وجود دارد.

### نزول گرادیان تصادفی

ایده این الگوریتم، تصحیح دیکشنری به وسیله گرادیان تصادفی مرتبه اول و افکندن آن روی مجموعه محدودیت {\displaystyle {\mathcal {C}}} است. i-امین گام الگوریتم را می‌توان به صورت زیر نوشت:

{\displaystyle \mathbf {D} \_{i}={\text{proj}}\_{\mathcal {C}}\left\{\mathbf {D} \_{i-1}-\delta \_{i}\nabla \_{\mathbf {D} }\sum \_{i\in S}\|x\_{i}-\mathbf {D} r\_{i}\|\_{2}^{2}+\lambda \|r\_{i}\|\_{1}\right\}}، که در آن S زیرمجموعه تصادفی‌ای از {\displaystyle \{1...K\}} و {\displaystyle \delta \_{i}} گرادیان در این گام است.

### روش دوگانه لاگرانژ

این الگوریتم بر پایه یک مسئله لاگرانژ دوگانه طراحی شده است و روشی کارآمد برای حل این مسئله است. لاگرانژی زیر را در نظر بگیرید:

{\displaystyle {\mathcal {L}}(\mathbf {D} ,\Lambda )={\text{tr}}\left((X-\mathbf {D} R)^{T}(X-\mathbf {D} R)\right)+\sum \_{j=1}^{n}\lambda \_{j}\left({\sum \_{i=1}^{d}\mathbf {D} \_{ij}^{2}-c}\right)}، که در آن c یک محدودیت روی نرم اتم‌ها است و {\displaystyle \lambda \_{i}} متغیرهای دوگانه تشکیل‌دهنده ماتریس قطری {\displaystyle \Lambda } هستند.

می‌توانیم دوگانه لاگرانژ را به صورت تحلیلی زیر بنویسیم:

{\displaystyle {\mathcal {D}}(\Lambda )=\min \_{\mathbf {D} }{\mathcal {L}}(\mathbf {D} ,\Lambda )={\text{tr}}(X^{T}X-XR^{T}(RR^{T}+\Lambda )^{-1}(XR^{T})^{T}-c\Lambda )}

پس از اعمال روش بهینه‌سازی برای مقادیر دوگانه، مقدار {\displaystyle \mathbf {D} } به دست می‌آید:

{\displaystyle \mathbf {D} ^{T}=(RR^{T}+\Lambda )^{-1}(XR^{T})^{T}}

حل کردن این مسئله از لحاظ محاسباتی بسیار ساده‌تر است زیرا تعداد متغیرهای دوگانه از تعداد متغیرهای مسئله اولیه بسیار کمتر است.

### LASSO

در این روش، مسئله بهینه‌سازی به شکل زیر فرمول‌بندی می‌شود:

{\displaystyle \min \_{r\in \mathbb {R} ^{n}}\{\,\,\|r\|\_{1}\}\,\,{\text{subject to}}\,\,\|X-\mathbf {D} R\|\_{F}^{2}<\epsilon }، که در آن {\displaystyle \epsilon } خطای مجاز در LASSO بازسازی‌شده است.

با استفاده از این معادله، مقدار {\displaystyle r\_{i}} با استفاده از کمینه کردن خطای مربع کمینه با محدودیت L1-norrm در بردار حل به دست می‌آید:

{\displaystyle \min \_{r\in \mathbb {R} ^{n}}\,\,{\dfrac {1}{2}}\,\,\|X-\mathbf {D} r\|\_{F}^{2}+\lambda \,\,\|r\|\_{1}}

و با حل این معادله، حل بهینه به دست می‌آید.

کاربردها
--------

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

این چارچوب همچنین برای کاهش نویز سیگنال ورودی کاربرد دارد زیرا می‌توان دیکشنری‌ای را به دست آورد که قسمت‌های مهم سیگنال‌ ورودی را به صورت پراکنده نمایش دهد ولی نمایش نویز سیگنال ورودی از پراکندگی بسیار کمتری برخوردار باشد.

یادگیری دیکشنری پراکنده در بسیاری از زمینه‌های تحلیل صدا و سنتز متن و دسته‌بندی بدون نظارت استفاده شده است.

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

* تقریب پراکنده
* PCA پراکنده
* K-SVD
* Matrix factorization
* Neural sparse coding

منابع
-----

1. ↑  A. M. Tillmann, "On the Computational Intractability of Exact and Approximate Dictionary Learning", IEEE Signal Processing Letters 22(1), 2015: 45–49.
2. ↑  Donoho, David L. (2006-06-01). "For most large underdetermined systems of linear equations the minimal 𝓁1-norm solution is also the sparsest solution". *Communications on Pure and Applied Mathematics*. **59** (6): 797–829. doi:10.1002/cpa.20132. ISSN 1097-0312. S2CID 8510060.
3. ↑  Engan, K.; Aase, S.O.; Hakon Husoy, J. (1999-01-01). *Method of optimal directions for frame design*. *1999 IEEE International Conference on Acoustics, Speech, and Signal Processing, 1999. Proceedings*. Vol. 5. pp. 2443–2446 vol.5. doi:10.1109/ICASSP.1999.760624. ISBN 978-0-7803-5041-0. S2CID 33097614.
4. ↑  Aharon, Michal; Elad, Michael (2008). "Sparse and Redundant Modeling of Image Content Using an Image-Signature-Dictionary". *SIAM Journal on Imaging Sciences*. **1** (3): 228–247. CiteSeerX 10.1.1.298.6982. doi:10.1137/07070156x.
5. ↑  Pintér, János D. (2000-01-01). *Yair Censor and Stavros A. Zenios, Parallel Optimization — Theory, Algorithms, and Applications. Oxford University Press, New York/Oxford, 1997, xxviii+539 pages. (US $ 85.00)*. *Journal of Global Optimization*. Vol. 16. pp. 107–108. doi:10.1023/A:1008311628080. ISBN 978-0-19-510062-4. ISSN 0925-5001. S2CID 22475558.
6. ↑  Lee, Honglak, et al. "Efficient sparse coding algorithms." *Advances in neural information processing systems*. 2006.
7. ↑  Kumar, Abhay; Kataria, Saurabh. "Dictionary Learning Based Applications in Image Processing using Convex Optimisation" (PDF).
8. ↑  Aharon, M, M Elad, and A Bruckstein. 2006. "K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation." Signal Processing, IEEE Transactions on 54 (11): 4311-4322
9. ↑  Peyré, Gabriel (2008-11-06). "Sparse Modeling of Textures" (PDF). *Journal of Mathematical Imaging and Vision*. **34** (1): 17–31. doi:10.1007/s10851-008-0120-3. ISSN 0924-9907. S2CID 15994546.
10. ↑  Ramirez, Ignacio; Sprechmann, Pablo; Sapiro, Guillermo (2010-01-01). *Classification and clustering via dictionary learning with structured incoherence and shared features*. *2014 IEEE Conference on Computer Vision and Pattern Recognition*. Los Alamitos, CA, USA: IEEE Computer Society. pp. 3501–3508. doi:10.1109/CVPR.2010.5539964. ISBN 978-1-4244-6984-0. S2CID 206591234.