Designing a Self-Learning Analytical Algorithm

This subject can get quite academic, but here's a very simplified look at how a self-learning analytical application can be designed:

Save user Queries as Data.

Find the Context(s) of the Query within the data.

Persist the Query within these Contexts. Assign expiration dates, and assimilate data based on some rules. It may make sense to update the query data periodically from the source system.

Store a large database of persistent contexts.

Relate contexts for the purpose of, for instance, matching identities: Searching by First, Last Name and Address, or matching product features to deliver product recommendations (such as Amazon's product recommendation engine). Crime investigations are another example, where detectives may be looking for a vehicle based on partial information, from multiple crimes or crime scenes. One crime scene may provide tire track patterns, whereas another may provide the vehicle color.

The desired end result would include the ability to automatically learn from each query or customer interaction, and autonomously updating the predictive models in real time. This learning will be time-aware, with a sliding time window that places greater emphasis on recent behavior, eliminating the need to reset models to clear out stale influences. Additional intelligent business rules would perform negotiation between competing goals, such as offering discounts to new customers vs. increasing profit margins. It is this balance between user-defined logic and empirical predictive models that is hard to put boundaries around.

Disclaimer: Blog contents express the viewpoints of their independent authors and
are not reviewed for correctness or accuracy by
Toolbox for IT. Any opinions, comments, solutions or other commentary
expressed by blog authors are not endorsed or recommended by
Toolbox for IT
or any vendor. If you feel a blog entry is inappropriate,
click here to notify
Toolbox for IT.