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