====Creating an AI====
First, make sure you're familiar with what an [[AI|AI]] actually **is**. You don't need to know the technicalities, but it helps to know the basics.
Next, decide on the **question** you want the AI to answer. What is it trying to do?
The Cognition AI wizard is designed to help you build AIs that answer questions about individual assets.
{{:cognition:aiquestion.png?400|}}
===If My Assets Are Behaving Normally===
This type of AI utilises [[support vector machines|support vector machines]] to create what is essentially a //check engine// light for your asset.
Unlike other types of AI, you can train this one with //only good data//. Once you've provided a few examples of what 'normal operation' looks like, the AI will then tell you if the current state is **normal** or **abnormal**.
Note that like all AIs, it can't explain its decisions, so it can't tell you specifically what was wrong to cause it to activate. But the generic nature of the warning also means that this type of AI can pick up a wide variety of issues, including ones that are completely unexpected.
This option is used when you want to a 'check engine' light that can spot issues you've never thought to check for.
[[Choose the AI Asset|Next, choose the asset for this AI]]
===When My Asset Is In A Specific State or States===
While the previous question was very generic - asking if the asset was OK or not - this question is much more specific.
It's used to indicate when an asset is in one or more states.
For example, you might want to know when a device is off, when it's running too hot, vibrating too much, when it's collapsed or fallen over etc. Or when it is **all** of those things.
Got an asset that can go wrong in a variety of different ways? This AI can tell you what's going wrong (or right) right now.
[[Choose the AI Asset|Next, choose the asset for this AI]]
===If an Event has Occurred===
The AI above is useful, but only looks at the //immediate// state of an object - what the values are at any one time.
This AI is an **event detector** - it looks for changes in the values over time.
It's an extremely useful AI when you're trying to detect a difficult-to-spot problem, or when you're trying to determine what actions are happening in your process from limited information.
As an example, you might have a freezer that has a temperature sensor, and you'd like to detect how often people are opening the door. The temperature naturally cycles up and down as part of normal operation - you want to detect the //door opening// but not the //compressor turning on and off//.
The event detector can analyse the patterns of these two events and determine which one is actually a door event, letting you produce an accurate count and/or event log.
Got a odd blip on your charts? This AI can learn to recognise those events, and can even tell them apart from one-another.
[[Choose the AI Asset|Next, choose the asset for this AI]]
===What a Property Is Expected To Be===
This AI is designed for //modelling// instead of detecting the state of the machine.
It allows you to model or estimate a particular value based on the other value(s) around it. For example, you could estimate the power-usage of a machine, and raise alerts when your //actual// power usage started to exceed your predicted usage.
You can also use it to try to calculate a live value from manual observations. For example, you don't have a sensor to measure how loud your machine is, but you've taken some //manual// measurements with a microphone at specific times.
You can create an AI to try to calculate the loudness of the machine based on those observations. With enough sample data, you should get relatively accurate results.
Want to estimate a value ahead of time? Want to calculate something without knowing the formula? This is the AI to choose.
[[Choose the AI Asset|Next, choose the asset for this AI]]
===Predictive AIs===
The final type of AI - that there isn't a specific menu option for - is a **predictive** AI.
Once you've created an AI that can spot an event, you'll have the opportunity to build an //event predictor// - an AI that looks for patterns that occur in the time //before// the event.
**If there is a recognisable pattern** (in many cases your events can't be predicted- particularly if it occurs due to external causes or human intervention), the AI will be able to give you advance notice so that you can prevent the issue or prepare for it.
Once you've built an AI to **recognise** an event, you can try to make one that **predicts** that event.