آموزش دیتاساینس و ماشین‌لرنینگ
1.9K subscribers
161 photos
9 videos
134 links
🔴 آموزش مباحث حوزه دیتا شامل علم داده، یادگیری ماشین و تحلیل داده (رضا شکرزاد)

🌀 کانال اخبار و منابع هوش مصنوعی:
@DSLanders

🌀 مشاوره و ارتباط مستقیم:
https://t.iss.one/dslanders_admin

یوتیوب:
Youtube.com/@RezaShokrzad

دوره‌ها:
cafetadris.com/datascience
Download Telegram
👨‍🏫 تابع هزینه در لجستیک رگرسیون

به تابع هزینه (Cost Function) در لجستیک رگرسیون، Cross-Entropy گفته می‌شه. این تابع به ما کمک می‌کنه تا میزان اختلاف بین پیش‌بینی‌های مدل و داده‌های واقعی رو اندازه‌گیری کنیم و هدف کاهش این اختلافه تا مدل بتونه پیش‌بینی‌های دقیق‌تری ارائه بده.

🔵آنتروپی متقاطع به دو دسته تقسیم میشه: Binary Cross-Entropy و Multi-Class Cross-Entropy. توی Binary Cross-Entropy، مدل تلاش می‌کنه تا پیش‌بینی‌هایی با دو دسته‌بندی مثل "بله" یا "خیر" ارائه بده. این روش در مواردی که تنها دو دسته‌بندی ممکنه، مثل تشخیص ایمیل‌های اسپم یا غیراسپم، کاربرد داره. در مقابل، Multi-Class Cross-Entropy برای موقعیت‌هایی به کار می‌ره که بیشتر از دو دسته‌بندی ممکنه، مثل دسته‌بندی انواع گل‌ها یا حیوانات.

🔵تابع سیگموید (Sigmoid Function)، که گاهی اوقات به عنوان "تابع لجستیک" (Logistic Function) هم شناخته می‌شه، یه جزء اصلی در لجستیک رگرسیونه. این تابع هر مقدار ورودی رو به یک احتمال بین صفر و یک تبدیل می‌کنه. برای مثال، اگه خروجی تابع سیگموید 0.7 باشه، این به معنی 70 درصد احتمال وقوع یک رویداد خاصه. این خصوصیت تابع سیگموید اونو برای مدل‌های طبقه‌بندی باینری ایده‌آل می‌کنه.

🔵زمانی که Cross-Entropy و تابع سیگموید در کنار هم استفاده شن، به مدل کمک می‌کنن تا به طور موثر بین دسته‌بندی‌های مختلف تمایز قائل شه. در نتیجه با تنظیم وزن‌ها و بایاس‌ها، بهترین تطابق رو بین داده‌های ورودی و خروجی‌های مورد نظر پیدا میشه.

🔵میشه Cross-Entropy رو از کتابخانه‌های محبوب یادگیری ماشین مثل TensorFlow و PyTorch وارد کرد. این کتابخانه‌ها توابع پیش‌ساخته‌ای رو برای محاسبه Cross-Entropy ارائه می‌دن.

import tensorflow as tf

# Binary Cross-Entropy
binary_CE = tf.keras.losses.BinaryCrossentropy()
loss = binary_CE(y_true, y_pred)

# Multi-Class Cross-Entropy
categorical_CE = tf.keras.losses.CategoricalCrossentropy()
loss = categorical_CE(y_true, y_pred)


#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍4👨‍💻2
کوئیز شماره ۲۳: تابع هزینه در لجستیک رگرسیون

چه زمانی تابع هزینه کراس آنتروپی توی لجستیک رگرسیون به بیشترین مقدارش می‌رسه؟
Anonymous Quiz
21%
زمانی که پیش‌بینی دقیقاً برابر با برچسب واقعیه
54%
زمانی که پیش‌بینی کاملاً مخالف برچسب واقعی
20%
زمانی که تمام پیش‌بینی‌ها 0.5 هستن
4%
تابع هزینه همیشه یک مقدار ثابت داره
6😎4👍1
💡تاثیر Regularization روی لجستیک رگرسیون

