Making algorithms more human

Applying uncertainty

I once wrote about one of the dangers of machine learning algorithms (e.g. the thing that powers the rules behind which many decisions are made in the real world): the closed feedback loop.

An algorithm that falls into one of these closed feedback loops starts to lose its ability to learn from more data, since the future that it “predicts” is based on an outcome of the past, which it deeply influences. In other words, it becomes self-fulfilling. If the only people whom I talk to are people like myself because I think good outcomes come only from talking to people like myself, I’m never going to learn that talking to people unlike myself may also bring good outcomes.

One possible way out? Random mutation, which is a key part of what we know works in the natural world: evolution.

Mutations are essential to evolution. Every genetic feature in every organism was, initially, the result of a mutation. The new genetic variant (allele) spreads via reproduction, and differential reproduction is a defining aspect of evolution. It is easy to understand how a mutation that allows an organism to feed, grow or reproduce more effectively could cause the mutant allele to become more abundant over time. Soon the population may be quite ecologically and/or physiologically different from the original population that lacked the adaptation.

– Emphasis mine, read full post on here: Mutations are the Raw Materials of Evolution

So just how does one apply random mutation to algorithms? I came across an article via Slashdot today that seems to suggest a possible (and quite clever) solution to the problem: introducing uncertainty into the algorithms. Where previously it would have been a very straightforward if A (input) then B (output) scenario, we now have a if A then most likely B but maybe C or D.

This seems to be aligned to how nature and evolution works (i.e. through random mutations), which having recently read Ray Dalio’s principles, reminds me very much of principle 1.4, and in particular 1.4 (b):

1.4 Look to nature to learn how reality works.

b. To be “good,” something must operate consistently with the laws of reality and contribute to the evolution of the whole

– Recommended: see all the Principles in summary

How might this work in the real world?

Imagine a scenario where somebody writes an algorithm for credit worthiness for bank loans. When the algorithm’s built, some of the attributes that the algorithm thinks are important indicators of credit worthiness may include things like age, income, bank deposit amount, gender, and party affiliation (in Singapore we might have something like the ruling vs. opposition party).

Without uncertainty built in, what would happen is that people of a certain characteristic would tend to always have an easier time obtaining home loans. So let’s say older, high income earners with large bank deposits who are male and prefer the ruling political party are considered more credit-worthy.

Because this is the only group that is getting most (or all) of the loans, we will get more and more data on this group, and the algorithm will be better able to more accurately predict within this group (i.e. the older higher income earners etc.)

Younger, lower income candidates who have smaller bank deposits, and are female and prefer the opposition party (i.e. the opposites of all the traits the algorithm thinks makes a person credit-worthy) would never get loans. And without them getting loans, we would never have more data on them, and would never be able to know if their credit worthiness was as poor as originally thought.

What is more, as times change and circumstances evolve many of these rules become outdated and simply wrong. What may have started out as a decent profiling would soon grow outdated and strongly biased, hurting both loan candidates and the bank.

What the introduction of uncertainty in the algorithms would do is to, every once in a while, “go rogue” and take a chance. For example, every 10th candidate the algorithm might take a chance on profile that’s completely random.

If that random profile happens to be a young person with low income, but who eventually turns out to be credit-worthy, the algorithms now knows that the credit-worthiness of the young and low income may be better than actually thought, and the probabilities could be adjusted based on these facts.

What this may also do is to increase the number of younger, lower income earners who eventually make it past the algorithms and into the hands of real people, giving the algorithms even more information to refine their probabilities.

Seems to me to be a pretty important step forward for algorithm design and implementation, and making them, funnily enough, more human.

Tackling the Missing Middle of Adoption

As he watched the presentation we were giving him on the machine learning project we were working on, I couldn’t but help notice his furrowed brows.

I knew him to be a natural sceptic, one who loved asking tough questions that dug deep into the heart of the matter. Though these questions occasionally bordered on what I felt was an annoying stubbornness, especially when I was on the receiving end of them, they were oftentimes great at uncovering issues one may not have thought of; or, at the very least, making sure that important issues were discussed out in the open and transparent to all who mattered.

Our machine learning project had to do with the estimation of how likely a customer was to convert. I won’t delve into too much detail given the need for confidentiality, but on a high level what the model we built provided us was a very good estimate of how likely a customer was likely to pay a deposit, the next stage of the Sales pipeline.

In other words, we had a great predictive model – one that helped us to predict what would happen.

“But,” he said, “how does that help us know what to do?”

We, the project group, looked at each other. I’m not sure if the others knew how important this question was, but I did. It was the very question I had been asking early on, but one that I decided we could only answer later.

Given the quality and quantity of our activity data (i.e. the logging of activities by our salespeople, and/or the collection of activities carried out by our customers and partners etc.), and the Sales processes we had historically in place, there simply wasn’t enough standardisation and control for a sufficient time to use in our models, something I was working on as the head of Sales Operations to fix (ah, the beauty of holding both Sales Ops and Analytics hats!)

