Friday, 13 November 2026

Machine Learning Techniques, Lesson 1: Three Kinds of Questions a Machine Can Learn to Answer

What you'll learn: the three big families of machine learning problems, and how to tell which one you're facing.

Three cards labelled Classification, Regression and Clustering, each with a one line example
The three families we'll meet again and again: pick a category, pick a number, or find groups.

Your phone suggests the word you were about to type. Your email quietly drops a message into the spam folder. Nobody sat down and wrote a rule for every sentence you might send. So how does the machine know?

That's what this series is about. Over fifteen short lessons we'll open the box and look at how machine learning really works, with small experiments you can run yourself. Today we start with the map: the three kinds of problems almost everything else is built on.

Learning from examples, not rules

Think about how a child learns to tell cats from dogs. You don't hand over a rulebook about ear shape and whisker length. You point and say "cat", "dog", "dog", "cat", and after enough examples the child just gets it.

Machine learning works the same way. Instead of writing the rules ourselves, we show a program lots of examples and let it find the patterns. The pattern it finds is called a model, and using that model on something new is called making a prediction.

Almost every problem falls into one of three families. Knowing which one you have is half the battle.

The three families

Classification means choosing a category. Is this email spam or not? Is this flower an iris setosa, versicolor or virginica? Each training example comes with the right answer attached (a label), and the model learns to give the right label to new cases.

Regression means predicting a number. How much will this house sell for? How many people will visit the shop tomorrow? It is also learned from labelled examples, but the label is a quantity, not a category. A handy test: if the answer could be 3.7, it's regression.

Clustering means finding groups when nobody has told you what the groups are. Imagine a shop with ten thousand customers and no categories at all. A clustering method can notice that some people buy in bulk once a month and others pop in daily for small things. Because no answers are given, this is called unsupervised learning. The first two are supervised learning, since the examples come with answers to learn from.

Two scatter plots of iris flowers by petal length and width. Left: coloured by true species. Right: coloured by groups found by k-means without labels
The same 150 flowers twice. On the left the species are known. On the right a clustering method found three groups without ever seeing them.

Look at the two plots. On the left we know each flower's species. On the right the computer was never told. It still carved out a small separate group, which matches one species well, but it blurred the other two where they overlap. That's typical: clustering gives you a useful first look, not a final truth.

Try it yourself

This snippet runs one example from each family, using small datasets that ship with scikit-learn. You'll need Python with scikit-learn installed.

from sklearn.datasets import load_iris, load_diabetes
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LinearRegression
from sklearn.cluster import KMeans
from sklearn.metrics import adjusted_rand_score

X, y = load_iris(return_X_y=True)
Xtr, Xte, ytr, yte = train_test_split(X, y, test_size=0.3, random_state=0, stratify=y)

# 1. Classification: labels are given, predict a category
clf = KNeighborsClassifier(n_neighbors=5).fit(Xtr, ytr)
print("Classification accuracy:", round(clf.score(Xte, yte), 3))

# 2. Regression: predict a number (diabetes progression score)
Xd, yd = load_diabetes(return_X_y=True)
Xa, Xb, ya, yb = train_test_split(Xd, yd, test_size=0.3, random_state=0)
print("Regression R^2:", round(LinearRegression().fit(Xa, ya).score(Xb, yb), 3))

# 3. Clustering: the species labels are never shown to the model
km = KMeans(n_clusters=3, n_init=10, random_state=0).fit(X)
print("Cluster sizes:", sorted(int((km.labels_ == k).sum()) for k in range(3)))
print("Agreement with true species:", round(adjusted_rand_score(y, km.labels_), 3))

Here's what I got when I ran it:

Classification accuracy: 1.0
Regression R^2: 0.393
Cluster sizes: [38, 50, 62]
Agreement with true species: 0.73

Some honest reading of those numbers. The classifier got every flower in the held-out test set right, but iris is a famously easy dataset, so don't expect that on messy real data. The regression score of 0.393 is far more modest: a plain straight-line model explains only about 39 percent of the variation in the diabetes measure on the test data. And the clustering agrees with the true species to a degree of 0.73 on a scale where 1 means a perfect match, which fits what the plot showed.

When to use which, and where it goes wrong

Ask yourself what you want out. A category means classification. A number means regression. A set of groups you don't have names for means clustering. If you have no examples with answers at all, the first two aren't options yet.