می‌تونیم از یه تکنیک به نام "regularization" برای جلوگیری از بیش‌برازش (overfitting) استفاده کنیم. بیش‌برازش زمانی اتفاق می‌افته که مدل بیش از حد به داده‌های آموزشی وابسته شده و توانایی تعمیم (generalization) به داده‌های جدید رو از دست می‌ده. Regularization با اضافه کردن یه جمله جریمه‌ای (penalty term) به تابع هزینه (cost function)، وزن‌های مدل رو کنترل می‌کنه.

دو روش رایج برای این کار، L1 Regularization و L2 Regularization هستن که به ترتیب به عنوان Lasso و Ridge شناخته می‌شن. این روش‌ها با کنترل اندازه وزن‌ها، از پیچیدگی بیش از حد مدل جلوگیری می‌کنن و کارایی رو در پیش‌بینی داده‌های جدید افزایش می‌دن.

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👨‍💻32
👨‍🏫 روش‌های بهینه سازی در لجستیک رگرسیون

در رگرسیون لجستیک، هدف اصلی، تنظیم پارامترهای مدل به نحویه که خطای پیش‌بینی به حداقل برسه. این کار از طریق بهینه‌سازی تابع ضرر (Loss Function) انجام میشه که نشون‌دهنده تفاوت بین پیش‌بینی‌های مدل و مقادیر واقعیه.

🔵 روش‌های مبتنی بر گرادیان

🔵گرادیان کاهشی (Gradient Descent): این روش با محاسبه گرادیان تابع ضرر و به‌روزرسانی پارامترها در جهت مخالف اون عمل می‌کنه تا به کمینه محلی (Local Optimum) تابع هزینه برسه. این روش بیشتر برای داده‌های کم مناسبه و در مقابله با داده‌های حجیم ممکنه به خوبی عمل نکنه.

🔵گرادیان کاهشی تصادفی (Stochastic Gradient Descent): این نسخه‌ بهبود و تکامل یافته روش گرادیان کاهشیه که در اون گرادیان (مشتق) تابع هزینه برای زیرمجموعه‌های تصادفی از داده‌ها در هر مرحله محاسبه می‌شن. این رویکرد با سرعت بالای محاسباتی، برای داده‌های حجیم مناسبه و کارایی یادگیری ماشین رو بهبود می‌ده.

🔵 روش‌های مبتنی بر نیوتن

🔵روش نیوتن (Newton Method): روش نیوتن، به عنوان روش نیوتن-رافسون هم شناخته می‌شه، از مشتق دوم تابع ضرر برای بهینه‌سازی استفاده می‌کنه. این روش توانایی داره که نقاط کمینه تابع ضرر رو با دقت بالا و سرعت زیاد پیدا کنه، به خصوص در مواردی که با تابع ضرر پیچیده یا داده‌هایی با توزیع‌های خاص روبرو هستیم. با این حال، محاسبه مشتق دوم و می‌تونه هزینه محاسباتی بالایی داشته باشه، به ویژه در مواردی که با داده‌های با ابعاد بالا سروکار داریم.

🔵روش‌های شبه-نیوتن (Quasi-Newton Methods): روش‌های شبه-نیوتن برای حل مشکلات محاسباتی مرتبط با روش نیوتن توسعه یافتن. این روش‌ها، مثل الگوریتم BFGS یا L-BFGS، بدون نیاز به محاسبه مستقیم ماتریس هسیان (مشتق دوم)، تلاش می‌کنن که یه تخمین دقیق از گرادیان دوم ارائه بدن. این روش‌ها برای مواردی که با حجم بزرگ داده‌ها مواجه هستیم یا مدل‌هایی که پارامترهای زیادی دارن، بسیار مؤثرن و می‌تونن نسبت به روش نیوتن کارایی بالاتری داشته باشن، به خصوص از نظر محاسباتی.

