সরাসরি প্রধান সামগ্রীতে চলে যান

আনসুপারভাইজড লার্নিং: K-Means এবং PCA এর সহজ বাস্তবায়ন

Introduction

এই ভিডিওটিতে মূলত মেশিন লার্নিংয়ের একটি গুরুত্বপূর্ণ শাখা 'আনসুপারভাইজড লার্নিং' (Unsupervised Learning) নিয়ে আলোচনা করা হয়েছে। এখানে দেখানো হয়েছে কীভাবে অনেকগুলো বৈশিষ্ট্য বা ফিচার সমৃদ্ধ ডেটা থেকে প্রয়োজনীয় তথ্য বের করে আনা যায় এবং সেগুলোকে গ্রুপ বা ক্লাস্টারে ভাগ করা যায়। বিশেষ করে K-Means অ্যালগরিদম ব্যবহার করে ডেটা গ্রুপিং এবং PCA (Principal Component Analysis) ব্যবহার করে জটিল ডেটাকে সহজ বা কম ডাইমেনশনে নিয়ে আসার বাস্তব উদাহরণ কোডিংয়ের মাধ্যমে বোঝানো হয়েছে।


১. PCA এর মাধ্যমে ডেটার ডাইমেনশন কমানো

ভিডিওর এই অংশে দেখানো হয়েছে কীভাবে অনেকগুলো কলাম বা ফিচার বিশিষ্ট ডেটাকে মাত্র দুটি ডাইমেনশনে নামিয়ে আনা যায়।

ভিডিও রেফারেন্স: [03:48:44]

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

কোড স্নাইপেট:

Python

# PCA ইমপ্লিমেন্টেশন এবং শেপ চেক করা
print("Original shape:", x.shape) 
# আউটপুট দেখাবে (210, 7) - অর্থাৎ ২১০টি সারি এবং ৭টি কলাম

# PCA ট্রান্সফর্মেশনের পর
print("Transformed shape:", transformed_x.shape)
# আউটপুট দেখাবে (210, 2) - কলাম ৭টি থেকে কমে ২টিতে চলে এসেছে 

ব্যাখ্যা: এখানে দেখা যাচ্ছে কীভাবে ডেটার আকার বা ডাইমেনশন কমিয়ে আনা হয়েছে যাতে আমরা সহজেই একে গ্রাফে ফুটিয়ে তুলতে পারি।


২. K-Means এবং PCA এর সমন্বয়

PCA করার পর সেই সহজ করা ডেটার ওপর কীভাবে K-Means ক্লাস্টারিং প্রয়োগ করতে হয়, তা এখানে দেখানো হয়েছে।

ভিডিও রেফারেন্স: [03:50:17]

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

কোড স্নাইপেট:

Python

# PCA রেজাল্ট এবং ক্লাস্টার লেবেল দিয়ে নতুন ডেটাফ্রেম তৈরি
import pandas as pd
import numpy as np

# PCA এর ২টা ডাইমেনশন এবং K-Means এর লেবেল একসাথে করা
pca_df = pd.DataFrame(np.hstack([transformed_x, k_means.labels_.reshape(-1, 1)]),
                      columns=['pca1', 'pca2', 'class']) 

ব্যাখ্যা: এখানে hstack ব্যবহার করে আমাদের নতুন ২টা ডাইমেনশন এবং কম্পিউটারের তৈরি করা 'class' বা গ্রুপগুলোকে এক করা হয়েছে।


৩. ফলাফলের তুলনা এবং বিশ্লেষণ

সবশেষে কম্পিউটার যা শিখল তার সাথে আসল বা সত্য (Truth) ডেটার তুলনা করা হয়েছে।

ভিডিও রেফারেন্স: [03:51:28]

বিস্তারিত: আমরা যখন আসল ডেটা এবং আমাদের অ্যালগরিদমের তৈরি করা ডেটাকে গ্রাফে পাশাপাশি রাখি, তখন দেখা যায় যে আনসুপারভাইজড লার্নিং বেশ ভালো কাজ করেছে। যদিও কিছু জায়গায় ডেটা ওভারল্যাপ (একটার ওপর আরেকটা উঠে যাওয়া) করেছে, তবুও অ্যালগরিদমটি কোনো লেবেল বা উত্তর জানা ছাড়াই তিনটি আলাদা ক্যাটাগরি সুন্দরভাবে শনাক্ত করতে পেরেছে। এটিই হলো আনসুপারভাইজড লার্নিংয়ের ম্যাজিক।


আমার বিশ্লেষণ ও চিন্তাভাবনা (Analysis & Perception)

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

বাস্তব প্রেক্ষাপট: বাস্তব জীবনে যেমন ই-কমার্স সাইটগুলো তাদের কাস্টমারদের বিভিন্ন গ্রুপে ভাগ করে (কারা বেশি কেনাকাটা করে, কারা ডিসকাউন্ট খোঁজে), সেখানে এই পদ্ধতি দারুণ কাজ করে।

পরামর্শ ও বিকল্প: ১. সহজ ব্যাখ্যা: যদি 'PCA' বুঝতে কঠিন লাগে, তবে ভাবুন এটি একটি বড় গল্পকে ছোট করে সারসংক্ষেপ করার মতো, যেখানে গল্পের মূল ভাব পরিবর্তন হয় না। ২. বিকল্প পদ্ধতি: ডাইমেনশন কমানোর জন্য PCA এর বদলে অনেক সময় t-SNE বা UMAP ব্যবহার করা হয় যা আরও নিখুঁত হতে পারে। ৩. সতর্কতা: K-Means ব্যবহারের সময় 'K' এর মান (কয়টি গ্রুপ হবে) আগে থেকে ঠিক করাটা চ্যালেঞ্জিং হতে পারে। এর জন্য 'Elbow Method' ব্যবহার করা ভালো।

