- بواسطة x32x01 ||
وبصراحة، من غير ما تفهم الكلمة دي كويس، عمرك ما هتقدر تبني Model قوي ولا توصل لأفضل Accuracy مهما عملت
البوست يخليك فاهم يعني إيه Hyperparameters، ليه مهمة جدًا، وإزاي بتأثر فعليًا على أداء أي Model في التعلم الآلي. وهنمشي واحدة واحدة، ومع كل خوارزمية هندي مثال كود عملي علشان الصورة تبقى أوضح.
يلا بينا نبدأ
يعني إيه Hyperparameters أصلاً؟ 
بص يا معلم…عندك نوعين من القيم في أي Machine Learning Model:
- Parameters
دي الحاجات اللي النموذج بيتعلمها بنفسه… زي الـ Weights في Linear Regression أو الحدود في Decision Tree. - Hyperparameters
دي بقى اللي بنضبطها بإيدينا قبل ما النموذج يبدأ التدريب.
يعني أنت اللي بتختار:- عمق الشجرة؟
- عدد الجيران؟
- نوع الـ Kernel؟
- قوة الانتظام Regularization؟
- Learning Rate؟
- Batch Size؟
- وكل قيمة من دي بتغيّر شكل النموذج بالكامل
.
الخلاصة:
Hyperparameters = الريموت كنترول بتاع الـ Model… لو ظبطته صح، النموذج يشتغل زي الوحش
طب ليه Hyperparameters مهمة للدرجة دي؟
لأنها ببساطة بتتحكم في:- سرعة التدريب
- قدرة النموذج على التعميم Generalization
- الـ Overfitting & Underfitting
- الدقة Accuracy
- التعقيد Complexity
- الأداء مع البيانات الكبيرة
أشهر الخوارزميات وأهم الـ Hyperparameters فيها 
هنشرح الخوارزميات اللي الناس كلها بتستخدمها، وهندي مثال كود Python لكل واحدة.الانحدار الخطي Linear Regression
الـ Linear Regression بسيط جدًا… لكن لما بنستخدم الــ Regularization (زي Ridge/Lasso) بنحتاج Hyperparameters مهمة.أهم Hyperparameters
- Alpha:
ده معامل الانتظام…
لو زوّدته → النموذج يقل تعقيد
لو قللته → النموذج يتعلم أكتر بس ممكن يعمل Overfitting
مثال كود:
Python:
from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0)
model.fit(X_train, y_train) ليه مهم؟
علشان يوازن بين التعقيد والدقة… ولا النموذج يبالغ في حفظ البيانات.الانحدار اللوجستي Logistic Regression
من أشهر خوارزميات التصنيف مهما كان المشروع.أهم Hyperparameters
- C:
عكس الـ Regularization… القيمة الكبيرة = انتظام أقل. - Penalty:
L1 أو L2… ودي بتغير سلوك النموذج تمامًا.
مثال كود:
Python:
from sklearn.linear_model import LogisticRegression
model = LogisticRegression(C=1.0, penalty='l2')
model.fit(X_train, y_train) ليه مهم؟
لأن اختيار Penalty مناسب يخلي النموذج يتعلم أحسن من غير Overfitting.الأشجار القرارية Decision Tree
ودي من أكتر الخوارزميات اللي عندها Hyperparameters كتير.أهم Hyperparameters
- Max_depth: أقصى عمق للشجرة
- Min_samples_split: أقل عدد عينات علشان العقدة تتقسم
- Min_samples_leaf: أقل عدد عينات للورقة
- Criterion: Gini أو Entropy
مثال كود:
Python:
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier(
max_depth=5,
min_samples_split=4,
criterion='gini'
)
model.fit(X_train, y_train) ليه مهم؟
علشان الشجرة لو سبناها عالبركة… هتعمل Overfitting زي الجنخوارزمية KNN – K-Nearest Neighbors
واحدة من أسهل الخوارزميات… لكنها معتمدة بشكل كامل على Hyperparameters.أهم Hyperparameters
- n_neighbors: عدد الجيران
- Weights: uniform أو distance
- Metric: Euclidean / Manhattan
مثال كود:
Python:
from sklearn.neighbors import KNeighborsClassifier
model = KNeighborsClassifier(
n_neighbors=5,
metric='euclidean'
)
model.fit(X_train, y_train) ليه مهم؟
اختيار عدد الجيران الصح = نموذج دقيقاختيار غلط = نموذج يدوّخك
آلات الدعم المتجهية SVM 
خوارزمية قوية جدًا… لكن Hyperparameters بتاعتها محتاجة فهم.أهم Hyperparameters
- C: يتحكم في قبول الخطأ
- Kernel: RBF / Linear / Polynomial
- Gamma: مدى تأثير كل نقطة
- Degree: درجة الـ Polynomial
مثال كود:
Python:
from sklearn.svm import SVC
model = SVC(
C=1.0,
kernel='rbf',
gamma='scale'
)
model.fit(X_train, y_train) ليه مهم؟
لأن أي قيمة غلط ممكن تخلي النموذج يفشل تمامًا… خصوصًا مع البيانات الكبيرة.إزاي تضبط الـ Hyperparameters صح؟ 
دي مرحلة كبيرة اسمها Hyperparameter Tuningومن أشهر طرقها:
1. Grid Search
يجرب كل الاحتمالات المتاحة. Python:
from sklearn.model_selection import GridSearchCV
params = {'C': [0.1, 1, 10], 'kernel': ['rbf', 'linear']}
grid = GridSearchCV(SVC(), params)
grid.fit(X_train, y_train) 2. Random Search
يجرب قيم عشوائية… أسرع.3. Bayesian Optimization
ذكي واحترافي… بيختار قيم بناء على الأداء السابق.4. Optuna
أقوى إطار في الوقت الحالي.أمتى أعرف إن الـ Hyperparameters مظبوطة؟
ولو لقيت إن النموذج مثالي على التدريب لكن ضعيف على الاختبار…
يبقى لازم تقلل التعقيد وتزود Regularization.
الخلاصة
الـ Hyperparameters مش مجرد قيم عشوائية… دي مفاتيح النجاح في Machine Learning.لو ظبطتها صح → هتاخد Model دقيق وسريع وStable.
ولو أهملتها → أي مشروع Machine Learning هيبقى زبون عندك في الصيانة
فهمها كويس… جرّب… اختبر… وعدّل…
وهتوصل لنتيجة ممتازة أكيد