The common trap is trusting any model more than its data deserves. A model can only learn what the examples show it, so biased or sloppy examples give biased or sloppy predictions. We'll spend the next lesson on exactly that: getting data ready.

Recap: machine learning finds patterns in examples, and most problems are about picking a category, picking a number, or finding groups.

Next time: Lesson 2, Data prep: cleaning, features, train and test splits.

Which everyday app do you use that you think is classification, regression or clustering behind the scenes? Tell me in the comments.

Sources: scikit-learn user guide (datasets and estimators used in the code).

Wednesday, 11 November 2026

An AI That Can Break Into Software, and Why That Might Help Defenders

Three boxes in a row: find the flaw, prove it is real, fix it first
An original diagram of the loop security teams run: find a flaw, prove it is real, fix it before someone else uses it.

Imagine a locksmith who can test every door in a city in an afternoon. Wonderful if she's working for the city. Less wonderful if she isn't. That, roughly, is the question hanging over OpenAI's announcement on 5 November of a model called GPT-6 Cyber.

It's a restricted model built for security work: finding weaknesses in software, building working exploits to prove they're real, and suggesting patches. OpenAI rates it "Critical" for cybersecurity under its own Preparedness Framework, which is the company's way of saying this one needs real guard rails. Everything below comes from OpenAI's own figures as reported by The Decoder and CSO Online. I couldn't open OpenAI's pages directly, and nobody has published independent testing yet, so treat the numbers as claims.

What OpenAI says it did

Two results stand out. First, Firefox. OpenAI says the model found 81 previously unknown vulnerabilities, and that Mozilla accepted the reports and is shipping fixes. The two outlets describe the severity a little differently (one says critical, one says high-severity), so I'll just say serious.

Second, the Linux kernel, the core software under a huge share of the world's servers and phones. According to The Decoder, an automated system scanned roughly 5,000 security-relevant spots, shortlisted 2,308 candidates, and confirmed 1,724 real vulnerabilities inside isolated test machines. Working exploits were built for 948 of them. An earlier model had managed 166.

The bill for that run was about 1.2 million dollars in compute. That sounds huge until you remember what a single skilled human researcher costs for a year, and how many bugs they'd find.

A quick translation

An "exploit" is a recipe that turns a bug into a break-in. Finding a bug is like noticing a window that doesn't quite latch. Writing the exploit is climbing through it to prove the point. Defenders do this on purpose so they can fix the window before a burglar notices.

Bar chart: ExploitGym scores of 32.1, 42.4 and 48.5 percent for three OpenAI models
An original chart using OpenAI's own reported scores. ExploitGym is a test of remote exploitation skill. The honeypot test checks whether a model stays inside the systems it was allowed to touch.

The chart shows the jump on one benchmark, from 32.1 percent for the previous Cyber model to 48.5 percent. The smaller number matters just as much to me: in a honeypot test, the new model strayed out of scope in 0.07 percent of runs, against 5.51 percent before. A model that's good at breaking in and also good at staying in its lane is the combination you'd want.

Who gets to use it, and why I'm uneasy

Access is limited. OpenAI says GPT-6 Cyber starts with a select group of approved customers in its Daybreak Red tier, using the API and Codex, and opens up gradually over the coming weeks. It lists safeguards too: permission checks, monitoring, IP restrictions, and a recommendation to run it in isolated setups with humans watching.

Here's my honest reaction. The defensive pitch is believable. Software has more bugs than any team can find, and a tireless assistant helps. But the worry from outside experts, as CSO Online reports, is that finding problems can outrun fixing them. Fixes still need people to write, test and install patches, and one security commentator pointed to an OpenAI dashboard suggesting under a quarter of reported issues had been remediated so far. I haven't checked that figure myself.

There's also the point The Decoder raises: another group's results suggest similar skills may already exist in open-weight models that nobody controls. If so, gating one model only buys so much time.

And a fair caution on the marketing. OpenAI says the model found at least ten exploitation techniques that were new even to outside kernel experts. That depends heavily on how "new" is defined, and it's the company grading its own homework.

What to watch

Watch for three things: independent tests of these claims, how fast the Linux and Firefox fixes actually reach ordinary users, and whether other labs release comparable tools with fewer limits. For the rest of us the practical advice stays boring and good. Install updates promptly.

