Machine Learning & the Cynefin framework

Geplaatst door

A few years ago, I was listening to a podcast on Complexity Science. It touched upon the difference between complicated and complex. Ever since, I’ve been using the terms deliberately as:

  • complicated: “it’s a mess, but if I analyse it long enough I’ll figure out how it works”
  • complex: “it’s inherently uncertain – I’ll try to figure out how it works, but there’s only so much I can do”

In the back of my mind I also add chaotic to the list, but I don’t encounter this in real life. So I don’t really use the word, and leave it out here. That’s just me trying to put words to my experience. As it turns out, other people have thought about this as well. I’ll introduce the Cynefin framework below, as an example.

While writing this, it occured to me that the role of Machine Learning models may differ depending on whether it’s in a complicated or complex context. I’ll share my thoughts on that as well.

Cynefin

The Cynefin framework is a framework that aids people in making sense of their context, and offers guidelines on how to take decisions. The core idea is that the relationship between cause and effect can differ across contexts. Sometimes it is absolutely clear and – on the other end of the spectrum – it can be non-existent. Each context requires a different approach to sensemaking.

Within the Cynefin framework, 5 different context are identified. I’ll shortly describe each context.

Clear:

In this context, it is clear what the relationship between cause and effect is. Just go and get it, maybe clean it up a little, and then go! This is a context where I, e.g.,

  • write documentation and workinstructions for a well-known process;
  • formalize existing best practices;
  • create a simple tool that automates a known truth.

Complicated:

When the context is complicated, it takes bit of work to analyse what the relationship between cause and effect is. The result of the analysis may be simple, or complicated as well. Once the analysis is done, you’re good to go! In this context, I would, e.g.,

  • analyze a process (with humans in it) that’s been running largely unsupervised for a while;
  • use process mining to uncover the underlying structure and behaviour of an operational process;
  • dive deep into a software pack, and figure out how it can help the program that I’m designing an writing.

Complex:

In a complex context, the relationship between cause and effect can only be determined after an event happened. The strategy here is to experiment, learn and respond. Things just happen in this context, and patterns emerge and disappear. In this context, I would, e.g.,

  • Use something like The Commander’s Intend to enable a team in taking decisions autonomously and on the fly;
  • Define hard and flexible constraints for an autonomous AI agent,
    • Hard constraint example: “never use foul language”;
    • Flexible constraint example: “use language appropriate for the current audience”;
  • Try out various ways of sharing knowledge, and see what sticks.

Chaotic:

Crises and emergencies are the norm here, without apparent causes. The goal here is to return to a form of stability. Act quickly and stay alert.

Confusion:

In this context, getting some clarity and sense of what is going on is key. You could try to identify small elements in the system that are suitable for one of the other contexts.

Machine learning and Cynefin

In a Clear context, a simple machine learning model is usually sufficient. A straightforward rule or a small decision tree may be all you need. Moreover, the relationship between cause and effect is relatively stable, so the model can often be used for a long time without retraining. In that sense, the ML model captures a small but durable part of reality.

In a Complicated context, you will likely need a more sophisticated ML model. However, the more important difference lies in the search for underlying truth. It’s perfectly acceptable to use a complex model, but ultimately I want to reduce the problem to something simpler. I am looking for an explanation rather than just a prediction. In that sense, the ML model is primarily a tool for further investigation: What has the model learned that I have not yet discovered? The goal is to uncover the underlying mechanisms so that the problem eventually becomes easier to understand.

In a Complex context, I also expect to need a sophisticated ML model. Here, however, the relationship between cause and effect is neither clear nor stable, and the context itself changes continuously. As a result, the ML model is at best a temporary representation of reality and will need to be retrained regularly as the system evolves. Personally, I still feel the drive to search for underlying truth, but less intensely than in the Complicated domain. As before, it is valuable to examine the patterns the model discovers, but it is equally important to observe how those patterns change over time. Rather than converging on a single explanation, the emphasis shifts toward continuously learning from an evolving system.

(fyi: this section was AI-translated from my Dutch version)

Sources