بردار چیست؟ | آموزش Vector در جبر خطی برای هوش مصنوعی
بردار چیست؟ | نگاهی متفاوت به قلب تپنده جبر خطی
سلام به همگی! رسیدیم به جلسه سوم از دوره جامع ریاضیات برای هوش مصنوعی. تو جلسه قبل فهمیدیم اسکالر چیه (همون عدد تنهای خودمون!)، اما امروز میخوایم بریم سراغ یک مفهوم به شدت جذاب و مهم به اسم بردار (Vector).
اینکه بردار تو فیزیک چیه رو احتمالاً همه تو مدرسه شنیدیم، اما تعریفی که ما تو دیتا ساینس و هوش مصنوعی از بردار داریم یه کم متفاوتتر و البته خیلی کاربردیتره! پس ذهنیت قبلیتون رو یه مقدار تغییر بدید تا بریم سراغ اصل داستان.
دو نگاه متفاوت به بردار: فیزیک در برابر دیتا ساینس
بیاین اول ببینیم تو دنیای کلاسیک به بردار چی میگفتن و بعد ببینیم تو دنیای ما دیتا ساینتیستها داستان از چه قراره:
| دیدگاه | تعریف بردار | مثال ملموس |
|---|---|---|
| در ریاضیات و فیزیک | یک کمیت که هم مقدار (بزرگی) داره و هم جهت. | ماشینی که با سرعت ۴۵ کیلومتر بر ساعت به سمت شرق حرکت میکنه. |
| در دیتا ساینس و هوش مصنوعی | یک لیست مرتبشده از اعداد که میتونه یک نقطه رو تو فضا نشون بده. | لیستی از ویژگیهای یک بیمار (مثلاً سن، وزن، فشار خون) تو یک دیتاست. |
چرا میگیم «لیست مرتبشده»؟
این کلمه «مرتبشده» به شدت مهمه! فرض کنید دوباره همون دیتاست تشخیص بیماری قلبی رو داریم. هر سطر (رکورد) از این دیتاست، در واقع یه برداره. مثلاً اطلاعات یه نفر به این شکله: [25, 68]. عدد اول (۲۵) یعنی سن فرد و عدد دوم (۶۸) یعنی وزنش.
آیا میتونیم جای این دو تا رو عوض کنیم و بنویسیم [68, 25]؟ معلومه که نه! چون معنیش عوض میشه و مدل ما فکر میکنه سن طرف ۶۸ ساله و وزنش ۲۵ کیلو! پس توی دیتا ساینس، ترتیب قرارگیری اعداد توی یک بردار اهمیت حیاتی داره و هر عدد نماینده یه ویژگی (Feature) خاصه.
نمایش بردارها در فضای مختصات
یکی از قشنگترین کارایی که میتونید برای درک بهتر انجام بدید اینه که بردارها رو تو محور مختصات تصور کنید. وقتی ما یه بردار داریم که دو تا عدد داره (مثل سن و وزن)، یعنی تو فضای دو بعدی هستیم.
میتونیم محور X رو بذاریم برای «سن» و محور Y رو بذاریم برای «وزن». حالا اون بردار [25, 68] فقط یه نقطه تو این محور میشه (۲۵ واحد میریم جلو، ۶۸ واحد میریم بالا).
حالا اگه ۳ تا ویژگی داشته باشیم چی؟ مثلاً تو سه ماه مختلف وزن یه نفر شده: [70, 60, 50]. اینجا ما وارد فضای سه بعدی (3D) شدیم و محور Z هم به داستان اضافه میشه. این نقاط رو روی نمودارهایی به اسم Scatter Plot نشون میدن که تو بخش آمار مفصل راجع بهشون حرف میزنیم.
ما تا چند بُعد میتونیم ببینیم؟
یه سوال جالب: ما آدما نهایت میتونیم تا ۳ بُعد رو تو دنیای واقعی ببینیم. بُعد چهارم به بعد دیگه از درک بصری ما خارجه! اما جادوی جبر خطی دقیقاً همینه.
جبر خطی به ما ابزاری میده که همین قواعد ۲ و ۳ بعدی رو بسط بدیم به ابعاد بالاتر (مثلاً برداری با ۱۰۰۰ تا ویژگی!). هوش مصنوعیهایی که امروز میبینید، دقیقاً دارن تو همین فضاهای چند صد بُعدی کار میکنن که جبر خطی براشون هندل کرده.
⚠️ اشتباه رایج برنامهنویسها: تفاوت اسکالر و بردار یکبُعدی
ببینید بچهها، یه اسکالر (مثلاً عدد ۵) بُعدش صِفره! اما یه بردار یکبُعدی (مثلاً [5]) یعنی یه عدد که داخل یه لیست (براکت) قرار گرفته. خیلیها تو پروژههای پایتون بین این دو تا قاطی میکنن و به ارورهای عجیبی (مثل Dimension Error) میخورن. پس یادتون باشه: اسکالر فقط یه عدده، اما بردار یه آرایه (لیست) است؛ حتی اگه فقط یه دونه عدد توش باشه.
بردارهای واحد (Unit Vectors) چی هستن؟
وقتی ما تو محور مختصات حرکت میکنیم، نیاز به یه معیار قدمشماری داریم. به بردارهایی که طولشون دقیقاً یک (1) هست، میگن بردار واحد.
مثلاً بردار i یعنی [1, 0]؛ یعنی یه قدم برو سمت راست (روی محور X) و بالا و پایین نرو. بردار j یعنی [0, 1]؛ یعنی روی محور X حرکت نکن و فقط یه قدم برو بالا (روی محور Y). با جمع زدن و ترکیب این قدمهای کوچیک، میتونیم به هر نقطهای تو فضا برسیم.
حرف آخر…
تو این جلسه متوجه شدید که وقتی به یه دیتاست نگاه میکنید، نباید فقط یه مشت عدد خام ببینید؛ بلکه هر سطرِ اون دیتاست، یک نقطه (یا بردار) تو یک فضای چندبُعدی هست. این تغییرِ نگرش برای تبدیل شدن به یک متخصص واقعیِ دیتا ساینس به شدت حیاتیه!
در جلسه بعدی درباره جمع بردارها و یه مفهوم جالب به اسم «تغییر مبدأ مختصات» صحبت میکنیم. حتماً همراه من باشید و اگه سوالی دارید تو کامنتها بپرسید.