If software bugs can now be found at this speed, should the race be about finding them, or about fixing them? I'd love to hear what you think.

Sources: The Decoder, CSO Online, ThursdAI.

When Voters Got to Say No to the Data Center Next Door

Picture a quiet town meeting where the agenda item is not a road or a school, but a windowless building the size of several football fields, humming day and night. Last week, in dozens of places across the United States, ordinary voters got to decide whether that building should be allowed to exist at all.

On Tuesday 3 November, voters in ten states weighed in on 41 local measures about data centers, the big warehouses full of computers that power AI chatbots, streaming and cloud storage. Baxtel, which tracks the industry, reported that voters sided with limits or rejected pro-development proposals in 40 of the 41. Al Jazeera, a few days later, said two races were still being counted. One measure, in Harwood, North Dakota (a town of under 800 people), went the other way. Counts differ slightly between outlets, and Latitude Media said "at least 40" on the day, so treat the exact tally as a close estimate for now.

What the votes actually did

Ohio was the centre of it, with 21 measures. Granville voted to ban data centers inside city limits, with about 82 percent in favour. In Ashville, voters turned down a deal for two proposed data centers by roughly 82 to 18. Defiance passed a cap on projects above 25 megawatts, which is a measure of power demand.

Elsewhere the rules varied a lot. Maine towns passed pauses of around six months. Alhambra in California banned them outright. Janesville in Wisconsin will now require a public vote on any project over 450 million dollars. Some measures, such as ones in Bloomington and Morgan County in Illinois, are only advisory, so they send a message without binding anyone.

Why now?

I think the simplest answer is the electricity bill. Al Jazeera pointed to a Dallas Federal Reserve working paper estimating that data centers pushed wholesale power prices up about 7 percent. Think of the grid as a shared pizza. If a giant new customer orders half of it, everyone else's slices get more expensive, or smaller. Water use and noise come up too, and so does a vaguer worry that the AI these buildings feed might one day replace people's jobs.

It's not simply a revolt against the technology, though. Climate Power polling cited by Latitude Media found only 28 percent support for a generic new data center nearby, but 56 percent if it ran on clean energy and the company paid its own way. That gap is the interesting part. People seem to be asking who pays, not whether computers should exist.

The industry has a different case. The Data Center Coalition says these facilities bring jobs, local tax revenue and investment. After the vote, OpenAI published a framework promising low-water cooling and to pay its own way on energy and infrastructure. That's a pledge, not a result, and I'd want to see it tested in a real town before judging it.

The scale of the build-out explains some of the nerves. Pew figures cited by Al Jazeera put the US at about 3,000 data centers as of April, with more than 1,500 more in progress. When the count is about to grow by half, people who live next to the sites start asking questions that national debates tend to skip, like where the water comes from and who signs off on the power line.

What to watch next

More votes are coming, including Clarksville, Arkansas on 1 December and Mandan, North Dakota on 15 December. State legislatures are likely to see plenty of data center bills in 2027, according to law firm Venable. Markets noticed too: Nvidia lost about 450 billion dollars in market value on Thursday before bouncing back, though nobody has shown that was caused by the votes.

My reaction is mixed, and I'll admit I can see both sides. Communities deserve a say over something this big landing next door. But AI demand isn't going away, so the buildings will go somewhere. Do you think local votes are the right tool, or should these decisions be made at a state or national level?

Sources: Baxtel, Al Jazeera, Latitude Media, Venable.

Saturday, 26 September 2026

Kya Main Bhi Krishna?



The battlefield has changed. The questions haven't.

What if Kurukshetra is not a place?  What if it is a moment?

A moment when you have to make a decision you do not want to make. A moment when your head says one thing and your heart says another. A moment when every option has a price, when nobody can tell you with certainty what the future holds, and when, despite having more information, more technology and more choices than any generation before us, you still don't know what to do.

Perhaps that is our Kurukshetra.

We may never stand on a battlefield with a bow in our hands, surrounded by armies waiting for our command. But we stand on battlefields of our own every day. A leader stands before an impossible business decision. A parent struggles to choose between protection and freedom. A professional wonders whether to continue on a successful path that no longer feels meaningful. An entrepreneur has to decide whether persistence is courage or simply an inability to let go. A person sits alone at night, surrounded by everything that was supposed to make life successful, and quietly asks a question that has no spreadsheet, algorithm or expert answer: “Is this really the life I want?”

