تجزیه‌های تانسوری: راهنماهای کوتاه

این راهنماها به پرسش‌های رایج دربارهٔ تانسورها و تجزیه‌های تانسوری پاسخ کوتاه و دقیق می‌دهند: تانسور در یادگیری ماشین یعنی چه،‏ t-SVD و ضرب t چطور کار می‌کنند،‏ tc-SVD چه چیزی را عوض می‌کند و CP،‏ تاکر و t-SVD چه فرقی با هم دارند. پشتوانهٔ همهٔ آن‌ها پایان‌نامهٔ کارشناسی ارشد مهدی مولوی با عنوان «یادگیری کلان‌داده با نمایش تانسوری» در دانشگاه تربیت مدرس است.

راهنماها

  • تانسور چیست؟ مرتبه و مُد،‏ فیبر و اسلایس،‏ ماتریسی‌سازی،‏ ضرب مُد n و این‌که چرا صاف کردن داده در یک بردار،‏ اطلاعات را دور می‌ریزد.
  • t-SVD چیست؟ ضرب t که کیلمر و مارتین (۲۰۱۱) معرفی کردند،‏ تجزیهٔ A = U ∗ S ∗ VT،‏ نقش FFT در ارزان شدن محاسبه و تضمینی که برش می‌دهد.
  • tc-SVD چیست؟ روشی که در پایان‌نامه‌ام ساختم: مرز آینه‌ای به‌جای مرز تناوبی،‏ DCT به‌جای FFT،‏ محاسبه فقط با اعداد حقیقی و نتیجه‌هایی که به دست آمد.
  • CP،‏ تاکر و t-SVD هرکدام چه می‌دهد،‏ چه هزینه‌ای دارد و کِی سراغش برویم؛‏ همراه با یک جدول مقایسه.

این راهنماها از کجا آمده‌اند

دورهٔ کارشناسی ارشد من در رشتهٔ علوم کامپیوتر دانشگاه تربیت مدرس (۲۰۱۶ تا ۲۰۱۹)،‏ به راهنمایی دکتر منصور رزقی،‏ از یک سؤال شروع شد: چطور می‌شود از داده‌های حجیم یاد گرفت،‏ بدون این‌که اول صافشان کنیم؟ این صفحه‌ها جواب‌ها را به شکل تعریف‌هایی درآورده‌اند که بشود سریع خواند و سنجید.

نسخهٔ مفصل‌تر،‏ با شکل و آزمایش و کد،‏ مجموعهٔ «یادداشت‌های تانسوری» است. از قسمت اول شروع کنید؛‏ بقیهٔ قسمت‌ها در بخش یادداشت‌ها فهرست شده‌اند.

کد

پیاده‌سازی MATLAB برای tc-SVD،‏ نسخهٔ t-SVD مبتنی بر FFT و روش‌های طبقه‌بندی،‏ خوشه‌بندی و به‌روزرسانی افزایشی پایان‌نامه به‌صورت متن‌باز در github.com/mahdipc/tcSVD و با مجوز MIT منتشر شده است. یک نسخهٔ کوتاه و آزموده‌شده از ضرب t و t-SVD با NumPy هم در راهنمای t-SVD آمده است.

از کجا شروع کنیم؟

اگر با تانسور تازه آشنا شده‌اید،‏ راهنماها را به همان ترتیب فهرست بخوانید. اگر SVD ماتریسی را خوب می‌شناسید،‏ مستقیم سراغ راهنمای t-SVD بروید: آن‌جا بعد از یک تبدیل در راستای مُد سوم،‏ همه‌چیز به کار ماتریسی معمولی روی اسلایس‌های روبه‌رو تبدیل می‌شود.

بازگشت به صفحهٔ اصلی