একটুখানি ম্যাথ ও ডেটা সাইন্স

ম্যাথের নাম শুনলে আমাদের অনেকেরই হাত-পা কাঁপা-কাঁপি শুরু হয়। কারণ ছোটবেলা থেকে আমরা শুধু ম্যাথ করেছি কিন্তু কখনো প্রয়োজনীয়তা বা কি কাজে লাগতে পারে আমরা সেটা অনুধাবন করিনি বা আমাদের কে কেউ তা বলেনি। অনেকেই হয়তো এই টপিক ম্যাথ নিয়ে দেখে অলরেডি ভেগে যাওয়ার চিন্তা করছেন। তাহলে কিন্তু দারুণ একটা জিনিস মিস করবেন! আমরা অনেকেই জানি যে ডেটা সাইন্সে ম্যাথের প্রয়োজন হয় কিন্তু কিভাবে প্রয়োজন ও কি কাজে লাগে সেটা জানি? চলুন আজকে খুবই সহজ দুটি ম্যাথ কনসেপ্ট বোঝার ট্রাই করবো এবং তা কিভাবে ডেটা সাইন্সে এপ্লাই করা হয় তা দেখব। প্রথমটি হচ্ছে ক্লাস ৮-এ করে আসা সেটের ইন্টারসেকশন কনসেপ্ট এবং দ্বিতীয়টি হলো এসএসসি তে করা ভেক্টরের ডট প্রোডাক্ট সাথে বোনাস কনসেপ্ট হিসেবে থাকবে ম্যাট্রিক্সের গুন! চলুন, শুরু করা যাক!

সেট থিওরির ইন্টারসেকশনঃ

ইন্টারসেকশনের সংজ্ঞা: দুটি সেট A এবং B এর ইন্টারসেকশন 𝐴∩𝐵 হল এমন একটি সেট যেটিতে A এবং B উভয়ের সাধারণ উপাদানগুলো থাকে।

উদাহরণ :

ধরা যাক,

A = {1,2,3,4}

𝐵 = {3,4,5,6}

তাহলে, A এবং 𝐵 এর ইন্টারসেকশন A∩B হবে: A∩B = {3,4}

নিরস উদাহরণ না? চলুন এইটার একটা বাস্তব উদাহরণ দেখে একটু রস খোজার ট্রাই করি। ধরুন, আমাদের আবুল একদিন ‘‘মন্টু অনলাইন সুপারশপ” থেকে আদা, রশুন, হলুদ, মরিচ কিনলো। ঠিক পরেই বাবুল ও ‘‘মন্টু অনলাইন সুপারশপ” এ ডুকলো বাজার করতে। বাবুল আদা, রসুন, হলুদ, মুড়ি কিনলো। আবুল, বাবুলের বাজারকে যদি আমাদের ম্যাথ কনসেপ্টে প্রকাশ করি তাহলে দাড়ায়,

আবুল = {আদা, রসুন, হলুদ, মরিচ}

বাবুল = {আদা, রসুন, হলুদ, মুড়ি}

তাহলে, আবুল∩বাবুল = {আদা, রসুন, হলুদ}

যা থেকে দেখতে পাই যে, তাদের দুজনের বাজারের মধ্যে অনেক মিল রয়েছে। কতটুকু মিল আছে তা জানার জন্যে আমরা জ্যাকার্ড পরিমাপ নির্ণয় করতে পারি।

জ্যাকার্ড পরিমাপ 0 এবং 1 এর মধ্যে একটি সংখ্যা, এই সংখ্যা যত 0-এর কাছাকাছি, দুটি সেটের মধ্যে মিলের সম্ভবনা তত কম এবং যখন পরিমাপ 1-এর কাছাকাছি হয়, তখন দুটি সেটের মধ্যে মিলের সম্ভবনা তত বেশি।

