Moshe Sipper

Applied Machine Learning 26

202.2.6511 למידת מכונה יישומית

Lecturer: Prof. Moshe Sipper

Spring semester, 2025-2026 ✧ סמסטר ב’, תשפ”ו

(לא סופי, ייתכנו שינויים עד תחילת הסמסטר)

שפת הקורס הסמסטר: עברית / אנגלית

Detailed contents (GitHub)

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:

Course Formulas:
Missed Components

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):

[ \text{Normalized Final Grade} = \frac{\sum_{i \in S} (\text{grade}_i \times \text{weight}_i)}{\sum_{i \in S} \text{weight}_i} ]

For example, if a student misses quiz 1 and challenge 2 due to valid reasons:

[ \text{Final Grade} = \frac{(\text{quiz 2 grade} \times 0.14) + (\text{challenge 1 grade} \times 0.19) + (\text{competition grade} \times 0.34)}{0.14+0.19+0.34} ]
Midterm Grading

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:

[ \text{score} = 62 + (100 – 62) \cdot \left( \frac{\text{acc} – \text{baseline}}{1 – \text{baseline}} \right)^{\gamma} , ]

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)
Grading of Kaggle Competition

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:

[ \text{score} = \max\left(60,\ 100 \times \left(1 – \frac{\text{rank} – 1}{n – 1}\right)\right) ]

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:

[ \text{final grade} = \frac{1}{n} \sum_{i=1}^{n} \text{score}_i , ]

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 בגיטהאב, עם הסברים טובים ונקודתיים על החומר.
  • מאוד אהבתי שמשה ארגן את כל חומר הקורס מראש בתוך תיקיית גיט האב, זה נתן לי את האפשרות לעקוב אחרי התכנים של הקורס בצורה נוחה ומסודרת. משה מרצה מעולה, ומאוד נהניתי להקשיב לו