শিরোনাম যেহেতু সহজপাঠ, আমরা কঠিন কোন ভাষা ব্যবহার করবো না। ব্যবহার করলেও সহজ ভাষায় বুঝানোর চেষ্টা করবো। চলুন ছোট একটা গল্প দিয়ে শুরু করা যাক।
মিস্টার ক(আপনার নাম / অথবা আপনার বন্ধুর নাম পড়ুন) এর মন খুব খারাপ। আজকে তার পরীক্ষার ফলাফল দেওয়ার কথা ছিল। সকাল থেকে বিকাল পর্যন্ত ডিপার্টমেন্ট এর নোটিশ বোর্ডের পাশে বসে ছিল। দুপুরে একবার তার প্রিয় শিক্ষিকার কাছে গিয়ে ফলাফলের কথা জানতে চাইলো।
তিনি বললেন – ” খুব খারাপ করেছো তুমি, আনএক্সপেক্টেড“।
মন খারাপ করে রুমে ফিরে ল্যাপটপ টা ওপেন করে বসলো। তার প্রিয় ল্যাপটপ টা তার মুখমণ্ডল এর অবস্থা দেখেই বুঝতে পারলো যে তার মুনিবের মন খারাপ।
ল্যাপটপ এ বেজে উঠলো আর্টসেলের
“তবুও এই দেয়ালের শরীরে-যত ছেঁড়া রঙ, ধুয়ে যাওয়া মানুষ, পেশাদার প্রতিহিংসাতোমার চেতনার যত উদ্ভাসিত আলো-রঙ আকাশের মতন অকস্মাৎ নীল”
“ক” এর মনে পড়ে গেলো যে কয়েকদিন আগেই সে তার ল্যাপটপ এ কিছু ট্রেনিং ডেটা সেট দিয়ে তার সমন্ধে অনেক কিছু শিখিয়েছিল। ল্যাপটপ তার ক্যামেরার মাধ্যমে তার মনিবের ফেইস স্কান করেই বুঝতে পারেছিল যে তার মুড এখন কেমন।
এক ঝলকে মি ক. এর মুখে হাসি ফুটে ওঠলো। ল্যাপটপকে কাছে নিয়ে চুমু দিয়ে বললো ” তুই আমাকে কত বুঝিছ“।
বর্তমান যুগ কৃত্রিম বুদ্ধিমত্তার যুগ। হাজার হাজার লাইন প্রোগ্রাম লেখার দরকার নাই। মি. ক চাইলেই হাজার লাইন কোড করে এই কাজটি করতে পারতো কিন্তু এতো কষ্ট করার দরকার মোটেও নাই।
বর্তমান যুগ কৃত্রিম বুদ্ধিমত্তার যুগ, মেশিন লার্নিং এর যুগ। কম্পিউটার কে ডেটা সেট দিয়ে দেওয়া হবে এবং এলগোরিদম সেট করে দিলেই সে একা একা শিখে নিবে।
আর্টিফিসিয়াল ইন্টেলিজেন্স বা সংক্ষেপে AI হলো এমন একটি বিজ্ঞান যেখানে গাণিতিক পরিসংখ্যান এবং কম্পিউটার বিজ্ঞান এর সমন্বয়ে যন্ত্রকে দেওয়া হয় মানুষের সমতুল্য বিচারবুদ্ধি। একটি যন্ত্র নিজে থেকে কোনো সিদ্ধান্ত নিয়ে একটি কাজ করবে, এটাই তার বুদ্ধিমত্তা।
মেশিন লার্নিং কি?
মেশিন অর্থাৎ যন্ত্র, যাকে আপনি কৃত্রিম উপায়ে বুদ্ধিমান করতে চাচ্ছেন, সেটি হতে পারে একটি রোবট, একটি অটোনোমাস গাড়ি অথবা আপনার কম্পিউটার, যাকে বলা হয় ইন্টেলিজেন্ট এজেন্ট বা বুদ্ধিমান সত্ত্বা। এই এজেন্টেকে কিছু শেখানোর বা এজেন্টের শেখার পদ্ধতিই মূলত মেশনি লার্নিং।
পুরোপুরিভাবে প্রোগ্রাম না করে শুধু কিভাবে শিখতে হবে (এলগোরিদম) সেটুকু শিখিয়ে দিয়ে নিজে থেকে কাজ করা, আগেকার করা কাজের অভিজ্ঞতা থেকে নিজেকে উন্নত করাই হলো মেশিন লার্নিং এর মূল প্রতিপাদ্য।
মেশিন লার্নিং এর প্রকারভেদ
মেশিন লার্নিং প্রধানত ২ প্রকার। এক কথায় মেশিনকে সাধারণত ২ ভাবে শেখানো যায় বা মেশিন মূলত ২ ভাবে শিখতে পারে :-
- সুপারভাইজড লার্নিং (Supervised Learning)
- আনসুপারভাইজড লার্নিং (Unsupervised Learning)
আজকে আমরা সুপারভাইজড লার্নিং সহজভাবে ব্যখ্যা করতে চেষ্টা করবো।
সুপারভাইজড লার্নিং (Supervised Learning):
কম্পিউটারকে একটি ছোট বাচ্চা হিসেবে চিন্তা করতে পারেন।আর সেই ছোট বাচ্চাটি ধরুন আপনার ভাতিজা অথবা আপনার ছেলে অথবা অন্য কেউ। আপনি সেই বাচ্চাটিকে শেখাতে চাচ্ছেন বিড়াল দেখতে কেমন হয়।
আপনি অনেকগুলো বিড়ালের ছবি নমুনা হিসেবে তাকে দেখালেন এবং বললেন এইগুলা বিড়ালের ছবি।