যেহেতু দেখতে পাই যে, তাদের দুজনের জ্যাকার্ড পরিমাপ ০.৬ সেহেতু বলতে পারি যে তাদের দুজনের বাজারের মধ্যে যথেষ্ট মিল রয়েছে এবং বাবুলকে ‘‘মন্টু অনলাইন সুপারশপ” এল্গরিদম আবুলের কেনা অনুযায়ি মরিচ সাজেস্ট করতে পারে। সেটের ইন্টারসেকশন ব্যবহার করে আমরা এভাবে একজন ক্রেতা কে প্রোডাক্ট সাজেস্ট করতে পারি। দারুন না ব্যাপারটা? এছাড়াও ম্যাথের এই থিওরি ডেটা ক্লিনিং, ফিচার সিলেকশন, A/B টেস্টিং, টেক্সট অ্যানালাইসিস সহ আরো অনেক ক্ষেত্রে ব্যবহারিত হয়ে থাকে। আরে বাহ! আপনি দেখি পুরাই জোস!। প্রথম কনসেপ্ট পড়ে শেষ করে ফেলেছেন! এবার চলুন তাহলে আমাদের দ্বিতীয় কনসেপ্টে যাই।

ভেক্টরের ডট প্রোডাক্টঃ

ডট প্রোডাক্টের সংজ্ঞা:

ডট প্রোডাক্ট হলো দুটি ভেক্টরের মধ্যে একটি গাণিতিক ক্রিয়া যা একটি স্কেলার (একক মান) ফলাফল দেয়। দুটি ভেক্টর 𝐴=(𝑎1,𝑎2,𝑎3) এবং 𝐵=(b1​,b2​,b3​) এর ডট প্রোডাক্ট হয়:

এর মানে কি? ধরুন, আপনি রোমান্টিক মুভি খুব পছন্দ করেন, অ্যাকশন মুভি একদম পছন্দ করেন না এবং কমেডি মুভি মোটামুটি পছন্দ করেন। একে যদি আমরা ১-৫ মানের মধ্যে ভেক্টরের মাধ্যমে প্রকাশ করি, তাহলে দাঁড়ায়ঃ

এখানে,

  • প্রথম উপাদানটি রোমান্টিক মুভির প্রতি আপনার পছন্দ (৫),

  • দ্বিতীয় উপাদানটি অ্যাকশন মুভির প্রতি আপনার পছন্দ (১),

  • তৃতীয় উপাদানটি কমেডি মুভির প্রতি আপনার পছন্দ (৩)

এখন ধরুন নেটফ্লিক্সে দুটি মুভি আছে যার একটি রোমান্টিক ও অ্যাকশন টাইপের এবং অন্যটি রোমান্টিক ও কমেডি টাইপের। যদি মুভি দুটিকে তাদের ক্যাটাগরি অনুযায়ী ১-৫ মানের মধ্যে একটি মান দিয়ে ভেক্টরের মাধ্যমে প্রকাশ করি, তাহলে দাঁড়ায়:

এখন নেটফ্লিক্স আপনাকে কোন মুভিটি আগে সাজেস্ট করবে? চলুন সেটা নির্ণয় করি। আপনার পছন্দের ভেক্টর P এবং মুভি ১-এর ডট প্রোডাক্ট হলো:

আপনার পছন্দের ভেক্টর P এবং মুভি ২-এর ডট প্রোডাক্ট হলো:

এখন বলতে পারেন যে এর স্কেল কত আসলে? এই ২৮ ও ৩৮ কে আমি কত এর স্কেলে ধরবো। এখানে ভেক্টর দুটির সর্বোচ্চ মান হবে যদি সবগুলো মান ৫ হয় এবং সর্বনিম্ন হবে যদি সবগুলোর মান ১ হয়।

তার মানে মুভি দুটির মানের স্কেল ৩-৭৫ এর মধ্যে। তাহলে দুটি মুভির মধ্যে কোনটি ডট প্রোডাক্টে এগিয়ে থাকলো? অবশ্যই দ্বিতীয় মুভিটি। তাই আপনার মুভি সাজেশনে দ্বিতীয় মুভিটিই আগে আসবে। এছাড়াও এই ডট প্রোডাক্ট ধারণাটি নিউরাল নেটওয়ার্ক, মেশিন লার্নিং অ্যালগরিদম, রিকমেন্ডেশন সিস্টেম সহ আরও অনেক জায়গায় ব্যবহৃত হয়ে থাকে।