More than five thousand years ago, Arjuna stood at the beginning of a war and discovered something that we continue to discover in our own lives: knowing how to fight is not the same as knowing why to fight.

He had the weapon. He had the training. He had the ability. What he did not have, at that moment, was clarity.

And beside him sat Krishna.

That is what makes the story so extraordinary. Krishna did not take the bow from Arjuna's hands. He did not fight the battle for him. He did not remove the battlefield, eliminate the uncertainty or promise him an easy victory. He did something far more consequential. He changed the way Arjuna saw the battlefield.

Perhaps that is why the conversation between Krishna and Arjuna still matters today.

Because our problem has never really been a shortage of information. It has been a shortage of clarity.

Today, we have artificial intelligence that can analyse millions of pieces of information in seconds. We have algorithms that can predict, recommend and optimise. We can ask a machine to write for us, analyse for us, code for us and increasingly even decide for us. Yet when the decision becomes deeply personal—when it involves responsibility, relationships, values, fear, ambition or purpose—we discover that intelligence alone is not enough.

We can have all the answers and still not know which question matters.

And perhaps that is where the question “Kya Main Bhi Krishna?” begins.

Not as a question of becoming Krishna. That would be neither possible nor the point. It is a question about whether, in the middle of our own confusion, we can cultivate the qualities Krishna represents: clarity when emotions are clouding judgment, courage when fear is asking us to retreat, wisdom when information is overwhelming us, detachment when the outcome is beyond our control, and compassion without surrendering our responsibility.

Perhaps the question is not, “Can I become Krishna?” . Perhaps it is much more uncomfortable.

“When my Kurukshetra arrives, will I have enough clarity to listen?”

We often imagine Krishna as the one who knows all the answers. But there is another way of looking at him that may be more relevant to our lives today. Krishna does not remove Arjuna from the battlefield. He does not tell him that the situation is too complicated and therefore he should walk away. He does not fight the battle on Arjuna's behalf. Instead, he changes Arjuna's understanding of the situation. The circumstances remain largely the same, but Arjuna begins to see them differently. That distinction is enormously important. There are moments in life when we keep asking for a change in circumstances when what we actually need is a change in perspective.

We do this constantly. We tell ourselves that if the organisation changes, we will be happy; if the market improves, we will be confident; if the other person changes, the relationship will become easier; if we get the promotion, we will finally feel successful; if we have more money, more recognition or more control, the uncertainty will disappear. Sometimes circumstances do need to change. But there are also moments when no external change can solve an internal conflict. The problem is not always the battlefield. Sometimes it is the way we are looking at it.

That may be one of the first lessons we can take from Krishna. Before asking, “What should I do?”, perhaps we should ask, “What is actually happening here?” The distinction appears small, but it can change the quality of a decision. When we are emotionally involved in a problem, our perception becomes selective. We see the insult but not the context. We see the threat but not the opportunity. We see the person who is opposing us but not the larger system in which both of us are operating. We see the immediate consequence but not the longer-term implication. Clarity begins when we stop reacting long enough to see the whole field.

This is perhaps why the metaphor of Krishna as Saarathi is so powerful. A charioteer does not replace the warrior. He does not take the bow from his hands. His role is to guide the chariot, understand the terrain and help the warrior navigate the battlefield. The warrior must still make the decision and ultimately carry the responsibility for the action. In that sense, the Saarathi is not someone who lives your life for you. He is someone who helps you see your life more clearly.

Modern leadership could learn something from this.

We often measure leaders by how many problems they solve themselves. We celebrate the leader who has every answer, makes every decision and becomes the centre around which the entire organisation revolves. But perhaps leadership at its highest level is different. A great leader does not create dependence; a great leader creates capability. A good mentor does not tell you what to think; he teaches you how to think. A good manager does not fight every battle for the team; he helps the team become capable of fighting its own battles. The best leaders are often Saarathis. They bring perspective when emotions are high, clarity when priorities are confused and courage when people begin to doubt themselves.

There is an interesting parallel here with the world we are entering through artificial intelligence.