এর পর ১০ টি বিড়ালের ছবি এবং ২ টি কুকুরের ছবি নিয়ে তাকে আলাদা করে বলতে বললেন আসলে কোন গুলো বিড়ালের ছবি।

এভাবে আপনি বাচ্চাকে শিখালেন মানে সুপারভাইজড করলেন। আপনার ভূমিকা এখানে একজন সুপারভাইজর এর।
ঠিক একই ভাবে সুপারভাইজড লার্নিং এ কম্পিউটারকে কিছু ডেটা দেওয়া হয় এগুলোকে বলা হয় ট্রেনিং ডেটা।এই ট্রেনিং ডেটার এর মাধ্যমে কম্পিউটার শিখতে পারে।
এবং ওই ডেটাসেটেরই একটা অংশ আলাদা ভাবে রাখা হয় যেটি কম্পিউটারকে আগে থেকে দেখতে দেওয়া হয় না। এই অংশকে বলা হয় টেস্ট ডেটা। এই অংশকে দিয়েই যাচাই করা হয় কম্পিউটার আসলে কতটুকু শিখেছে।
উপরের বাচ্চার উদাহরণ চিন্তা করুন
আপনি অনেকগুলো বিড়ালের ছবি নমুনা হিসেবে তাকে দেখালেন এবং বললেন এইগুলা বিড়ালের ছবি।
এই ডেটার এই পার্টটুকু হলো আমাদের ট্রেইনিং ডেটা।
এর পর ১০ টি বিড়ালের ছবি এবং ২ টি কুকুরের ছবি নিয়ে তাকে আলাদা করে বলতে বললেন আসলে কোন গুলো বিড়ালের ছবি।
এই ডেটার এই পার্টটুকু হলো আমাদের টেস্ট ডেটা।
এককথায় সুপারভাইজড লার্নিং হলো লেবেলকৃত ডেটা ( মানে আপনি আগে থেকে বলে দিচ্ছেন কোন ডেটা কি নির্দেশ করে)এর মাধ্যমে কম্পিউটারকে শেখানো।
তাহলে আমরা যদি মি. ক এর কম্পিউটার লার্নিং এর দিকে লক্ষ্য করি তাহলে দেখতে পাবো মি. ক এর লার্নিং মেথডটি ছিলো সুপারভাইজড লার্নিং।
চলুন তাহলে বুঝতে চেষ্টা করা যাক কিভাবে মি. ক এর মেশিন শিখেছিল-
প্রথেমই তিনি একটি ডেটাসেট তৈরী করেছিলেন যেখানে ছিল তার কয়েক প্রকারের ছবি এবং কোন ছবিতে তার মুড কেমন ছিল এবং এই সময় তিনি কোন কোন গান শুনতে পছন্দ করেন তার কিছু নমুনা দেওয়া ছিল। এর মানে ডাটাটি লেবেল করা ছিল।
এরপর এই ডেটাসেট দিয়ে কম্পিউটার এ কিছু নির্দেশনামা ( এলগোরিদম) বা কিভাবে কাজ করতে হবে সেটুকু বলে দেওয়া ছিল। ব্যাস কাজ শেষ কম্পিউটার পারফেক্টলি তার মুখ-মন্ডল স্কান করে বুঝে নিলো যে তার মুড এখন কেমন এবং কিভাবে মুড ভালো করা যায়।
এইটাই হলো মেশিন লার্নিং এর সুপারভাইজড লার্নিং মেথড।
আনসুপারভাইজড লার্নিং
সুপারভাইজড লার্নিং কম্পিউটারকে আমরা সাহায্য করেছিলাম শিখতে। কম্পিউটারকে আগে থেকেই কিছু নমুনা দিয়ে তাদের লেবেল বলে দিয়েছিলাম। কিন্তু আনসুপারভাইজড লার্নিং মেথড এ আমরা কম্পিউটারকে আর শিখিয়ে দিবো না মানে সুপারভাইজ করবো না। কম্পিউটার নিজে নিজেই ডেটা থেকে শিখবে।
কম্পিউটার আনসুপারভাইজড লার্নিং এ যেটা করে সেটা মূলত ক্লাস্টারিং মানে ডেটার ভিতরে কিছু হিডেন সম্পর্ক বের করে বা তাদের মধ্যে হিডেন প্যাটার্ন বের করে তাদের আলাদা আলাদা করে ভাগ করে।
আনসুপারভাইজড লার্নিং এ আমরা কম্পিউটারকে কোনটা ভূল এবং কোনটা সঠিক সেটা বলে দিবো না। কম্পিউটার যখন কোন ভূল করবে তখন সে নিজে থেকেই শুধরে নিবে।
খুবই সিম্পল একটা ডেটাসেটের উদাহরণ দেওয়া যাকে।
ধরুন আমাদের কাছে বিশ্বকাপ ক্রিকেটের ১০ টি ম্যাচে খেলোয়াড়দের উইকেট সংখ্যা এবং তাদের রানের ডেটা আছে কিন্তু এটা বলা নেই কে ব্যাটসম্যান এবং কে বোলার। আমাদের কাজ হচ্ছে কে ব্যাটসম্যান এবং কে বোলার সেটা বের করা।

