HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

Learn a system of linear inequalities given solutions

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
linearinequalitiessystemsolutionslearngiven

Problem

Instead of finding a solution to a system of linear inequalities (Ax + b >= 0), I want to find any system of linear inequalities that satisfy a set of feasible points and does not satisfy a set of infeasible points. As the image shows, I am given points (either a bunch together or one by one) labelled with in/out, yes/no, or similar binary attribute to know if it should be within the system or not, and I want to find lines that separate these.

There should be some inductive method to fit any number of linear inequalities to satisfy these points. It's important that the output is a system of linear inequalities so it can be used as input into linear programming solvers to find new solutions. I've looked into SVM's but the model seams just to be a hyperplane. Maybe it is for use. A one-layer neural network should do the trick but then the number of lines must be set from start.

There are a few things to add to this problem.

  • We want to keep as few lines as possible, or, we want


to assume as little as possible of the "true" data set we do not yet
fully know of (as any machine learning algorithm does).

  • For the same reason as 1, we'd like to keep the lines as much "in between" the true and false points (just as SVM's)

Solution

I suspect that you can just compute the convex hull of the set of feasible points and, for each edge of the hull, write down the equation of the semi-plane that includes all feasible points and such that the line on its boundary is an extension of the edge segment.

In your example:

Context

StackExchange Computer Science Q#143791, answer score: 4

Revisions (0)

No revisions yet.