Свойство двух ваших наборов данных заключается в линейной отделимости , просто в том, что есть линия, которая разделяет их. Много машинного обучения посвящено поиску линейных классификаторов , которые представляют собой линии, которые выполняют интересующее вас разделение.
Когда вы говорите о линиях, я предполагаю, что ваши точки лежат в плоскости. Вам нужно найти значения , и , чтобы для всех точек в наборе , и для всех точек в , . Таким образом, неравенство можно рассматривать как классификатор для множества .w 2 w 3 ( a 1 , a 2 ) A w 1 a 1 + w 2 a 2 ≥ w 3 ( b 1 , b 2 ) B w 1 b 1 + w 2 b 2 < w 3 w 1 x + w 2 y ≥ w 3 Aw1w2w3(a1,a2)Aw1a1+w2a2≥w3(b1,b2)Bw1b1+w2b2<w3w1x+w2y≥w3A
Существует множество алгоритмов машинного обучения для определения оптимальной линии (линейная регрессия, логистическая регрессия и т. Д.). Они найдут значения для на основе некоторой метрики ошибки. Затем вы можете проверить, все ли точки правильно классифицированы. То есть, все ли из значений в удовлетворяет уравнение выше и аналогично для . A Bw1,w2,w3AB
Поскольку вас интересует только то, существует ли такая линия, вам нужно было использовать существующие методы (хотя это, вероятно, было бы проще). Просто настройте следующий набор равенств в терминах свободных переменных .w1,w2,w3
w1ai1+w2ai2≥w3 для каждого, где .i=1,..,|A|A={(a11,a12),…,(a|A|1,a|A|2)}
J = 1 , . , , | Б | B = { ( b 1 1 , b 1 2 ) , … , ( b | B | 1 , b | B | 2 ) }w1bj1+w2bj2<w3 для каждого, где .j=1,..,|B|B={(b11,b12),…,(b|B|1,b|B|2)}
Если эти ограничения согласованы, то существует линия.