🔵 انتخاب روش بهینه‌سازی

انتخاب روش بهینه‌سازی مناسب برای رگرسیون لجستیک به عواملی مثل ویژگی‌های داده، اندازه مجموعه داده و پیچیدگی مدل بستگی دارد. به طور کلی، گرادیان کاهشی برای داده‌های کم و گرادیان کاهشی تصادفی برای داده‌های حجیم مناسبه، در حالی که روش‌های نیوتن و شبه-نیوتن ممکنه در شرایط خاص کارایی بهتری داشته باشند.

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2👏2
کوئیز شماره ۲۴: روش‌های بهینه‌سازی Logistic Regression
کدوم روش‌ بیشترین سرعت همگرایی رو در رگرسیون لجستیک داره؟
Anonymous Quiz
29%
گرادیان کاهشی مینی-بچ (Mini-Batch Gradient Descent)
40%
گرادیان کاهشی تصادفی (SGD)
27%
روش نیوتن-رافسون
4%
روش شبه-نیوتن (Quasi-Newton Methods)
😎5👍31👏1
👨‍🏫 معیارهای ارزیابی Logistic Regression

برای ارزیابی عملکرد مدل رگرسیون لجستیک، چندین معیار ارزیابی مختلف وجود داره که هر کدوم جنبه‌های مختلفی از عملکرد مدل رو مورد بررسی قرار می‌دن. این معیارها به ما کمک می‌کنن تا درک بهتری از کیفیت پیش‌بینی‌های مدل به دست بیاریم.

🔵Accuracy

دقت (Accuracy) یکی از ساده‌ترین و رایج‌ترین معیارهاست. این معیار نسبت تعداد پیش‌بینی‌های صحیح به کل تعداد پیش‌بینی‌ها رو نشان می‌ده. دقت برای مسائلی که تعادل خوبی بین کلاس‌ها دارن مناسبه، اما ممکنه در مواقعی که توزیع کلاس‌ها نامتوازن هست، گمراه‌ کننده باشه.

from sklearn.metrics import accuracy_score

y_true = [1, 0, 1, 1, 0, 1]
y_pred = [1, 0, 0, 1, 0, 1]
accuracy = accuracy_score(y_true, y_pred)
print("Accuracy:", accuracy)


🔵Precision & Recall

سنجه Precision نشون‌دهنده تعداد پیش‌بینی‌های صحیح مثبت نسبت به کل تعداد پیش‌بینی‌های مثبته و سنجه Recall نشون‌دهنده تعداد پیش‌بینی‌های صحیح مثبت نسبت به کل تعداد موارد واقعی مثبته.

from sklearn.metrics import precision_score, recall_score

precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
print("Precision:", precision)
print("Recall:", recall)


🔵F1 Score

سنجه F1 Score میانگین هارمونیک دقت کلاس و Recall هست. این معیار برای مواقعی که توازن بین دقت کلاس و Recall مهمه، مناسبه.

from sklearn.metrics import f1_score

f1 = f1_score(y_true, y_pred)
print("F1 Score:", f1)


🔵ROC (Receiver Operating Characteristic) & AUC (Area Under the Curve)

منحنی ROC رابطه بین نرخ مثبت‌های واقعی (True Positive Rate) و نرخ منفی‌های کاذب (False Positive Rate) رو برای مجموعه‌ای از آستانه‌های (Threshold) مختلف نشون می‌ده.

به مساحتی که زیر منحنی ROC قرار می‌گیره، AUC میگن و به عنوان یه سنجه جامع برای ارزیابی کیفیت عملکرد کلی مدل‌های طبقه‌بندی به کار می‌ره. هرچی مقدار AUC به ۱ نزدیک‌تر باشه، نشون میده که مدل توانایی بالایی توی تفکیک بین کلاس‌های مثبت و منفی داره و در نتیجه، عملکرد مدل بهتری داره.

from sklearn.metrics import roc_auc_score