“In effect,” he continued, “what you’re doing is forecasting what’s going to happen, but not what we should do to get better outcomes. In a way predicting the past, and not influencing the future.”

Spot on, dear sir.

The model we had was a prediction model, not quite yet a prescription one. A prescription model was what we were working toward: what can we tell the Sales team to do in order to improve their conversion efficacy? Do we contact our customers, or do we not? (e.g. though possibly counter-intuitive, it might actually be better to leave customers alone in order to improve conversion rates!) Do we make 1 call or 3 or 5?

We needed more data, but we were not quite there yet. The model we had would be great for forecasting, sure, but in terms of prescribing an activity or activities not quite, yet.

So what’s all this got to do with tackling the missing middle of adoption? Well, you see, when we had started with machine learning I knew it was going to be a tough sell. Machine learning isn’t standard in the industry I am in (i.e. Higher Education), unlike technology or finance. There’s huge untapped potential, but it’s potential we can’t get at if we don’t start.

Together with several forward-thinking senior leaders in the organisation (including most importantly my boss!) we made the decision to go ahead with machine learning on a small scale, to “get our feet wet”, and iterate ourselves to success as we learned through doing.

You don’t go from zero to a hundred without first encountering 20, 50, and 70. This exploration phase (“exploration” because we knew it wasn’t going to be perfect and was not quite the “end goal”) was a necessity. Sometimes, it might even seem a little like giving up on the promise of progress – to continue the analogy, slowing down.

And as per the image of this post, you’ll have noticed that in order to get to our destination, sometimes the best move is “backwards”, getting to “the middle” before we get on a highway from where we accelerate to our desired destination.

To have avoided this “middle” would have made achieving the “end” very much harder – notice the curved, narrow roads in the image? – reminds me of how it’s sometimes much easier to go around a mountain than to tunnel through it!

In the missing middle of adoption, we always tend to forget that in order to achieve our innovation goals, we sometimes need to take up an option that’s not quite perfect, and may at first glance seem like a detour. We just need to make sure we don’t fall into that other trap: complacently thinking that our detour is the final destination! (But more on that for another day.)

When things look easy

I’ll start with a quote I read today from the book Getting Ahead (Garfinkle, 2011) about a problem faced by people good at their craft. It made me smile because I this was the first time I’d seen it brought up anywhere and which I thought was one of those things I thought you just sucked up and lived with:

Former local San Francisco TV host Ross McGowan was negotiating a contract with his  boss. He was surprised when his boss made a fairly low offer, especially considering how high his programs’ ratings were. McGowan asked why the offer was so low and his boss said, “You make it look so easy.

Not to brag, but I think I do lots of great work (and so do many people I know),  but  oftentimes I make it look too easy, even when it’s not. 

If you work with me, you’ll see the output of my design, programming, and execution. You see the 20 minutes that they can see but miss the 600,000 that has gone on behind the scenes preparing for just this very moment (and moments like these).

You don’t see the hours of PowerPoint deck preparation and storyline rehearsals I do for each and every presentation. 

You don’t see the countless trips to the library I make getting books to hone my craft. 

You don’t see the endless hours of coding I do just practicing, like differentiating the nuances of a while loop from a for loop so I can use it in my next project. 

You don’t the articles I read on metrics on sales team remuneration design so that I’m aware of potential flaws in the company’s compensation schemes and can proactively work around or advise on these when the time comes. 

Easy? If giving up many aspects of life that you feel for and wish you had more time for is easy, then well, yes.

On antifragility and new stuff

Taleb once again scores with me with his book on “antifragility”. Like his book on randomness and black swans, this book has opened my mind to a concept that I’ve intuitively felt but never been able to put down in words.

I wrote once about “destroying things” to love them more – making new things old because of the transcience of “newness” but the lasting hold of “oldness”. I never realised that it could have been antifragility at work.

An object, when new, when perfect, is at its most fragile. At any moment a small bit of entropy – a scratch, a bump, or even the controlled might of time — might cause it to be no longer new; no longer perfect. The harder you try to keep it in pristine condition, the worse off you’ll feel when it’s finally imperfect. It’s value drops precipitously, and all the effort maintaining it goes to waste.

But the moment an object is old, the focus is no longer on its newness. It becomes more robust — a small scratch on an already scratched object brings no harm. And it might even be brought into the realm of the antifragile — where a scratch could bring along positive associations like memories or good feelings, making it better than it was before.

It’s 2011, people

Happy 2011 to everyone! It’s a new year, and it’s time for a new you, too, don’t you think? Set it down to make this year your best year yet.

What do you hope to achieve? Write down your goals, then write down the steps that will get you there. And then, of course, diligently work on the steps, and before you know it, you’ll be who you wanted to be!

Either that or just be yourself my friends. Because you’re all great just the way you are.