এখন ধরুন আমরা ডেটাসেটকে Scatter Plot এ দেখাতে চাই যেখানে x অক্ষে থাকবে উইকেট এবং y অক্ষে থাকবে রান।Scatter Plot অনেকটা এরকম দেখাবে

লক্ষ্য করুন ডেটার দুইটি আদালা আলাদা প্যাটার্ন পাওয়া গেছে। চলুন এদের ভাগ করি। ১ম ভাগে নাম দিবো ক্লাস্টার -১ এবং ২য় ভাগের নাম দিবো ক্লাস্টার -২।
ক্লাস্টার :-১

Scatter plot এ আমরা দেখতে পাচ্ছি বৃত্তাকৃতির অংশ এর ভিতরে যারা পরেছে তাদের রান অনেক বেশী কিন্তু উইকেট তুলনামূলকভাবে কম। তার মানে সিম্পল লজিক দিয়েই বলা যায় এরা প্রধানত ব্যাটসম্যান।
ক্লাস্টার :-২

ক্লাস্টার -২ ( হলুদ অংশ) এর ভিতরে যারা পরেছে তাদের তুলনামূলক ভাবে তাদের রান কম কিন্তু উইকেট বেশী। তাহলে আমরা বলতে পারি তারা মূলত বোলার।
আমরা এতোক্ষণ যে পদ্ধতিতে কাজ করলাম একে বলে k-Means Clustering। আমাদের উদাহরণে k এর মান ২। মানে k নির্দেশ করে আমরা যতগুলো ক্লাস্টার করবো তার মান। এবং Mean -বলতে Statistical Mean বা গড়কে বোঝায়।
এটাই মূলত আনসুপারভাইজব লার্নিং – যেখানে আমরা যার সমন্ধে কোন সিদ্ধান্ত নিবো সেটার লেবেল কম্পিউটার বা মেশিন আগে থেকে জানবে না। সে ডেটা এর ভিতরের প্যাটার্ন খুজে বের করে নিজে নিজে শিখবে এবং ডিসিশনস নিবে।
যাই হোক উপরের উদাহরণ তো আমরা কেবল মাত্র কয়েকটি ডেটা নিয়ে করেছি। কম্পিউটার বিশাল ডেটা নিয়ে কাজ করে।আর এখানেই কম্পিউটার এবং মানুষের মধ্যে মূল পার্থক্য। একটা কাজ যদি আপনি কম্পিউটারকে ১ কোটিবার করতে বলেন সে করতে পারবে যেটা মানুষের ধৈর্য্যের উর্ধে।
Leave a Reply