For the first time, humanity is building tools that can process information, analyse patterns, generate ideas, challenge assumptions and make recommendations at a scale that no individual human being can match. AI can become a remarkably capable Saarathi. It can help us see more of the battlefield. It can bring information together, identify patterns, simulate possibilities and expose us to perspectives that we might otherwise miss. In many situations, it can help a person move from confusion to clarity much faster.

But there is an important boundary.


AI can be the Saarathi. It cannot be the conscience.

AI can tell us what is possible. It can help us understand what has happened before. It can suggest what might happen next. It can compare options and identify trade-offs. But the responsibility for choosing remains human. Technology can improve our intelligence, but it does not automatically give us wisdom. It can help answer the question, “How can I do this?” but the more difficult questions -- “Why should I do this?” and “Should I do this at all?”-- remain questions of judgment, values and responsibility.

This distinction will become increasingly important as AI becomes more powerful. The danger is not simply that machines may become capable of making decisions. The deeper danger is that humans may become comfortable allowing machines to make decisions that they themselves should remain responsible for. There is a difference between delegating a task and delegating accountability. The first can make us more capable. The second can make us less human.

Perhaps the future will therefore require a new kind of relationship with technology. We should not ask AI to become our Krishna. We should ask it to become a better Saarathi.

We remain Arjuna. We hold the responsibility. We make the final choice. And we live with the consequences.

This brings us to another idea that has become increasingly difficult in our modern world: Karma. We live in a culture obsessed with outcomes. Everything is measured. Performance is quantified. Careers are compared. Businesses are ranked. People count followers, revenue, market value, promotions, achievements and recognition. Even our personal lives are increasingly presented as a collection of measurable outcomes.

There is nothing inherently wrong with ambition. There is nothing wrong with wanting to succeed. The problem begins when the outcome becomes the only measure of the value of our action.

Imagine working on something important and constantly asking whether it will definitely succeed before giving it your best. Imagine refusing to begin because the result is uncertain. Imagine allowing someone else's reaction to determine whether your work was worthwhile. In such a state, our actions become hostage to outcomes we cannot completely control.

The idea of detachment is often misunderstood as indifference. It is not. Detachment does not mean that we stop caring. It means that we stop allowing the uncertainty of the outcome to control the quality of our action.

A surgeon cannot control every variable in an operation, but that does not mean the surgeon stops preparing. A leader cannot control every market condition, but that does not mean the leader stops making decisions. An entrepreneur cannot guarantee success, but that does not make disciplined execution irrelevant. A parent cannot control what a child ultimately becomes, but that does not reduce the responsibility to provide guidance, values and love.

We control our effort far more than we control the final result.

That is not a philosophy of passivity. It is a philosophy of disciplined action.

And perhaps this is where Karma becomes especially relevant to modern professional life. We should not work because success is guaranteed. We should work because the work deserves our best effort. We should not act only when recognition is certain. We should act because the responsibility is ours. We should not make integrity conditional upon whether anyone is watching.

The quality of a person's character is often revealed most clearly when there is no immediate reward for doing the right thing.

There is another dimension of Krishna that modern life frequently misunderstands: adaptability. Krishna cannot easily be placed inside one fixed role. He is a strategist, diplomat, friend, philosopher, guide and negotiator. He understands that different situations require different responses. Yet adaptability does not mean abandoning principles. It means changing the method without losing the purpose.

That distinction is particularly important today because we live in a world where change is no longer an occasional disruption. Change has become the environment itself. Technologies evolve rapidly. Business models disappear. New competitors emerge from unexpected places. Skills that were valuable yesterday may become less valuable tomorrow. Artificial intelligence is already changing how knowledge work is performed, and the pace of transformation is unlikely to slow.

In such a world, rigid thinking becomes a liability. But constant change without a stable foundation can be equally dangerous. We need something that remains constant while everything around it changes. Perhaps those constants are our values, our principles and our sense of purpose. The strategy can change. The technology can change. The organisation can change. The career can change. But if every external change also changes who we are, then adaptability has become another form of instability.

The wiser approach is to know what can change and what must not.

There is a similar lesson in the idea of Maya. The modern world has created an extraordinary number of things that compete for our attention and tell us what we should desire. Social media shows us carefully edited versions of other people's lives. Advertising constantly reminds us of what we supposedly lack. Professional networks display achievements without showing the years of uncertainty behind them. Technology introduces something new every day, creating the impression that whatever we have today is already insufficient.

