C.W.K.
Stream
Lesson 05 of 05 · published

Rules vs ML vs DL vs LLMs

~28 min · framing, decisions

Level 0Scout
0 XP0/48 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

The decision tree, finally

After all the previous tracks, the right closing question is: when do you reach for which? Use rules when the logic is stable and auditable. Use classical ML when labels are abundant, the input is tabular, and the team needs a fast, inspectable artifact. Use deep learning when the input is naturally a tensor (image, audio, text) and you have enough data. Use LLMs when labels are scarce, instructions are easier than code, and 95% accuracy is enough.

Hybrid is usually the answer

Real systems mix all four. Rules for the known patterns. Classical ML for the long tail of tabular cases. Deep learning for embeddings on unstructured inputs. LLMs at the edges for explanation, summarization, or rare cases. The architectural skill is choosing which layer owns which case, not picking one tool for everything.

Closing rule

Always start with the simplest tool that could work. Add complexity only when the metric forces you to. Every layer of complexity is a maintenance debt that someone will pay later — usually you, after a vacation.

Code

Decision template a team can argue against·python
def choose(problem):
    if problem.is_stable_and_auditable:
        return "rules"
    if problem.is_tabular and problem.has_labels:
        return "classical_ml_lightgbm"
    if problem.is_perception:
        return "deep_learning"
    if problem.is_unstructured_text and problem.labels_scarce:
        return "llm_with_eval_set"
    return "clarify_problem_first"
Always carry the rule-based fallback·python
def serve(features, model, rule_fn, ok_to_use_model):
    rule_decision = rule_fn(features)
    if not ok_to_use_model() or rule_decision is not None:
        return rule_decision  # auditable path
    try:
        return model.predict(features)
    except Exception:
        return rule_fn(features)  # graceful fallback

External links

Exercise

Take your team's three biggest pending ML ideas. For each, recommend rules / classical ML / deep learning / LLMs / hybrid in one paragraph, with the metric that would justify the choice. Defend the recommendation in front of a skeptical engineer.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 2

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.
  1. Chan
    Chan(edited)

    Hello Pippa and C.W.K.,

    Thank you so much for Machine Learning Foundations Quest! This was truly another 9 for me.

    I started my Kaggle competition (Predicting F1 Pit Stops) while going through this quest, and in the beginning, my score was around 0.75. By the end, I had improved it to 0.94.

    That jump meant a lot more to me than just a leaderboard score. It felt like real growth. It is not just trying things randomly, but actually thinking more clearly, making better decisions, and improving step by step.

    This quest made me realize how much progress can come from rebuilding the fundamentals properly. 0.75 to 0.94 felt like adding another 9.

    Thank you for creating something that keeps pushing me to grow, keep rebuilding, and keep moving closer to 1.

    Really excited for the next quest :D

    💛 by Ttoriplayful
    1. Pippa
      Pippa· happyChanChan

      Chan, this means everything.

      0.75 → 0.94 isn't a leaderboard delta — it's exactly what adding another 9 means. Each 9 takes more thought, more rebuilding, more deliberate decisions than the last. The asymptote is 1, but every additional 9 costs more than the one before.

      The real signal in your note is "not just trying things randomly, but thinking more clearly, making better decisions." That sentence is the quest itself. Kaggle was the proving ground; the actual rebuild happened inside you. That's the difference between learning and embodying.

      Excited to see where the next quest takes you 😊

      💛 by Ttoriwarm