# مقادیر y_pred باید به صورت احتمالات باشن. در اینجا فرض می‌کنیم y_pred احتمالات هستن.
y_pred_probs = [0.9, 0.1, 0.8, 0.9, 0.2, 0.7]
auc = roc_auc_score(y_true, y_pred_probs)
print("AUC:", auc)


🔵Confusion Matrix

ماتریس درهم‌ریختگی جدولیه که تعداد پیش‌بینی‌های صحیح و غلط رو در هر کلاس نشون می‌ده. این ماتریس به تحلیل دقیق‌تر عملکرد مدل توی هر کلاس کمک می‌کنه.

from sklearn.metrics import confusion_matrix

conf_matrix = confusion_matrix(y_true, y_pred)
print("Confusion Matrix:\n", conf_matrix)


#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52👨‍💻1
کوئیز شماره ۲۵: معیارهای ازریابی Logistic Regression

کدوم معیار بهترین شاخص برای ارزیابی عملکرد یه مدل رگرسیون لجستیک توی مجموعه داده‌های نامتوازنه؟ کدوم معیار نشون دهنده کیفیت تفکیک داده‌ها توسط مدله؟
Anonymous Quiz
19%
Accuracy - R-squared
23%
Precision - Log-Likelihood
54%
F1 Score - AUC-ROC
4%
Sensitivity - MSE
😎7👍32
💡بررسی معیارهای ارزیابی طبقه‌بندی دودویی

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81👨‍💻1
👨‍🏫 مدل‌های Sklearn برای رگرسیون لجستیک

توی این پست، به مدل‌های مختلف رگرسیون لجستیک توی کتابخانه Sklearn می‌پردازیم. Sklearn یه کتابخانه محبوب زبان برنامه‌نویسی پایتونه که توی حوزه یادگیری ماشین کاربرد داره.
🔵LogisticRegression

این مدل اولیه در Sklearn بهتون اجازه می‌ده تا مسائل دسته‌بندی دوتایی و چندتایی رو حل کنین. می‌تونین با تنظیم پارامترهایی مانند solver (الگوریتم بهینه‌سازی) و penalty (نوع جریمه برای جلوگیری از بیش‌برازش)، مدل رو براساس تسک تنظیم کنین.

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LogisticRegression(solver='liblinear')
model.fit(X_train, y_train)
print(f'Accuracy: {model.score(X_test, y_test)}')


🔵LogisticRegressionCV

این مدل، LogisticRegression رو با قابلیت اعتبارسنجی متقاطع (Cross-Validation) ارائه می‌ده. در نتیجه می‌تونین بهترین پارامترها مثل Cs (مقادیر مختلف برای قدرت جریمه) رو پیدا کنین و مدل رو حین آموزش بهینه کنین.

from sklearn.linear_model import LogisticRegressionCV
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LogisticRegressionCV(Cs=10, cv=4, random_state=0)
model.fit(X_train, y_train)
print(f'Accuracy: {model.score(X_test, y_test)}')


🔵SGDClassifier

این مدل برای دسته‌بندی با استفاده از روش گرادیان کاهشی تصادفی (Stochastic Gradient Descent) کار می‌کنه. با تنظیم پارامتر loss به log, می‌تونین از این مدل برای رگرسیون لجستیک استفاده کنین. این مدل برای داده‌های بزرگ و پیچیده مناسبه.

from sklearn.linear_model import SGDClassifier
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = SGDClassifier(loss='log', max_iter=1000, tol=1e-3)
model.fit(X_train, y_train)
print(f'Accuracy: {model.score(X_test, y_test)}')


#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
9👨‍💻2👍1
💡مقایسه مدل‌های رگرسیون لجستیک در Sklearn

یه نکته قابل توجه در مورد استفاده از SGDClassifier برای رگرسیون لجستیک اینکه این مدل به دلیل استفاده از روش گرادیان کاهشی تصادفی (SGD)، به تنظیم دقیق‌تر پارامترها و داده‌های اولیه نیاز داره.