এখন নেটফ্লিক্সে তো সাধারণত ১ বা ২ টি মুভি থাকে না, তাইনা? ১,০০০ থেকে শুরু করে ১ লক্ষের অধিক মুভি পর্যন্ত থাকতে পারে। সে ক্ষেত্রে কাজটি করার জন্য ম্যাট্রিক্সের গুণ ও ব্যবহার করা হয়ে থাকে। চলুন সেটাও এক নজরে দেখে নিই।

ম্যাট্রিক্সের গুনঃ

ম্যাট্রিক্স হলো এমন একটি গাণিতিক স্ট্রাকচার যা সারি এবং কলামের মাধ্যমে প্রকাশ করা হয়। যেমন, একটি x২ ম্যাট্রিক্স হলোঃ

যেখানে প্রথম অংক মূলত সারি সংখ্যা প্রকাশ করে এবং দ্বিতীয় অংক মূলত কলামের সংখ্যা প্রকাশ করে। উপরে আমাদের লিখা ৩x২ ম্যাট্রিক্সে সারি সংখ্যা হল ৩ এবং কলাম সংখ্যা হল ২। এখন যদি আপনার মুভি পছন্দের ভেক্টর 𝑃 কে একটি ম্যাট্রিক্সে প্রকাশ করি, তাহলে দাঁড়ায়

ধরুন নেটফ্লিক্সে 1000 টি মুভি আছে, সেই মুভিগুলোর ম্যাট্রিক্সকে যদি আমরা M ধরি তাহলে M ম্যাট্রিক্সটি হলোঃ

ম্যাট্রিক্স গুণের একটি শর্ত হলো প্রথম ম্যাট্রিক্সের কলামের সংখ্যা দ্বিতীয় ম্যাট্রিক্সের সারির সংখ্যার সমান হতে হবে। তাহলে গুণ করা সম্ভব হবে এবং ফলাফল ম্যাট্রিক্সটি হবে প্রথম ম্যাট্রিক্সের সারির সংখ্যা × দ্বিতীয় ম্যাট্রিক্সের কলামের সংখ্যা। কিন্তু আমাদের 𝑃 (৩x১) ম্যাট্রিক্সের কলামের সংখ্যা ১, অন্যদিকে 𝑀 (৩x১০০) ম্যাট্রিক্সের সারির সংখ্যা ৩। তাহলে কী করা যায়? 𝑃 ম্যাট্রিক্সকে ট্রান্সপোজ (transpose) করে নিলে আমরা 𝑃 এবং 𝑀 এর ম্যাট্রিক্স গুণ করতে পারবো। 𝑃 ম্যাট্রিক্সের ট্রান্সপোজ ম্যাট্রিক্স হলো:

এখন আমরা 𝑃 ম্যাট্রিক্সকে 𝑀 ম্যাট্রিক্সের সাথে গুণ করতে পারবো, যেহেতু 𝑃 ম্যাট্রিক্সের কলামের সংখ্যা এবং 𝑀 ম্যাট্রিক্সের সারির সংখ্যা সমান অর্থাৎ ৩। এবং এদের গুণ করার পরে যে ম্যাট্রিক্স পাবো তা হবে ১x১০০০।

এভাবে ক্যালকুলাস, প্রবাবিলিটি, পরিসংখ্যান ছাড়াও আমাদের শেখা সহজ সহজ কনসেপ্টগুলোও ডেটা সায়েন্সে ব্যাবহার হয়। কিন্তু আমরা কখনও পড়ার সময় তা উপলব্ধি করি না। গণিত খুবই মজার একটি বিষয় যদি বুঝে এবং বাস্তব উদাহরণ নিয়ে শিখতে পারেন। এতক্ষণ ধৈর্য ধরে পুরোটা পড়ার জন্য ধন্যবাদ। মানতেই হবে যে আপনার অনেক ধৈর্য আছে! আমি হলে প্রথম পৃষ্ঠা পড়েই বাদ দিয়ে দিতাম। :3