লার্নিংয়ের মধ্যে দুটো প্রকার আছে। প্রথমটি rote learning- কোন কিছুর সম্মুখীন হয়ে তা আয়ত্ব বা মুখস্থ করা। দ্বিতীয় প্রকারটি হলো conceptual learning। Conceptual learning এর ক্ষেত্রে জেনারেলাইজেশন এর আইডিয়া ব্যবহার করা হয়। যেমন কিছু সংখ্যা লিখতে শিখে আমরা একটা জেনারেল আইডিয়া পেয়েছিলাম কীভাবে সকল সংখ্যা লেখা যায়। ধরা যাক আপনি বিদেশি কোন বন্ধুকে বাংলা শেখাচ্ছেন। করা-করব, বলা-বলব এভাবে কিছু যদি শেখান, সে কিন্তু ধারণা করে নিতে পারবে খেলা, চলা, পড়া এরকম অন্য ক্রিয়াগুলো ভবিষ্যত কালে কীভাবে রূপান্তর করা যায়। Rote learning এর ক্ষেত্রে এই ব্যাপারটি নেই, তথা জেনারেল কোন আইডিয়া নেয়ার সুযোগ থাকে না। এধরণের লার্নিং ইমপ্লিমেন্ট করা তুলনামূলক সহজ। তবে মেশিনের বেলায় জেনারেলাইজেশন নিয়ে আসাটা এর তুলনায় জটিল একটি কাজ।

কৃত্রিম বুদ্ধিমত্তা নিছক কিছু if… else এর সমষ্টি কিংবা এটা হলে এটা কর, ওটা হলে ওটা কর এরকমটা থেকে বেশি কিছু। বরং এক অর্থে এর উল্টোটাই বলা যায়, যেন মেশিনকে এমনভাবে শেখানো যায় যে সবকিছু আলাদাভাবে বলে বলে দিতে না হয়। মেশিন লার্নিং হলো সুনির্দিষ্টভাবে সে বিষয়ের জন্য প্রোগ্রাম করা ছাড়া তথ্য ও উপাত্ত থেকে কোন বিষয়ে মেশিনের পারফর্মেন্সে ইম্প্রুভ করানোর মেথড।

মেশিন লার্নিংয়ে যন্ত্রকে কিছু তথ্য নমুনা হিসেবে দেয়া হয়, একে বলা হয় ট্রেনিং ডাটা। এরপর যন্ত্র ট্রেনিং ডাটার ওপর ভিত্তি করে যন্ত্রের অ্যালগরিদম একটি মডেল তৈরি করে, যে মডেলের সাহায্যে অন্যান্য ডাটাকে বিশ্লেষণ করে যন্ত্র সিদ্ধান্ত বা প্রেডিকশন প্রদান করতে পারে।

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

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

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

আরো দেখতে পারেন:কৃত্রিম বুদ্ধিমত্তার আদ্যোপান্ত

সহায়ক আর্টিকেল

Wikipedia – Machine Learning

TechTarget – What is Machine Learning and Why Is it Important?

একটি নিয়নবাতি পরিবেশনা

2 thoughts on "মেশিন লার্নিং: যন্ত্রকে শিখতে শেখানো"

  1. Aubdulla Al Muhit Contributor says:
    দারুণ
    1. neonbati Author Post Creator says:
      শুকরিয়া

Leave a Reply