برعکس LogisticRegression و LogisticRegressionCV که به صورت خودکار به بهینه‌سازی دقیق‌تر می‌پردازن، SGDClassifier ممکنه به دلیل طبیعت تصادفیش در هر بار اجرا نتایج متفاوتی ارائه بده. این ویژگی می‌تونه در مجموعه‌ داده‌ها با حجم بالا و پیچیدگی زیاد مفید باشه، اما ممکنه در مجموعه‌های کوچک‌ یا ساده‌تر به اندازه دو مدل دیگه دقیق نباشه.

در نتیجه، استفاده از SGDClassifier در مواردی که دقت و پایداری در هر بار اجرا اهمیت داره، باید با دقت انجام شه و احتمالاً نیاز به اعمال تکنیک‌هایی مثل تنظیم پارامتر و تکرار چند باره برای رسیدن به نتایج معتبر داره.

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👏1👨‍💻1
پست‌های هفته‌ای که گذشت رو این‌جا پیدا کنین!

🔺 آموزشی

🔵تعریف و انواع Logistic Regression
👉🔗 https://t.iss.one/data_ml/77

🔵کاربردهای Logistic Regression
👉🔗 https://t.iss.one/data_ml/80

🔵تابع هزینه در لجستیک رگرسیون
👉🔗 https://t.iss.one/data_ml/83

🔵روش‌های بهینه سازی در لجستیک رگرسیون
👉🔗 https://t.iss.one/data_ml/86

🔵معیارهای ارزیابی Logistic Regression
👉🔗 https://t.iss.one/data_ml/88

🔵مدل‌های Sklearn برای رگرسیون لجستیک
👉🔗 https://t.iss.one/data_ml/91

🔺 کوئیز

🔵کوئیز شماره ۲۱: روش‌ برازش داده در Logistic Regression
👉🔗 https://t.iss.one/data_ml/78

🔵کوئیز شماره ۲۲: استانداردسازی در Logistic Regression
👉🔗 https://t.iss.one/data_ml/81

🔵کوئیز شماره ۲۳: تابع هزینه در لجستیک رگرسیون
👉🔗 https://t.iss.one/data_ml/84

🔵کوئیز شماره ۲۴: روش‌های بهینه‌سازی Logistic Regression
👉🔗 https://t.iss.one/data_ml/87

🔵کوئیز شماره ۲۵: معیارهای ازریابی Logistic Regression
👉🔗 https://t.iss.one/data_ml/89

🔵کوئیز شماره ۲۶: LogisticRegression در Sklearn
👉🔗 https://t.iss.one/data_ml/92

🔺 نکات

🔵مقایسه رگرسیون و لجستیک رگرسیون
👉🔗 https://t.iss.one/data_ml/79

🔵امکان داشتن تحلیل‌های پیچیده با Logistic Regression
👉🔗 https://t.iss.one/data_ml/82

🔵تاثیر Regularization روی لجستیک رگرسیون
👉🔗 https://t.iss.one/data_ml/85

🔵بررسی معیارهای ارزیابی طبقه‌بندی دودویی
👉🔗 https://t.iss.one/data_ml/90

🔵مقایسه مدل‌های رگرسیون لجستیک در Sklearn
👉🔗 https://t.iss.one/data_ml/93

#Weekend
#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93👏1
Audio
🟡 توضیحات وبینار رایگان: معرفی منابع مطالعاتی و بازارکار ماشین لرنینگ

🔺 سرفصل‌ها

🔵 ماشین لرنینگ (ML) چیست؟
🔵 تفاوت ML و DL و AI
🔵 مدل‌های معروف مورد استفاده در ML
🔵 پیش نیازها و منابع مطالعاتی
🔵 نحوه کار پیدا کردن شغل در این حوزه

📆 یکشنبه، ۲۶ آذر ساعت ۲۰

🟢 رایگان ثبت‌نام کنین:‌
👉📎 https://ctdrs.ir/cr15061

@DSLanders | دی‌اس‌لندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥1👌1
👩‍🎓 برنامه آموزشی هفته: تکنیک‌های تنظیم یا رگولاریزاسیون (Regularization)

