The learning problem on the AI Learning track. A learning problem is a function from inputs to outputs that you cannot write by hand, plus a set of examples. The job is to find a function that works on new inputs, not only the ones you already saw.
This lesson assumes you already worked through What learning means for a model.
The idea in practice
Write the input fields, the output, and who will use the output. If you cannot get new inputs of the same kind, you do not have a learning problem. You have a lookup table.
A concrete check
goal = {
'track': 'AI Learning',
'lesson': 'The learning problem',
}
checks = [
'input available at decision time',
'score matches the real decision',
'failure case written down',
]
print(goal['lesson'])
for item in checks:
print('-', item)
Run the sketch locally if you have Python. The printout is a reminder of the checks, not a trained model. Replace the strings with the real inputs from your own example before you treat it as a design.
What usually goes wrong
Training on a closed list of names and expecting the model to handle new names without saying so is a different problem. When this happens, stop adding parameters or tools. Fix the check, the data, or the permission, then run the same example again.
What to write down
- The input you are allowed to use at decision time.
- The output and the score or pass rule.
- One failure you will test on purpose.
- What you will not claim the system can do.
Practice
State one learning problem and one problem that should stay a rule in code.
Self-check
- Say The learning problem in one sentence that mentions an input and an output.
- Name the failure mode in this lesson and the check that would catch it.
Done when: you can explain this lesson without the page open, and you have a written failure case.