Rank ও Linear Independence — পদমর্যাদা
Rank and Linear Independence
মহাখালীর ক্রিকেট টিম
ধর তুই মহাখালীতে গলির ক্রিকেট টিম বানাইতেছস। তোর টিমে ৫ জন আছে। রাজু ব্যাট করে, সোহেল বোলিং করে, কামাল ফিল্ডিং করে — তিনজনের unique skill আছে। কিন্তু বাকি দুইজন — মিলন আর জুয়েল — এরাও শুধু ব্যাট করে, রাজুর মতোই! মামা বলল 'ভাই ৫ জন আছে বইলা কি হইব, কাজের লোক তো ৩ জনই! বাকি দুইজন redundant — রাজু যা পারে এরাও তাই পারে!' টিমের actual strength = ৩, মানে unique skill holder = ৩।
এইটাই Rank আর Linear Independence! Matrix-এর rank হইল unique, independent direction-এর সংখ্যা। ৫টা column থাকলেও যদি ৩টাই unique হয়, rank = 3। বাকিগুলা অন্যদের combination দিয়া বানানো যায় — linearly dependent!
সংজ্ঞা
Matrix-এর Rank হইল তার সর্বোচ্চ linearly independent row বা column-এর সংখ্যা। Linearly independent মানে একটা vector-কে বাকিগুলার combination দিয়া বানানো যায় না — প্রতিটা unique direction-এ contribute করে।
ব্যাখ্যা
Linear Independence কি?
কিছু vector linearly independent যদি তাদের কোনো non-trivial linear combination শূন্য না হয়। সোজা কথায়: কোনো vector-কে বাকিগুলা দিয়া বানানো যায় না। যেমন [1,0] আর [0,1] independent — একটা দিয়া আরেকটা বানাইতে পারবা না। কিন্তু [1,0], [0,1], আর [1,1] dependent — কারণ [1,1] = [1,0] + [0,1]।
Rank কিভাবে বাইর করবা
Row Echelon Form-এ নিয়া যাও (Gaussian Elimination)। যতগুলা non-zero row থাকবে, সেইটাই rank। অথবা singular values বাইর করো — non-zero singular value-এর সংখ্যা = rank। Python-এ numpy.linalg.matrix_rank() দিয়া এক লাইনে হইব!
Full Rank vs Rank Deficient
m×n matrix-এর maximum possible rank = min(m, n)। যদি rank = min(m, n) হয়, তাহলে full rank — সবগুলা row/column unique। না হইলে rank deficient — কিছু row/column redundant। ML-এ feature matrix full rank হইলে ভালো, না হইলে মডেল ঠিকমতো শিখতে পারে না।
Feature Matrix-এর Rank চেক করো
তোর dataset-এ ৩টা feature আছে: height (cm), height (inch), weight (kg)। Matrix A = [[170, 67, 65], [160, 63, 55], [180, 71, 80]]। এই feature matrix-এর rank কত? কোনো feature redundant?
Step 1: Matrix দেখো
লক্ষ্য করো column 2 (inch) ≈ column 1 (cm) / 2.54। তাহলে কি এরা dependent?
Step 2: Relationship চেক করো
170/2.54 = 66.93 ≈ 67, 160/2.54 = 62.99 ≈ 63, 180/2.54 = 70.87 ≈ 71। হ্যাঁ, দ্বিতীয় column প্রথমটার প্রায় 1/2.54 গুণ!
Step 3: Rank নির্ণয়
তিনটা column আছে কিন্তু দুইটাই effectively same information দেয়। তাই rank = 2, full rank (3) না।
Rank = 2। height (cm) আর height (inch) linearly dependent — একটা রাখলেই চলবে। মামা বলে 'একই জিনিস দুইবার বললে কথা বেশি হয়, information বাড়ে না!'
ML-এ কোথায় লাগে?
মনে রাখার ট্রিক
Rank = টিমের unique skill holder-এর সংখ্যা। ৫ জন থাকলেও ৩ জনেরই আলাদা skill থাকলে rank = 3। Independent মানে 'নিজে নিজে দাঁড়াইতে পারে, অন্যের combination না!'