این راهنماها به پرسشهای رایج دربارهٔ تانسورها و تجزیههای تانسوری پاسخ کوتاه و دقیق میدهند: تانسور در یادگیری ماشین یعنی چه، 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 بروید: آنجا بعد از یک تبدیل در راستای مُد سوم، همهچیز به کار ماتریسی معمولی روی اسلایسهای روبهرو تبدیل میشود.
مهدی مولوی