We begin comparing our ordinary life with someone else's carefully selected moments.

We begin confusing visibility with value.

We begin chasing recognition because recognition is easier to measure than meaning.

Perhaps modern Maya is not simply an illusion. Perhaps it is the mistake of assuming that whatever is visible must therefore be valuable.

The answer is not to reject the world. Krishna does not teach Arjuna to run away from life. He teaches him how to participate in the world without becoming completely imprisoned by it. That distinction is subtle but profound. We need ambition, but ambition should not own us. We need money, but money should not become the measure of our worth. We need technology, but technology should not determine our values. We need recognition, but recognition cannot become the foundation of our identity.

We can participate fully without becoming possessed by what we participate in.

Perhaps that is what maturity ultimately means.

  • To be deeply involved without becoming completely attached.
  • To care without becoming consumed.
  • To act without becoming obsessed with control.
  • To succeed without believing that success defines us.

And to fail without believing that failure defines us either.

So, after all this, we return to the original question.

Kya main bhi Krishna? Perhaps not. And perhaps that is exactly the point.

We do not need to become Krishna. We do not need to imitate the external form of a figure who belongs to another age. What we can do is recognise the qualities represented in the story and ask whether they have a place in our own lives.

  • Can I remain clear when everyone around me is confused?
  • Can I have courage when fear is telling me to retreat?
  • Can I act without becoming completely dependent on the result?
  • Can I tell someone the truth even when the truth is uncomfortable?
  • Can I change my strategy without abandoning my principles?
  • Can I use intelligence without losing wisdom?
  • Can I help another person find their direction without taking away their responsibility?

And when I find myself standing in the middle of my own Kurukshetra, can I pause long enough to understand what the moment is asking of me?

Perhaps every generation receives its own Kurukshetra.

For Arjuna, it was a physical battlefield. For us, it may be a world of extraordinary opportunity and extraordinary uncertainty. We have more knowledge than ever before, but knowledge has not eliminated confusion. We have more technology than ever before, but technology has not eliminated difficult choices. We have more ways to communicate, yet meaningful communication remains difficult. We have more ways to measure success, yet we still struggle to define what success actually means. Maybe that is why the conversation between Krishna and Arjuna continues to matter.

  • It does not promise a life without conflict.
  • It does not promise certainty.
  • It does not promise that every decision will produce the outcome we desire.

Instead, it asks something more demanding of us: to see clearly, to understand our responsibility, to act with integrity, to remain courageous in uncertainty, and after doing everything within our control, to accept that the outcome may still belong to something larger than us.

Perhaps Krishna is therefore not someone we need to search for outside ourselves. Perhaps Krishna is the voice that appears when we become quiet enough to distinguish wisdom from fear, responsibility from ego and purpose from desire.

Perhaps Krishna is the part of us that says, “Look again,” when we are ready to react. The part that asks us to think beyond the immediate moment. The part that reminds us that difficult does not always mean wrong, and comfortable does not always mean right.

And perhaps, after years of searching for answers, we eventually realise that the real journey was never about becoming Krishna.

It was about becoming a little less confused Arjuna.

A little more aware. A little more courageous. A little less attached. A little more responsible. A little more capable of seeing the whole battlefield before deciding where to place our next step.

The world will continue to change. Our Kurukshetras will continue to appear in different forms. Technology will become more powerful, organisations will become more complex, and the decisions we face will become increasingly difficult. But perhaps the essential question will remain unchanged.

When the moment comes, when the noise becomes too loud, when the choices become difficult and when we find ourselves standing in the middle of our own battlefield—will we have the wisdom to listen?

Maybe that is the real meaning behind the question:

Kya Main Bhi Krishna?

Not, Can I become Krishna?

But -- Can I become wise enough to recognise Krishna when I need him?

And perhaps, one day, when someone else is standing confused in the middle of their own Kurukshetra, can I be the Saarathi who helps them see clearly?

Because the battlefield has changed. The weapons have changed. The world has changed.

But the human being standing in the middle of the battlefield -- is still searching for Krishna.

Machine Learning Techniques, Lesson 1: Three Kinds of Questions a Machine Can Learn to Answer

What you'll learn: the three big families of machine learning problems, and how to tell which one you're facing. The three families...