جبرخطی در یادگیری ماشین
بهنام خدا، سلام… با یکی از پیشنیازهای مهم یادگیری ماشین و یادگیری عمیق در خدمت شما هستم. در این پست میخواهم در مورد جبرخطی صحبت کنم. این پست طولانی هست و کم کم بروزرسانی میشود. به شما اطمینان میدهم که این محتوا ارزش وقت گذاشتن را دارد. با هوسم همراه باشید…
نترسید! جبر خطی ترسناک نیست!
جبر خطی اسمش کمی ترسناک است. ولی واقعیت این هست که شما با جبر خطی در دبیرستان آشنا شدید. در دوره دبیرستان کتابی تحت عنوان هندسه تحلیلی و جبر خطی داشتیم. الان اسمش هندسه سه شده است (البته کمی هم آب رفته!). همان کتابها را هم بگیرید و یک دور بخوانید، برای شروع کافی هست. در سایت آموزش و پرورش، نسخه رایگان و الکترونیک این کتابها موجود هست. خب بریم رسما درس جبرخطی را با آرایه ها شروع کنیم…
آرایه چیست؟
ابتدا بیایید یک تعریف ساده از آرایه ببینیم:
مجموعهای از دادههای عددی با نظم و ترتیب در کنار هم!
حتما تا الان آرایه دیدهاید. مثلا ممکن است اسکالر، بردار و ماتریس را در ریاضیات یا برنامهنویسی دیده باشید. دراین بخش میخواهم این موجودات را ساده و مختصر توضیح دهم. همچنین موجود جدیدی بهنام تنسور را به شما معرفی میکنم.
اسکالر در جبر خطی
اسکالر در جبر خطی معادل با یک عدد تنهاست. همان اعدادی که روزمره با آنها سروکار داریم. همان پولی که میدهیم یک چیزی میخریم و باقیمانده را به ما برمیگردانند. همه اعداد روزمره مانند 3√، 5، 1/6، π و خیلی موارد دیگر…
ما معمولاً اسکالر را با یک حرف انگلیسی lowercase نشان میدهیم.
چرا؟ این نمایش چه اهمیتی دارد؟ برای اینکه بتوانیم به راحتی اسکالر را از بردار و ماتریس در یک فرمول متمایز کنیم. این تمایز باعث میشود، راحتتر با فرمولها ارتباط برقرار کنیم. البته، این نمایش قراردادی است و ممکن هست در منبع دیگری نمایش متفاوتی برای اسکالر، بردار یا ماتریس ببینید. به همین خاطر، در کتابهایی که ریاضیات زیادی دارند، معمولا چند صفحه (از ابتدا یا انتهای کتاب) مربوط به معرفی نمادها و علائم ریاضی به کاررفته در کتاب هست.
در جبرخطی، نمایشی داریم که شاید دیده باشید:
در رابطه بالا، ∋ به معنی “متعلق به” یا belongs to هست. عبارت بالا را به اینصورت میخوانند:
یعنی x در فضای R تعریف شده است. R یعنی فضای حقیقی یا Real.
تمام شد! این اسکالر بود.
بردار در جبر خطی
تعریف بردار این هست:
مجموعهای از اعداد زیر هم یا کنار همدیگر
بردار لیستی از اعداد اسکالر است. در رابطه زیر، شما برداری میبینید که سه عدد اسکالر دارد که زیر هم قرار گرفتهاند.
میتوانیم بگوییم: بردار تعمیمیافته اسکالر است. در واقع داداش بزرگه اسکالر است. از چند اسکالر که زیرهم، یک بردار ساخته میشود. بردار را به صورت lowercase و بولد (x) نمایش میدهیم.
در جبرخطی بردار را بهصورت هم نمایش میدهیم. یعنی x متغیری است که در فضای Rn تعریف شده است. یعنی در فضای n-بُعدی R تعریف شده است. n طول بردار x را نشان میدهد. به جای n هر عددی میتواند باشد.
مثال یعنی چه؟ یعنی p برداری به طول 5 شامل اعداد طبیعی است.
بردارها در دو شکل سطری یا ستونی نمایش داده میشوند. در بالا شما بردار ستونی را مشاهده کردید. بردار سطری هم به صورت زیر نمایش داده میشود:
ممکن هست بگویید: “چه فرقی دارد؟ خب، یکی از اینها را برداریم و استفاده کنیم دیگر!” وقتی به عملیات ریاضی (مثلا ضرب) روی آرایهها میرسیم، خواهید که به هردو نوع بردار سطری و ستونی نیاز داریم.
توجه بهصورت پیشفرض، ما بردارها را ستونی درنظر میگیریم. در اکثر کتابها هم چنین قراردادی مطرح هست، مگر آنکه ذکر شود که منظور بردار سطری هست.
حالا باید درمورد اندیسها در بردار صحبت کنیم؛ شما اگر به دو بردار سطری و ستونی تعریف شده در بالا نگاه کنید، مشاهده میکنید که اعداد موجود در این بردارها نظم و ترتیب مشخصی دارند. یعنی، از چپ به راست یا از بالا به پایین این اعداد افزایش مییابند. این اعداد 0 1 2 و غیره همان اندیس درایههای یک بردار هستند. این اندیس معادل با پلاک یا کدپستی خانهها هستند. پس از طریق این اندیسها میتوانیم به یک درایه دسترسی داشته باشیم. مثلا، وقتی میخواهیم به درایه سوم یک بردار اشاره کنیم، مینویسیم: x[3] یا x3
توجه ما در اینجا شماره اندیسها را از 1 نشان دادهایم. اما شروع اندیس از صفر هم رایج هست. خصوصا در کدنویسی پایتون و کتابخانه نامپای که اندیسها از صفر شروع میشود.
بسیارخب، تا اینجای آموزش جبر خطی در یادگیری ماشین از اسکالر و بردار گفتم. حالا میخواهم آرایه دوبعدی یا ماتریس را شروع کنم.
ماتریس در جیر خطی
تعریف ماتریس این است:
مجموعهای از اعداد با آرایش دو بعدی در راستای سطر و ستون
اگر خاطرتان باشد، بردار تعمیمیافته اسکالر بود. حالا میتوان گفت که ماتریس هم تعمیمیافته بردار است. یعنی، اگر تعداد بردار سطری/ستونی را کنار/زیر هم بچینیم، یک ماتریس ساخته میشود. به ماتریس زیر نگاه کنید:
در ماتریس بالا 6 عدد میبینیم که در قالب دو سطر و سه ستون، یک ماتریس را تشکیل دادهاند. به دو شکل میتوانیم این ماتریس را بر پایه بردارها توصیف کنیم:
- ماتریسی که از زیر هم قرار گرفتن دو بردار سطری به طول سه تشکیل شده است.
- ماتریسی که از زیر هم قرار گرفتن سه بردار ستونی به طول دو تشکیل شده است.
هرچند توضیحات و نگاههای بالا بدیهی و ساده هست، اما ارزشمند است. چون بعدا در همین جبر خطی بدردتان میخورد.
ماتریس را با حروف بزرگ بدون ایتالیک و بولد نشان میدهیم: X Y Z و غیره. همچنین، ماتریس را بهصورت تعریف میکنیم. در این نمایش، n معادل با تعداد سطرها و m برابر با تعداد ستونهاست. یادتان باشد، در ماتریسها همیشه اول بعد سطر و سپس بعد ستون نوشته میشود. برای مثال، ماتریس بالا بهصورت نوشته میشود.
برویم سراغ اندیسدهی؛ چطور میتوانم به یک المان خاص در ماتریس اشاره کنم؟ اگر اندیسدهی در بردار را یاد گرفته باشید، اینجا هم کارتان ساده هست. اصلا خودتان احتمالا حدس زدهاید که چگونه باید اندیس بدهیم. ما اینجا با یک آرایه دوبعدی سروکار داریم. پس باید برای هر بُعد یک آدرس جداگانه بدهیم. اول باید آدرس بُعدِ سطر و سپس بُعدِ ستون را مشخص کنیم. مشابه با بردارها، اندیسها از صفر شروع میشود. سطرها از بالا به پایین اندیسهای 0 1 2 و غیره دریافت میکنند. ستونها هم از سمت چپ به راست، اندیس 0 1 2 و غیره میگیرند. در شکل زیر، نحوه شمارهگذاری سطر و ستونها را مشاهده میکنید:
حالا اگر بخواهم به عدد 1- اشاره کنیم، چه باید بنویسم؟ آفرین! X[1, 2] یا X1,2
میتوانیم درمورد آرایههای با ابعاد بالاتر هم صحبت کنیم. مثلا، آرایه سهبعدی، چهاربعدی و غیره. اما فعلا تا همین جا کافی است. بهتر هست، برویم و با سایر مباحث جبرخطی هم آشنا شویم.
بردار یا Vector در جبر خطی زیر ذرهبین
اگرچه، ما در بخش قبلی درمورد بردار صحبت کردیم، اما لازم هست نگاه عمیقتری به موجود بردار یا Vector داشته باشیم. پایه و اساس جبر خطی، بردار است. در ادامه، بیشتر از بردار خواهم گفت. خوب بخوانید و یادداشت بردارید.
رسم بردار
در ریاضیات راهنمایی و دبیرستان و همچنین فیزیک دبیرستان، بسیار زیاد از بردار صحبت شده است. اغلب، بردارهای دوبعدی داشتیم که میتوانستیم آنها را در دستگاه مختصات دوبعدی رسم کنیم.
مثلا، برای رسم بردار بنفش با مقادیر [3 ,1]، ابتدا 1 واحد به سمت راست و سپس 3 واحد به سمت بالا حرکت میکنیم. همچنین، برای بردار آبی به مختصات [2 ,1-]، 1 واحد به سمت چپ و سپس 2 واحد به سمت بالا حرکت میکنیم. شما هم بردارهای قرمز و سبز را تحلیل کنید.
شاخصههای بردار
بردارهای متنوعی در شکل بالا رسم شده است. این بردارها دو فاکتور یا شاخصه دارند. میدانید این دو شاخصه چیست؟ شاخصههایی که بردارها را از هم متمایز میکند:
- جهت بردار (Direction)
- طول بردار (Length)
در واقع، با این دو شاخصه میتوانیم به یک نفر بگوییم از همان جایی که هستی در جهت یا زاویه 45 درجه دو گام بردار. ممکن هست بگویید، چرا نقطه شروع و پایان جز شاخصهها نیست؟ خب، جوابش این هست که چندان برای ما مهم نیستند. معمولا، ابتدای بردارها را روی مبدا دستگاه مختصات تعریف میکنیم. انتهای بردار هم که کاملا وابسته به طول و جهت بردار هست. پس نمیتوان این دو را جز شاخصههای بردار درنظر گرفت. یادتان باشد، معیار قضاوت ما درمورد مشابه بودن/نبودن بردارها همین دو شاخصه طول و جهت بردار است. مثلا در شکل زیر، ما یکسری بردار مشابه داریم! چرا؟ چون جهت و طول این بردارها یکسان هست. فارغ از اینکه ابتدا و انتهای بردارها متفاوت هست.
عملیات ریاضی روی بردار
بازهم اگر از دوران مدرسه یادتان باشد، ما روی این بردارها عملیات ریاضی انجام میدادیم؛ مثلا، دو بردار را باهم جمع میکردیم، از هم کم میکردیم یا یک بردار را در عددی اسکالر ضرب میکردیم.
به صورت خلاصه، برای عملیات ریاضی روی بردار از اصول زیر پیروی میکنیم:
- جمع بردارها: ابتدا، بردارها را پشت هم رسم میکنیم. سپس، از ابتدای اولین بردار به انتهای آخرین بردار یک بردار جدید رسم میکنیم. بهصورت فرمولی هم المانهای دو بردار را نظیر به نظیر باهم جمع میکنیم. درایههای اول با هم و درایههای دوم هم باهم… هرجایی برایتان ابهام ایجاد شد، سعی کنید مساله را ساده کنید. مثلا، فکر کنید درحال بازی شطرنج هستید؛ اسب را سه خانه به بالا و یک خانه به راست میبرید. سپس، سه خانه به چپ و یک خانه به پایین میبرید. نهایتا، اسب شما از ابتدا تا پایان دومین حرکتش چقدر جابجا شده؟
- مقیاس بردارها (Scale): مقیاس کردن به این معنی است که عددی اسکالر را در یک بردار ضرب کنیم. بسته به مقدار و علامت عدد اسکالر، بردار ما تغییر میکند. مثلا طبق شکل زیر، اگر عددی بزرگتر از 1 در بردار ضرب شود، طول بردار افزایش مییابد. اگر عددی بین 0 تا 1 در بردار ضرب شود، طول بردار کاهش مییابد. اگر عددی منفی در بردار ضرب شود، جهت بردار 180 درجه تغییر میکند.
- تفریق بردارها: طبیعتا جمع و تفریق مشابه هم هستند. به راحتی میتوانیم با تغییر کوچکی، تفریق بردارها را تبدیل به جمع بردارها کنیم. چگونه؟ علامت تفریق را روی بردار دوم اعمال کنیم و بین دو بردار علامت جمع بگذاریم! همین و بس! میتوانید شکل بردار رابطه زیر را رسم کنید؟
پس در این قسمت یاد گرفتید که چگونه دو عملیات اصلی جمع و مقیاس روی بردارها انجام میشود. خوب یاد بگیرید که خیلی به اینها در جبرخطی برای یادگیری ماشین نیاز داریم.
ابعاد در بردارها
تا اینجا هرچه درمورد بردارها گفتیم، صرفا در دو بعد بود! دلیلش هم این بود که میخواستیم آنچه در مدرسه خواندهاید را مرور کنیم. اما، در همان دوران مدرسه، بردارهای سهبعدی هم دیدیم! بردارهایی که سه المان دارند و میتوان آنها در فضای سهبعدی رسم کرد. خب، ممکن هست درک تصویر زیر کمی مشکل باشد. بالاخره، نمایش و درک سه بعد در یک صفحه دوبعدی سخت هست.
اما، مساله اینجاست که در دنیای جبرخطی و البته یادگیری ماشین، خیلی اوقات بردارهای با ابعاد بالاتر از سه بعد داریم. مثلا، بردار 128 بُعدی در word2vec (پردازش زبان طبیعی)! 😯 یا بردار 512 بعدی در خروجی شبکه ReNet-18 (بینایی کامپیوتر)! 😲 یا بردار 8192 بعدی در LLM! 🤯
اگرچه، ابعاد بردارها تغییر میکند، اما اصول بردارها (که در بالا گفتیم) هیچ تغییری نمیکند. یعنی، جمع دو بردار 128 بعدی، به همان صورت است که دو بردار دوبعدی باهم جمع میشوند. مفهوم جمع و مقیاس در بردارها با هر ابعادی هیچ فرقی ندارد. تنها تفاوت بردارهای با ابعاد مختلف این هست که بردارهای بیش از سه بعد را نمیتوان نمایش داد. ما تنها بردارهای یک، دو و سه بعدی را میتوانیم رسم کنیم. بیش از سه بعد را در این دنیا نمیتوانیم. حالا شاید در دنیاهای دیگر بتوانیم!
بردار پایه یا Basis Vector
یک بردار به مختصات (2- ,3) را درنظر بگیرید؛ طبیعتا، خیلی راحت میتوانید این بردار را در ذهنتان یا روی کاغذ رسم کنید. من میخواهم به شکل متفاوتی این بردار را رسم کنم. میدانیم که این بردار شامل دو عدد اسکالر 3 و 2- هست. در شکل زیر دو بردار جداگانه برای 3 و 2- رسم کردهام. این دو بردار به نقطهای اشاره میکنند که همان نقطه نهایی (2- ,3) هست.
در دستگاه مختصات xy، دو بردار خاص وجود دارد. بردارهایی به طول واحد (1) با نام بردار پایه یا Basis Vector شناخته میشوند. این دو بردار پایه بهصورت زیر هستند:
- بردار i، به طول واحد، روی محور x-ها، در جهت مثبت
- بردار j، به طول واحد، روی محور y-ها، درجهت مثبت
حالا، بیایید همان بردار (2- ,3) را با بردارهای پایه نمایش دهیم. بردار یکه i در جهت محور x به اندازه 3 واحد کشیده میشود. بردار یکه j در خلاف جهت محور y به اندازه 2 واحد کشیده میشود. بردار یکه j ذاتا در جهت مثبت محور y بود، چرا جهتش عوض شد؟ به خاطر منفی در 2- این اتفاق افتاد. بنابراین، طبق شکل زیر میتوانیم بردار (2- ,3) را بهصورت 3i-2j نمایش دهیم.
ممکن هست بگویید، چگونه این دو بردار جمع شوند، همان بردار اصلی یعنی (2- ,3) ساخته میشود؟ ساده هست! مگر در بخشهای قبلی درباره جمع دو بردار صحبت نکردیم؟ برای جمع دو بردار چه میکردیم؟ در تصویر زیر، جمع دو بردار 3i و 2j- را نشان دادهام.
میتوانیم نمایش بالا را بهصورت زیر بنویسیم. در واقع ما توانستهایم یک نمایش جدید برحسب بردار پایه برای یک بردار بسازیم.
ترکیب خطی بردارها (Linear Combinations)
به جمع دو بردار مقیاس یافته، ترکیب خطی دو بردار گفته میشود. شکل زیر، دو بردار v و w را نشان میدهد که به ترتیب با مقادیر اسکالر a و b مقیاس یافتهاند و سپس باهم جمع شدهاند.
هرچند، ترکیب خطی بردارها مفهوم سادهای هست، اما بیایید چند سوال و جواب را باهم مرور کنیم:
- چرا میگوییم ترکیب؟ چون دو یا چند بردار باهم جمع میشوند.
- چرا میگوییم خطی؟ چون موجود یا عملیات غیرخطی وجود ندارد. فقط ضرب اسکالر و جمع ساده داریم.
حالا بیایید حالات مختلف ترکیب خطی بردارها را بررسی کنیم؛ بهصورت کلی، خروجی ترکیب خطی بردارها ممکن هست سه حالت داشته باشد:
- حالت اول: با ترکیب دو بردار با ضرایب a و b مختلف، میتوانیم به تمامی نقاط در دستگاه مختصات دسترسی داشته باشیم. انیمیشن زیر بهخوبی این حالت را نشان میدهد. ببینید، چگونه با دو بردار ثابت v و w، صرفا با تغییر مقادیر ضریب a و b، بردارهای مختلفی بهدست میآید. این بردارها به تمامی نقاط دستگاه مختصات دوبعدی دسترسی دارند.
- حالت دوم: ترکیب دو بردار همراستای v و w با هر ضریبی از a و b، برداری در راستای v و w است. انیمیشن زیر نشان میدهد که چگونه av+bw دقیقا روی همان خط همراستا با دو بردار v و w قرار دارد. پس درچنین حالتی، av+bw قادر به پریدن و بیرون رفتن از آن خط نیست و تماما قلمروی آن روی یک خط تعریف میشود.
- حالت سوم: ترکیب دو بردار برابر با صفر باشد. در چنین حالتی، av+bw تنها مرکز دستگاه مختصات (Origin) را نشان میدهد.
پوشش یا Span
پوشش یا Span مفهومی مرتبط با ترکیب خطی بردارهاست که در بالا گفتیم. به مجموعه بردارهای ممکن بهدستآمده از ترکیب خطی بردارها، پوشش یا Span گفته میشود. همین! در واقع، منظور این هست که ترکیب خطی دو بردار v و w چقدر از فضا را پوشش میدهد؟
- در حالت اول از بخش ترکیب خطی، تمامی فضای دوبعدی پوشش داده میشود. پس Span کل فضای دوبعدی است.
- در حالت دوم از بخش ترکیب خطی، Span تنها یک خط هست. تمامی نقاط روی یک خط!
تمرین حالا به عنوان تمرین به سوالهای زیر جواب دهید:
- پوشش در دو بردار v=(2, 3) و w=(-1, -1.5) را بررسی کنید.
- پوشش در دو بردار v=(2, 3) و w=(1, 2) را بررسی کنید.
اما، این مفهوم پوشش یا span مختص فضای دوبعدی نیست. بلکه، در فضای با ابعاد بالاتر هم این مفهوم وجود دارد. مثلا، بیایید دو بردار در فضای سهبعدی که همراستا نیستند را در نظر بگیریم. ترکیب خطی این دو بردار یک صفحه را میسازد. هرچند درکش کمی سخت هست، اما انیمیشن زیر را مشاهده کنید.
پایاننامه ارشدم درگیر فضای سهبعدی بود! چشمهایم را میبستم و همه مسائل را در ذهنم تصور میکردم. بعد، وقتی به نتیجه میرسیدم، سریع روی کاغذ شکلش را میکشیدم! 😅 خلاصه، شما هم چشمانتان را ببندید و همه چیز را در ذهنتان تصور کنید. البته، پیشنهاد دیگرم این هست که توضیحاتی که درباره فضای سهبعدی میدهم را به سه خودکار تست کنید. سه خودکار معادل با سه بردار که در فضای سهبعدی قرار دارند. اتفاقا خودم هم برای شماها با ماژیک تصویر ساختم!
مشاهده کردید که با ترکیب خطی دو بردار غیرهمراستا، پوشش ما یک صفحه شد. حالا، به نظر شما پوشش در چه حالتی کل فضای سهبعدی میشود؟ اینکه یک بردار سومی اضافه کنیم! اما این بردار سوم حالات مختلفی میتواند داشته باشد:
- اگر بردار سوم، داخل پوشش دو بردار قبلی باشد (داخل صفحه)، دراینصورت پوشش همان صفحه قبلی هست. چیزی اضافه نشده و واقعیت این هست که این بردار به درد ما نمیخورد!
- اگر بردار سوم، خارج از صفحه پوشش باشد، آنگاه بعد سوم برای پوشش آنلاک میشود! یعنی، دیگر پوشش ما کل فضای سهبعدی میشود. همان چیزی که دنبالش بودیم!
دو حالت بالا را دیدید؟ میخواهم برمبنای اینها دو اصطلاح جدید برایتان تعریف کنم…
وابستگی خطی Linear Dependent
تصور کنید، چند بردار دارید (مهم نیست چندبعدی باشد)؛ هرگاه حذف یکی از بردارها هیچ تغییری در پوشش یا span ایجاد نکند، یعنی بردارها وابستگی خطی دارند. با مطالبی که تا الان خواندید، بعید میدانم درک این تعریف برایتان سخت باشد. شکل زیر را ببینید؛ دو بردار در فضای دوبعدی داریم. v و w وابسته خطی هستند. چرا؟ چون از روی یکی میتوان به دیگری رسید (w=0.3v). پس این دو بردار به صورت خطی به یکدیگر وابسته هستند.
این تعریف برای ابعاد بالاتر هم صادق هست. مثلا، اگر یک بردار (u) در فضای سهبعدی دقیقا در صفحه پوشش دو بردار (v,w) دیگر قرار بگیرد. در چنین حالتی، حذف بردار u تغییری در پوشش ایجاد نمیکند. بنابراین، بین این سه بردار وابستگی خطی وجود دارد: u=av+bw
استقلال خطی Linear Independent
هرگاه حذف هریک از بردارها، پوشش یا span را تغییر دهد، یعنی بردارها استقلال خطی دارند. در شکل زیر، دو بردار استقلال خطی دارند. فکر میکنم به توضیح بیشتری نیاز نیست.
همچنین، بردارهای v w u مستقل خطی هستند و با حذف بردار u پوشش محدود به یک صفحه میشود.
تمرین به عنوان تمرین به سوالهای زیر جواب دهید:
- پوشش در دو بردار v=(0, 1, -2) و w=(0, 3, 2) به چه صورت هست؟
- با بردار u=(1, 0, 4) وضعیت پوشش چگونه میشود؟
- با بردار u=(0, -2, 4) وضعیت پوشش چگونه میشود؟
بسیارخب؛ تا اینجا خیلی درباره بردار صحبت کردیم. میخواهم از مطالبی که گفتم برای درک ماتریس استفاده کنم.
ماتریس در جبر خطی زیر ذرهبین
مشابه بخش قبل، یکسری مطالب مهم و کلیدی درباره ماتریس را اینجا مطرح میکنیم. ابتدا بیایید با تبدیل خطی یا Linear Transformation شروع کنیم.
تبدیل خطی یا Linear Transformation
میخواهم با یک مثال گام به گام، شما را مفهوم مهم تبدیل خطی آشنا کنم. در بخش قبلی، گفتیم که یک بردار را میتوان برحسب بردارهای پایه نوشت:
بیایید کمی کارهای عجیب انجام دهیم! میخواهم بردار i را تغییر دهم! این من بودم که آن را بهصورت (1,0) تعریف کرده بودم. حالا دلم میخواهد تعریفم را عوض کنم! مثلا میخواهم از این بهبعد بردار i را بهصورت (1,0-) تعریف کنم. نامش را هم از i به ‘i تغییر میدهم. پس رابطه بالا بهصورت زیر تغییر میکند:
حالا بیایید دوباره عبارت بالا را محاسبه کنیم و ببینیم خروجی چه میشود. آیا همان (2-,3) میشود:
البته که خیر! من i را عوض کردم و معلوم است که یک بردار جدیدی بدست میآید. حالا میخواهم این بردار جدید را کنار بردار قبلی رسم کنم. در شکل زیر نتیجه کار را میبینید. نکته مهم این هست که من با عوض کردن i به یک بردار جدیدی رسیدم.
تمرین به نظر شما با عوض کردن j مشابه با i، بردار خروجی ما به چه شکلی میشود؟
بازهم یک قدم رو به جلو حرکت کنیم؛ میدانیم که بردارها را میتوان با یک نقطه هم در دستگاه مختصات دوبعدی نشان داد. در شکل زیر، تعداد زیادی نقطه (همان بردار) داریم که شکل F را ساختهاند.
به نظر شما، اگر همه این نقطهها را به ‘i و j بدهیم و دوباره نقطهها را رسم کنیم، نتیجه چه شکلی میشود؟ میتوانیم فرمول زیر را بنویسیم. (xs,ys) به هریک نقطههای موجود در شکل F بالا (سبز) اشاره میکند. (xs,ys-) هم به نقطه مقصد اشاره دارد.
واضح هست که مقدار درایه اول آنها (همان مقدار x) تغییر میکند. نتیجه بهصورت شکل زیر میشود که به نظر میرسد شکل F نسبت به محور y قرینه شده است.
جالب بود نه؟! نه! 😒 حالا طبق مطالبی که تا اینجا دیدید، آیا با جمله زیر موافق هستید؟
با تغییر i و j، بردار ورودی تبدیل به یک بردار دیگر میشود.
اگر با جمله بالا موافق باشید که همه چیز عالی است. پس، وقت آن رسیده که یک فرمول کلی برای گزاره بالا بسازیم. مثلا، بردار پایه i را بهصورت (a,c) و بردار j را بهصورت (b,d) تعریف کنیم. بردار ورودی را هم با (xs,ys) نشان میدهیم. نتیجه اینکه:
حالا بیایید کمی با فرمول بالا بازی کنیم. مثلا xs و ys را در بردارهای نوشتهشده ضرب کنیم:
و نهایتا با آنچه که از ماتریس و ضرب ماتریسی میدانیم، میتوانیم رابطه بالا را به شکل زیر بنویسیم:
درواقع، ما شاهد تبدیل خطی یا Linear Transformation هستیم. با یک تبدیل خطی (ماتریس 2×2) از بردار (xs,ys) به بردار (xd,yd) رسیدیم!
مطالب زیر را حتما مطالعه کنید
نرمال سازی داده در یادگیری ماشین
یادگیری گروهی
ماشین بردار پشتیبان
الگوریتم KNN
درخت تصمیم در یادگیری ماشین
آموزش PCA
8 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
بسیار عالی قناعت بخش بود
سپاس 🌹🙏
ادامه نمیدین؟
اگر ادامه نمیدین میشه یه منبع که همینطور ساده توضیح بده معرفی کنید؟
این پست ادامه داره. در دوره یادگیری ماشین 2022 هم جبرخطی و سایر شاخههای ریاضی مرتبط گفته شده.
لینک دوره یادگیری ماشین 2022
خوب بود حیف شده ادامه ندادید (یاد دادن یه هنره)
عالی بود ممنون بابت همه آموزشها
ممنون میشم ادامه بدید بحث را.
خوب بود. راضیم ازت