کاهش ابعاد یا Dimensionality Reduction فرآیندیه که در طولش تعداد متغیرها یا ویژگیهای (Features) موجود در دادهها کاهش پیدا میکنه؛ بدون اینکه اطلاعات مهم و مرتبط با مسئله به طور قابل توجهی از دست برن.
- تجزیه مولفههای اصلی (PCA): محبوبترین روش برای کاهش ابعاد که با پیدا کردن مولفههای اصلی که بیشترین واریانس دادهها رو حفظ کنن، کار میکنه.
- تجزیه مقادیر منفرد (SVD): روشی که از تجزیه ماتریس برای کاهش بُعد استفاده میکنه.
- تعبیه چندبُعدی مقیاس (MDS): روشی که سعی داره فواصل بین نقاط در فضای کاهش یافته رو حفظ کنه.
- توزیع استوکاستیک همسایگی t-SNE: روشی محبوب برای کاهش بُعدیت که ساختارهای محلی دادهها رو حفظ میکنه و برای تصویرسازی دادههای پیچیده مفیده.
چالشهای کاهش ابعاد شامل انتخاب تعداد ابعاد مناسب برای کاهش، حفظ تمام اطلاعات مهم و اطمینان از اینکه کاهش ابعاد به تفسیرپذیری مدل آسیب نمیزنه، میشه.
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3👌3
❓کوییز شماره ۷۳: چطور عملکرد خوب یک الگوریتم کاهش ابعاد روی دیتاست ارزیابی میشه؟
Anonymous Quiz
38%
با توجه به افزایش دقت مدل بعد از کاهش ابعاد.
48%
زمانیکه الگوریتم تعداد زیادی از فیچرها رو حذف کنه؛ بدون اینکه اطلاعات زیادی از دست برن.
15%
کاهش زمان آموزش مدل بعد از کاهش بُعد.
0%
فقط بر اساس کاهش فضای ذخیرهسازی مورد نیاز برای دادهها.
😎5❤3👍2
روشهای کاهش بُعد دو دسته کلی دارن: روشهایی که فقط ویژگیهای مهم رو حفظ میکنن و روشهایی که ترکیب جدیدی از ویژگیها پیدا میکنن. در دسته اول، سه تکنیک وجود داره: حذف ویژگی به روش عقبگرد، انتخاب ویژگی به روش جلوگرد و جنگلهای تصادفی. در دسته دوم، دو زیر دسته از روشها وجود دارن: روشهای خطی و روشهای غیرخطی
اگه دادهها دارای روابط غیرخطی قوی باشن، استفاده از روشهای غیرخطی مثل Kernel PCA یا t-SNE مناسبه. در حالی که اگه دادهها به صورت خطی جدا بشن، استفاده از PCA یا LDA مؤثرتره. t-SNE برای مجموعههای دادههای بزرگ بسیار زمانبره و نیاز به تنظیم دقیق پارامترها داره.
در نهایت، هدف از کاهش بُعد اینکه بتوانیم دادههای پیچیده رو به شکلی سادهتر برای تحلیل و مدلسازی در یادگیری ماشین تبدیل کنیم. این کار نه تنها به بهبود عملکرد الگوریتمها کمک میکنه بلکه امکان تصویرسازی دادههایی که در فضاهای بُعد بالا قرار دارن رو هم فراهم میکنه. همچنین، با کاهش ابعاد، overfitting هم کاهش پیدا میکنه چون مدل کمتر توسط نویز و ویژگیهای غیرمرتبط تأثیر میپذیره.
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4👌3👏1
❓کوییز شماره ۷۴: کدوم گزینه به درستی تفاوت بین PCA و t-SNE رو توضیح میده؟
Anonymous Quiz
19%
هر دو برای دادههای خطی و غیرخطی به کار میرن.
6%
هر دو تکنیک بر پایه محاسبه فاصلههای ژئودزیک هستند.
52%
برای حفظ ساختارهای محلی در دادههای چند بعدی t-SNE به کار میره ولی PCA ساختار کلی رو حفظ میکنه.
23%
یک تکنیک انتخاب ویژگی PCA هست، در حالی که t-SNE یک تکنیک استخراج ویژگیه.
❤5😎3👌1
تجزیه و تحلیل مولفههای اصلی (PCA) یکی از روشهای پرکاربرد در کاهش ابعاد دادهها در حوزه یادگیری ماشینه. این روش به ما امکان میده تا اطلاعات موجود در دادههای دارای ابعاد بالا رو به شکلی فشرده و با از دست دادن حداقل اطلاعات، در ابعاد کمتری بازنمایی کنیم.
تعداد مولفههای اصلی مورد نیاز بر اساس میزان واریانس (اطلاعات) که یک مولفه اصلی در خودش جا داده، تعیین میشه.
مزایا:
معایب:
- بینایی کامپیوتر: برای پردازش تصویر و شناسایی الگو.
- بیوانفورماتیک: کاربرد در تحلیل دادههای ژنومیک و پروتئومیک.
- فشردهسازی تصاویر: کاهش حجم دادههای تصویری با حفظ اطلاعات مهم.
- کشف الگوها در دادههای با بعد بالا: تجزیه و تحلیل دادههای پیچیده و بزرگ.
- کاهش ابعاد برای تجسم دادهها: تسهیل در تجسم و تحلیل دادههای چند بعدی.
sklearn.decomposition.PCA
در Python استفاده میشه.from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
import pandas as pd
iris = load_iris()
X = iris.data
y = iris.target
pca = PCA(n_components=2) # کاهش به 2 بعد
X_r = pca.fit_transform(X)
df = pd.DataFrame(X_r, columns=['PC1', 'PC2'])
df['Target'] = y
fig, ax = plt.subplots()
colors = ['navy', 'turquoise', 'darkorange']
lw = 2
for color, i, target_name in zip(colors, [0, 1, 2], iris.target_names):
plt.scatter(df[df['Target'] == i]['PC1'], df[df['Target'] == i]['PC2'], color=color, alpha=.8, lw=lw,
label=target_name)
plt.legend(loc='best', shadow=False, scatterpoints=1)
plt.title('PCA of IRIS dataset')
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.show()
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3👌1
❓کوییز شماره ۷۵: PCA چه کاری انجام میده؟
Anonymous Quiz
79%
کاهش ابعاد دادهها و ایجاد ویژگیهای جدید از مجموعه ویژگیهای داده شده.
4%
پیشبینی هدف با کارایی بالا.
6%
ایجاد خوشهها برای شناسایی کلاسها.
11%
ارائه بیشترین تعداد ویژگی ممکن، برای حداکثر کردن کارایی الگوریتم یادگیری ماشین.
❤5👌3👍2
💡چطور از PCA برای تشخیص ناهنجاری استفاده میشه؟
برای تشخیص ناهنجاری با شناسایی تغییرات غیرعادی در واریانس دادهها از PCA استفاده میشه. در حالتی که دادهها در فضایی با بعد بالا قرار دارن، PCA میتونه به کاهش ابعاد دادهها کمک کنه و اجازه بده تا الگوهای ناهنجاری که در ابعاد اصلی دادهها پنهان شذن، به راحتی تشخیص داده شن. این کار با برجستهسازی تفاوتها در ویژگیهای کلیدی دادهها انجام میشه، که شامل ناهنجاریهای آماری یا الگوهای دادهای غیرمعموله.
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
برای تشخیص ناهنجاری با شناسایی تغییرات غیرعادی در واریانس دادهها از PCA استفاده میشه. در حالتی که دادهها در فضایی با بعد بالا قرار دارن، PCA میتونه به کاهش ابعاد دادهها کمک کنه و اجازه بده تا الگوهای ناهنجاری که در ابعاد اصلی دادهها پنهان شذن، به راحتی تشخیص داده شن. این کار با برجستهسازی تفاوتها در ویژگیهای کلیدی دادهها انجام میشه، که شامل ناهنجاریهای آماری یا الگوهای دادهای غیرمعموله.
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
👍4❤2👌1
الگوریتم t-SNE مخفف t-distributed Stochastic Neighbor Embedding، یک تکنیک کاهش بعد غیرخطی در یادگیری ماشینه که برای مصور سازی دادههای چند بعدی در فضایی با بعد پایینتر طراحی شده. این الگوریتم به طور گستردهای برای کشف الگوها و ساختارهای پنهان در مجموعههای داده پیچیده استفاده میشه.
مزایا
معایب
این الگوریتم در زمینههای مختلف مثل بیوانفورماتیک، تحقیقات پزشکی، امنیت سایبری، پردازش زبان طبیعی، و تجزیه و تحلیل دادههای شبکه کاربرد داره.
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
digits = load_digits()
X = digits.data
y = digits.target
tsne = TSNE(n_components=2, random_state=0)
X_2d = tsne.fit_transform(X)
plt.figure(figsize=(10, 5))
plt.scatter(X_2d[:, 0], X_2d[:, 1], c=y, cmap='jet', edgecolor='k', s=40)
plt.colorbar()
plt.title('t-SNE visualization of digit data')
plt.xlabel('t-SNE axis 1')
plt.ylabel('t-SNE axis 2')
plt.show()
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌3👍2❤1👨💻1
❓کوییز شماره ۷۶: پارامتر min_dist در UMAP چه نقشی داره؟
Anonymous Quiz
26%
تعیین کننده تعداد خوشههاییه که UMAP تولید میکنه.
47%
حداقل فاصله مجاز بین نقاط در نمایش کمبعدی رو کنترل میکنه.
16%
روی مقیاس فاصلهها در فضای اصلی دادهها تاثیر میگذاره.
11%
کیفیت بصری نمودارهای تولید شده توسط UMAP رو بهبود میده.
👍3🤔2😎2
آموزش دیتاساینس و ماشینلرنینگ
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌3❤2👍1🔥1
الگوریتم UMAP، مخفف Uniform Manifold Approximation and Projection، یک روش پیشرفته کاهش ابعاده که با هدف حفظ روابط و ویژگیهای موجود بین نقاط داده و کشف ساختار Global در دادهها، طراحی شده.
در مقایسه با t-SNE، الگوریتم UMAP سریعتر و مقیاسپذیرتره و امکان استفاده ازش در مجموعههای داده با اندازه بزرگتر ممکنه. همچنین، UMAP قابلیت تعمیم به دادههای جدید رو داره.
مزایا:
معایب:
الگوریتم UMAP در زمینههای مختلفی مثل بیولوژی سیستمها، تحلیل دادههای ژنتیکی، تجسم دادههای پیچیده و فهم ساختارهای زیربنایی در مجموعههای داده بزرگ کاربرد داره. این روش مخصوصا برای تحلیل ساختارهای زیربنایی در دادههای پیچیده و بزرگ مفیده.
import umap
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
digits = load_digits()
X = digits.data
y = digits.target
reducer = umap.UMAP()
X_reduced = reducer.fit_transform(X)
plt.figure(figsize=(10, 5))
plt.scatter(X_reduced[:, 0], X_reduced[:, 1], c=y, cmap='Spectral', edgecolor='k', s=40)
plt.colorbar()
plt.title('UMAP visualization of digit data')
plt.xlabel('UMAP axis 1')
plt.ylabel('UMAP axis 2')
plt.show()
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌4❤2👍2👨💻1
❓کوییز شماره ۷۷: نقش تابع هزینه در الگوریتم UMAP چیه؟
Anonymous Quiz
24%
برای تعیین سرعت همگرایی الگوریتم استفاده میشه.
24%
برای اندازهگیری فاصله بین نقاط در فضای اصلی و فضای کمبعد استفاده میشه.
36%
برای اندازهگیری شباهت بین نمایش دادهها در فضای اصلی و فضای کمبعد استفاده میشه.
16%
فقط برای تنظیم پارامترهای الگوریتم مثل تعداد همسایهها و فاصله حداقل استفاده میشه.
👍3😎3🤔2
آموزش دیتاساینس و ماشینلرنینگ
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2👌2
هر جا که دادههای با بعد بالا وجود داشته باشه و نیاز به تجزیه و تحلیل، تجسم یا سادهسازیشون باشه، تکنیکهای کاهش ابعاد میتونن به کار برده شن.
استفاده از این روشها در پروژههای یادگیری ماشین به بهبود کارایی مدلها و کشف اطلاعات معنادار از بین دادههای پیچیده کمک میکنه.
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3👏2
❓کوییز شماره ۷۸: در کدوم سناریو زیر استفاده از t-SNE بهتر از PCA برای کاهش ابعاد، در حین کار با یک سیستم با حداقل توان محاسباتیه؟
Anonymous Quiz
29%
مجموعه داده با 1 میلیون ورودی و 300 ویژگی
19%
مجموعه داده با 100,000 ورودی و 310 ویژگی
33%
مجموعه داده با 10,000 ورودی و 8 ویژگی
19%
مجموعه داده با 10,000 ورودی و 200 ویژگی
😎5👍3🤔1
یک روش ریاضیه که امکان میده تا مسائل غیرخطی رو به نحوی تغییر بدیم که بشه از روشهای خطی برای حلشون استفاده کرد. در kPCA به جای کار با ماتریس کوواریانس، از ماتریس هسته استفاده میشه.
این ماتریس نشون میده که هر دو نقطه داده در فضای جدید چقدر به هم شبیه هستن؛ فضای جدیدی که با استفاده از یک تابع خاص (هسته) به دست اومده.
برای مثال در مواردی مثل تشخیص چهره، جایی که دادهها به صورت غیرخطی در فضای اصلی پخش شدن، kPCA برای استخراج ویژگیها و کاهش ابعاد، بدون تغییر ساختار غیرخطی دادهها کاربرد داره.
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👌2👨💻1
#Weekend
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3👍2🔥2
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👌2🔥1
دنیای دادهها جذابه و دونستن علم داده، توانایی تحلیل داده، یا بازاریابی مبتنی بر داده، میتونه شما رو برای فرصتهای شغلی زیادی مناسب کنه.
فارغ از رشته و پیش زمینهتون، میتونین با استفاده از دورههای رضا شکرزاد این مسیر رو شروع کنین و از سطح مقدماتی تا پیشرفته پیش برین.
❗️دانشجویان دوره علم داده ۱ میتونن با پرداخت اختلاف هزینه، دوره جامع رو تهیه کنن.
#Courses
@DSLanders | دیاسلندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1🔥1
تشخیص ناهنجاری اشاره به تکنیکها و روشهایی داره که در اونها دادههایی که از الگوهای معمول متفاوت هستن، شناسایی میشن.
هدف اصلی از تشخیص ناهنجاری، شناسایی دادهها یا رویدادهایی هست که از الگوهای معمول یا مورد انتظار منحرف هستن. این کار به دلایل زیر انجام میتونه انجام شه:
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥1
❓کوییز شماره ۷۹: کدوم یک از گزینههای زیر به درستی انواع ناهنجاریهای موجود در دادهها رو شرح میده؟
Anonymous Quiz
16%
ناهنجاریهای جهانی و ناهنجاریهای محلی
44%
ناهنجاریهای نقطهای، ناهنجاریهای زمینهای و ناهنجاریهای جمعی
19%
ناهنجاریهای بر اساس خطا و ناهنجاریهای بر اساس تقلب
22%
ناهنجاریهای دستهبندی شده و ناهنجاریهای غیردستهبندی شده
❤5😎3🔥2