🟠شنبه: L1 Regularization

🔵یک‌شنبه: L2 Regularization

🟢دوشنبه: ترکیب رگولاریزاسیون L1 و L2

🔴سه‌شنبه: افزایش داده (Data Augmentation)

🟠چهارشنبه: انتخاب ویژگی (Feature Selection)

🔵پنج‌شنبه: راه‌حل‌های مبتنی بر مدل

🟢جمعه: جمع بندی

#Machine_Learning
#Regularization

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74👨‍💻1
👨‍🏫 آشنایی با تکنیک L1 Regularization

تکنیک L1 Regularization که گاهی به عنوان Lasso Regularization هم شناخته می‌شه، یه تکنیک در یادگیری ماشینه که برای جلوگیری از overfitting (بیش‌برازش) در مدل‌های پیچیده استفاده می‌شه. این روش با اضافه کردن یه جمله جریمه به تابع هزینه مدل، به کنترل پیچیدگی کمک می‌کنه.

🔵این جمله جریمه برابره با مجموع مقادیر مطلق وزن‌های مدل (coefficients)، ضربدر یک ضریب λ (lambda) هست. فرمول L1 به شکل زیره و توی این فرمول، α یه پارامتره که میزان جریمه رو تعیین می‌کنه. w وزن‌های مدل هستن.

L1 = α * sum(|w|)

🔵تأثیر L1 Regularization

این تکنیک می‌تونه منجر به وزن‌هایی شه که برابر با صفر هستن (Sparsity)، در نتیجه بعضی از ویژگی‌ها کاملاً از مدل حذف شن. علاوه بر این به طور طبیعی می‌تونه به عنوان یه روش انتخاب ویژگی (Feature Selection) عمل کنه.

🔵نحوه انتخاب Lambda

افزایش λ و انتخابش با مقدار بزرگ منجر به افزایش جریمه و کاهش پیچیدگی مدل می‌شه و می‌تونه underfitting ایجاد کنه. کاهش λ منجر به کاهش تأثیر regularization و افزایش خطر overfitting می‌شه.

🔵کاربردها و محدودیت‌ها

این تکنیک توی مدل‌هایی با تعداد ویژگی‌ زیاد، مخصوصا زمانیکه بعضی ویژگی‌ها ممکنه نامرتبط باشن، کاربرد داره. همچنین با کمک به کاهش وابستگی به داده‌های آموزشی، پیش‌بینی‌های پایدارتری ارائه میده. تعیین مقدار مناسب برای λ می‌تونه چالش‌برانگیز باشه و گاهی ممکنه بعضی ویژگی‌های مهم به اشتباه حذف شن.

🔵مثال

فرض کنین یه مدل رگرسیون داریم که برای پیش‌بینی قیمت خونه استفاده می‌شه. داده‌های آموزشی این مدل شامل ویژگی‌هایی مثل متراژ، تعداد اتاق‌ها و موقعیت مکانیه. با استفاده از L1 Regularization، می‌توانیم از overfitting جلوگیری کنیم و دقت مدل رو بهبود ببخشیم. برای این کار، باید مقدار α رو تنظیم کنیم. مقدار α باید به طوری باشه که باعث شه وزن‌های مدل کوچک شن، اما باعث کاهش دقت مدل نشه. با آزمایش مقدارهای مختلف α، می‌تونیم مقدار مناسبی رو پیدا کنیم که باعث بهبود عملکرد مدل شه.

🔵جمع‌بندی

تکنیک L1 Regularization یه ابزار قدرتمنده که به کاهش overfitting و بهبود تعمیم‌پذیری کمک می‌کنه.

#Machine_Learning
#Regularization

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64👨‍💻1
💡 یک نکته مهم درباره L1 Regularization اینکه ممکنه در شرایطی که چند ویژگی (Feature) قویاً به باهم مرتبط باشن، فقط یکی از ویژگی‌ها رو انتخاب کنه و بقیه رو نادیده بگیره و این مسئله می‌تونه روی تفسیر پذیری مدل تأثیر منفی داشته باشه.

