یادگیری بدون نظارت (Unsupervised Learning) یعنی چی؟
در Unsupervised Learning ما فقط ویژگیها (features) را داریم، اما برچسب (label) نداریم.
هدف اینه که مدل خودش الگوها، ساختارها یا گروهبندیهایی توی دادهها پیدا کنه — بدون اینکه از قبل بهش بگیم خروجی چی باید باشه.
مدل کلیدی از مفاهیم Unsupervised Learning
کلید | مفهوم | توضیح ساده |
---|---|---|
دادههای ورودی (Input Data) | فقط ویژگیها | فقط X داریم، بدون y |
برچسب نداریم | بدون نظارت | برخلاف Supervised، مدل نمیدونه خروجی چیه |
خوشهبندی (Clustering) | گروهبندی خودکار | دادهها به دستههایی تقسیم میشن که به هم شبیهترن |
کاهش ابعاد (Dimensionality Reduction) | سادهسازی داده | کم کردن تعداد ویژگیها به شکلی که اطلاعات اصلی حفظ بشه |
الگوریتم معروف | K-Means, DBSCAN, PCA | الگوریتمهایی که ساختار داده رو کشف میکنن |
کاربردها | کشف الگو، فشردهسازی، پیشپردازش | مثال: دستهبندی مشتریها، فشردهسازی تصویر |
مثال واقعی:
فرض کن هزاران تصویر از صورت افراد داریم، ولی نمیدونیم اینا چه کسانی هستن. مدل میتونه اونها رو بر اساس شباهت چهره به چند گروه تقسیم کنه. این یعنی خوشهبندی.
مثال با پایتون: خوشهبندی با K-Means
ما از دیتاست ساده Iris دوباره استفاده میکنیم، ولی این بار بدون برچسب.
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# بارگذاری دادهها
data = load_iris()
X = data.data # فقط ویژگیها، بدون برچسب
# ایجاد مدل خوشهبندی K-Means با ۳ خوشه
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)
# برچسبهای پیشبینیشده توسط مدل
labels = kmeans.labels_
# نمایش خوشهها (فقط با ۲ ویژگی اول برای سادهسازی)
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis')
plt.title("خوشهبندی با K-Means (Iris Dataset)")
plt.xlabel("ویژگی ۱")
plt.ylabel("ویژگی ۲")
plt.show()
نکات مهم:
ما به مدل نگفتیم کدوم گل چی هست.
مدل خودش دادهها رو به ۳ گروه تقسیم کرد.
در واقع سعی کرده الگوهای طبیعی در داده رو پیدا کنه.
کاربردهای Unsupervised Learning:
دستهبندی مشتریان بر اساس رفتار خرید
فشردهسازی تصویر (مثلاً با PCA)
شناسایی ناهنجاریها (مثلاً در سیستمهای امنیتی)
توصیهگرها (مثل پیشنهاد فیلم در نتفلیکس)