সামগ্রিকভাবে, ভিডিওটি বিগিনারদের জন্য আনসুপারভাইজড লার্নিংয়ের একটি চমৎকার হ্যান্ডস-অন গাইড।

[

Machine Learning for Everybody – Full Course

freeCodeCamp.org · 9.4M views

](http://www.youtube.com/watch?v=i_LwzRVP7bg)

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

সিজ্জিন (Sijjin) vs ইল্লিয়িন (Illiyin) পার্থক্য Difference

Sijjin (سِجِّين) এবং Illiyin (عِلِّيِّين) —এ দুটি শব্দ কুরআনে এসেছে এবং দুটোই মানুষের আমলনামা সংরক্ষণ সম্পর্কিত স্থানকে নির্দেশ করে। ১. সিজ্জিন (Sijjin) সিজ্জিন হলো পাপীদের (কাফের, মুনাফিক ও দুরাচারীদের) আমলনামা সংরক্ষণের স্থান। এটি সাত তলদেশের নীচে এক কারাগার বা অন্ধকার জগতে অবস্থিত বলে উল্লেখ রয়েছে। সূরা আল-মুতাফফিফীন (৮৩:৭-৯) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْفُجَّارِ لَفِي سِجِّينٍ ۝ وَمَا أَدْرَاكَ مَا سِجِّينٌ ۝ كِتَابٌ مَرْقُومٌ" অর্থ: "না, পাপীদের আমলনামা সিজ্জিনে সংরক্ষিত। তুমি কি জানো, সিজ্জিন কী? এটি এক লিখিত দলিল।" সিজ্জিনকে একটি কারাগার, সংকীর্ণ স্থান, বা নিচের স্তরে অবস্থিত এক অন্ধকার দুনিয়া হিসেবে ব্যাখ্যা করা হয়। ২. ইল্লিয়িন (Illiyin) ইল্লিয়িন হলো সৎকর্মশীলদের (মুমিন ও নেককারদের) আমলনামা সংরক্ষণের স্থান । এটি সপ্তম আসমানের ওপরে সংরক্ষিত এক সম্মানিত স্থান। সূরা আল-মুতাফফিফীন (৮৩:১৮-২১) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْأَبْرَارِ لَفِي عِلِّيِّينَ ۝ وَمَا أَدْرَاكَ مَا عِلِّيُّونَ ۝ كِتَابٌ مَرْقُومٌ ۝ يَش...

তারাবিহ সমগ্র - প্রথম আলো

রামাদান ২০২৪ উপলক্ষে প্রথম আলোর নিয়মিত আয়োজন - খতমে তারাবিহ'র সূরা গুলো নিয়ে সংক্ষিপ্ত আলোচনা'র লিংক  নিচে দেওয়া হলো।  লিংকে ক্লিক করলেই আপনাকে আলোচনা তে নিয়ে যাবে। তারাবিহ: ১ | একটি খুন ও গাভি নিয়ে বনি ইসরাইলের বাড়াবাড়ি তারাবিহ: ২ | নারীর মর্যাদা ও অধিকার এবং অলৌকিক তিন ঘটনা তারাবিহ: ৩ | যে ১৪ নারীকে বিয়ে করা হারাম তারাবিতে: ১২ | মহানবী (সা.)–এর আকাশভ্রমণ এবং আসহাবে কাহাফের কাহিনি

রেডমি নোট ৯ এর বিস্তারিত | Redmi Note 9 in Bangla

৩০ এপ্রিল, ২০২০ এ শাওমির ঘোষনা আসে এই ফোনটি নিয়ে। কিন্তু ফোনটি মার্কেটে আসে মে মাসের শেষের দিকে৷ করোনার কারনে ফোনটি বাংলাদেশে আসতে আরো সময় নেয়। বর্তমানে বাংলাদেশে আন অফিশিয়াল ভাবে ফোনটি পাওয়া যাচ্ছে৷ বাংলাদেশে অফিশিয়াল ভাবে এখনো ফোনটি আসার তথ্য নেয়৷ চলুন ফোনটি নিয়ে বিস্তারিত আলোচনা করা যাক। শাওমি নোট সিরিজের ফোন বের করে এদের রেডমি নামে সাব ব্যান্ড৷ এদের কাজ হল এই নোট সিরিজ নিয়ে কাজ করা৷ প্রতিবছর নোট সিরিজের ১/২ টা ফোন বাজারে আসে। সাথে সেই ফোন গুলার বিভিন্ন ভার্সন (যেমন - র‍্যাম ও রমের ভিত্তিতে) বাজারে আসে। এই বছরও তারা রেডমি সিরিজের নোট ৯ বাজারে আনে। এই বছর হয়তো এই সিরিজের আরো ফোন বাজারে আসবে। ডিস্পলেঃ ফোনটির ডিসপ্লে সাইজ ৬.৫৩ ইঞ্চি। এতে আইপিএস এলসিডি ডিসপ্লে ব্যবহার করা হয়েছে। এই ফোনের ডিসপ্লে প্রটেকশন হিসেবে আছে গরিলা গ্লাস ফাইভ। স্ক্রিন আর ফোনের বডির অনুপাত প্রায় ৮৩.৫%। এই ফোনের ডিসপ্লে ফুলএইচডি মানে ১০৮০পি। এই ডিস্পলের দৈর্ঘ্য ১৯.৫ একক এবং প্রস্থ হল ৯ একক। এত বড় ফোনের কারনে এই ফোনের পিপি আই ডেনসিটি ৩৯৫। যা একটু কম। প্লাটফর্মঃ এই ফোনের অপারেটিং সিস্টেম এন্ড্রয়েড ১০ এবং এর...