Applied Machine Learning 26
202.2.6511 למידת מכונה יישומית
Lecturer: Prof. Moshe Sipper
Spring semester, 2025-2026 ✧ סמסטר ב’, תשפ”ו
(לא סופי, ייתכנו שינויים עד תחילת הסמסטר)
שפת הקורס הסמסטר: עברית / אנגלית
Registration:
- Prerequisites: algorithms, calculus 2, algebra 2, probability
- All prerequisites are mandatory
- You must know how to code in Python (or learn by yourself during the course)
- No registration after add/drop period
- Sorry, I handle neither registration nor quota, so cannot add students at my discretion
Classes:
- Online, Mon 10:10 – 12:00, Mon 14:10 – 16:00
- Recordings available (usually by evening/next day) unless Moodle/Zoom issues
- Attendance is not mandatory
Final grade:
- Quiz 1: 14%
- Quiz 2: 14%
- ML Challenge 1: 19%
- ML Challenge 2: 19%
- Competition: 34%
- All course components are mandatory, and you must pass each one to pass the course
- Lecturer may normalize final grades at his discretion
Dates:
- Quiz 1: DATE, 14:10-14:40
- Challenge 1: DATE, 14:10-15:40
- Quiz 2: DATE, 14:10-14:40
- Challenge 2: DATE, 14:10-15:40
- Competition: DATE, 2pm
- With low probability, dates may change due to unforeseen events
Quizzes:
- Individual, online (Moodle), 30 minutes, include all material up to quiz
- Multiple-choice, 12 questions, 6 answers per question — 1 correct
ML challenges:
- Individual, online, 90 minutes
- Each student receives their own training dataset, then trains models and finally submits predictions
- Grading: see course formulas below
Competition:
- kaggle / make_classification / openml
- In groups of 1–4 students
- 1 dataset / 4 datasets, students can submit 2, 3, or 4 (extensive miluim can submit 1)
- Grade takes into account all datasets submitted
- (Will take place on kaggle (???) website), at end of semester, after all groups have submitted
- Fail will be considered for low-ranked works
- Grading: see course formulas below
Alternative assessment for miluim:
- For extensive miluim, at lecturer’s discretion
Appeals:
- Through Moodle “Appeals” assignment only
- Please do not email appeals
- You may appeal a component grade
- You may submit proof of justified absence from a component (miluim requires form 3010)
Dishonesty:
- To be handled by university disciplinary committee
Office hours:
- See Contact page
Course Formulas:
Missed Components
If you miss a course component due to an invalid reason then that component’s grade will count as 0.
If you miss a course component due to valid reason (7.2), your grade will be computed as given below, based on the components you completed.
General Formula (if student completed a subset \( S \) of components):
For example, if a student misses quiz 1 and challenge 2 due to valid reasons:
ML-Challenge Grading
Grades are computed as follows:
- No show:
0
- Late without approval:
56
- Shape mismatch of submitted predictions:
56
- Negative improvement:
58
The formula transforming positive improvement of prediction accuracy w.r.t. baseline is:
with \( \gamma=1.5 \)
The formula:
- Rewards difficult improvements (e.g. 0.9 → 0.95 is harder than 0.6 → 0.65).
- Gives 100 when
acc == 1.0
, regardless of baseline. - Is monotonic and interpretable.
Baseline:
clf = LogisticRegression(max_iter=1000, random_state=SEED)
clf.fit(X_train, y_train)
baseline_pred = clf.predict(X_test)
baseline_acc = accuracy_score(y_test, baseline_pred)
Competition Grading
Your final grade is based on your performance across 2, 3, or 4 different datasets.
Each dataset may have a different number of participants, so we use a normalized scoring method based on your rank and the number of competitors.
How scores are calculated
For each dataset you submit to, your score is computed using the formula:
where \( \text{rank} \) is your rank in the dataset (1 is best), and \( n \) is the total number of participants.
This ensures that higher ranks and tougher competitions (more participants) are rewarded more fairly. No individual dataset score can fall below 60.
Final grade
If you submitted to \( n \) datasets (2, 3, or 4), your final grade is the average of your (capped) scores:
where \( \text{score}_i \) is your score on dataset \( i \).
Example
A student submits to 3 datasets and gets the following results:
- Rank 2 of 50 participants →
score = max(60, 100 × (1 - 1 / 49)) ≈ 97.96
- Rank 5 of 10 participants →
raw ≈ 55.56 → score = 60 (lower bound applied)
- Rank 1 of 30 participants →
score = 100
Final Grade: (97.96 + 60 + 100) / 3 ≈ 85.99
דוא”ל מסטודנט שלקח את הקורס
בוקר טוב משה,
למדתי אצלך בקורס ״למידת מכונה יישומית״ בשנה שעברה, כחלק מתואר במדעי המוח עם התמחות בחישוביות עצבית. בשנה האחרונה, השתמשתי על בסיס יומי בכלים שלימדת בקורס – במחקר בתואר השני, ובעבודה שלי בתעשייה. הקורס שלך הוא אחד מהמעשיים ביותר שנתקלתי בהם לאורך התואר הראשון, והוא מסייע לי באופן ישיר להיות data scientist טוב יותר. על כך – חשבתי שראוי להודות לך באופן אישי.
בברכה, (השם שמור במערכת)
הערות משוב סטודנטים משנים קודמות
- קורס סופר מעניין
- קורס מעולה, מרצה מצוין
- קורס מעניין מאוד ורלוונטי
- החומר מאוד מסודר ומאורגן
- הקורס הכי מעניין שהיה בכל התואר
- המרצה מאד נחמד ואדיב. משרה אווירה נעימה
- קורס מעולה! נותן פן פרקטי חשוב שהיה חסר בשאר הקורסים במסגרת מגמת מדעי הנתונים!
- אחד הקורסים הכי מעניינים שהיו לי בתואר + הקורס מאוד רלוונטי עבור המקצוע אותו אנחנו לומדים
- הדרך שבה המרצה מנהל ידע ראויה לשבח – ניהול מאגר ידע עדכני דרך מסמך markdown בגיטהאב, עם הסברים טובים ונקודתיים על החומר.
- מאוד אהבתי שמשה ארגן את כל חומר הקורס מראש בתוך תיקיית גיט האב, זה נתן לי את האפשרות לעקוב אחרי התכנים של הקורס בצורה נוחה ומסודרת. משה מרצה מעולה, ומאוד נהניתי להקשיב לו