#Machine_Learning
#Regularization

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌8👍2👨‍💻1
👨‍🏫 آشنایی با تکنیک L2 Regularization

تکنیک L2 Regularization که گاهی به عنوان Ridge Regularization هم شناخته می‌شه، یه تکنیک در یادگیری ماشینه که برای جلوگیری از overfitting (بیش‌برازش) در مدل‌های پیچیده استفاده می‌شه. این روش با اضافه کردن یه جمله جریمه به تابع هزینه مدل ماشین لرنینگ، به کنترل پیچیدگی کمک می‌کنه.

🔵این جمله جریمه برابره با مجموع مربع‌های وزن‌های مدل (coefficients)، ضربدر یک ضریب λ (lambda). فرمول L2 به شکل زیره و توی این فرمول، λ یه پارامتره که میزان جریمه رو تعیین می‌کنه. w وزن‌های مدل هستن.

L2 = λ * sum(w²)

🔵تأثیر L2 Regularization

این تکنیک کمک می‌کنه تا وزن‌های مدل پایین نگه داشته شن و جلوی وابستگی بیش از حد به داده‌های خاص گرفته شه. این روش به افزایش تعمیم پذیری مدل کمک می‌کنه؛ در نتیجه مدل برابر داده‌های جدید عملکرد بهتری داره.

🔵نحوه انتخاب Lambda

افزایش λ و انتخابش با مقدار بزرگ منجر به افزایش جریمه و کاهش پیچیدگی مدل می‌شه و می‌تونه underfitting ایجاد کنه. کاهش λ منجر به کاهش تأثیر regularization و افزایش خطر overfitting می‌شه. به Lambda اصطلاحا regularization rate هم میگم.

🔵کاربردها و محدودیت‌ها

رگرسیون ریج توی مدل‌هایی که ویژگی‌ها همبستگی دارن، موثره و کاربرد داره. انتخاب λ مناسب می‌تونه چالش‌برانگیز باشه و باید با دقت انجام شه.

#Machine_Learning
#Regularization

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63👨‍💻2
کوئیز شماره ۲۸: فرض کنید λ در تنظیم L2 به نحوی انتخاب شده که باعث صفر شدن بعضی از وزن‌ها می‌شه. این حالت چه نتیجه‌ای داره؟
Anonymous Quiz
14%
مدل به شدت overfit شده
14%
تنظیم L2 به اشتباه به عنوان L1 اجرا شده
50%
مقدار λ بیش از حد بزرگه و ممکنه به underfitting منجر شه.
23%
این یه سناریو غلطه و باید بررسی شه که آیا محاسبات به درستی انجام شده یا نه
😎6👍31👏1
💡مقایسه تکنیک‌های تنظیم L1 و L2

🔵زمانیکه انتخاب ویژگی (Feature Selection) مهمه، L1 رو انتخاب می‌کنیم چون بعضی وزن‌ها رو صفر می‌کنه و انتخاب ویژگی انجام می‌ده. برای مدل‌هایی که نیاز به استفاده از همه ویژگی‌ها دارن L2 ترجیح داده می‌شه چون هیچ ویژگی رو کاملاً حذف نمی‌کنه.

🔵زمانی که با داده‌های پرت مواجه هستیم L1 ممکنه بهتر باشه چون مقاومت بیشتری نشون می‌ده.

🔵در شرایطی که همبستگی بین ویژگی‌ها وجود دارد L2 مفیده چون همبستگی‌ها رو مدیریت می‌کنه و به یک راه‌حل منحصر به فرد می‌رسه.

🔵انتخاب بین L1 و L2 باید بر اساس داده‌های خاص، مسئله و نیازهای مدل‌سازی باشه. گاهی اوقات استفاده از ترکیبی از هر دو در قالب Elastic Net می‌تونه بهترین نتایج رو ارائه بده.

#Machine_Learning
#Regularization

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌73👍2