Властивість двох ваших наборів даних полягає в лінійній роздільності , просто в тому, що існує лінія, яка їх розділяє. Багато машинного навчання присвячено пошуку лінійних класифікаторів , які є лініями, які виконують відокремлення, яке вас цікавить.
Як ви говорите про лінії, я припускаю, що ваші точки лежать у площині. Те , що ви хочете зробити , це знайти значення , ш 2 і ш 3 , таке , що для всіх точок ( в 1 , 2 ) в безлічі А , ш 1 1 + W 2 2 ≥ W 3 і для всіх точок ( b 1 , b 2 ) в B , w 1 b 1 +ш1ш2ш3( a1, а2)Аш1а1+ ш2а2≥ ш3( б)1, б2)Б . Таким чином, нерівність ш 1 х + ш 2 у ≥ ш 3 можна розглядати як класифікатор для безлічі A .ш1б1+ ш2б2< ш3ш1х + ш2у≥ ш3А
Існує набір алгоритмів машинного навчання для визначення оптимальної лінії (лінійна регресія, логістична регресія тощо). Вони знайдуть значення для на основі деякої метрики помилок. Потім ви можете перевірити, чи правильно класифіковані всі бали. Тобто, чи всі з значень в A задовольняє рівняння вище і аналогічно для B .ш1, ш2, ш3АБ
Оскільки вас цікавить лише те, чи існує така лінія, вам потрібно було використовувати існуючі методи (хоча це, мабуть, було б простіше). Просто встановіть наступну сукупність рівностей за вільними змінними .ш1, ш2, ш3
для кожного я = 1 , . . , | А | , де A = { ( a 1 1 , a 1 2 ) , … , ( a | A | 1 , a | A | 2 ) } .ш1аi1+ ш2аi2≥ ш3я = 1 , . . , | А |A = { ( a11, а12) , … , ( А| А |1, а| А |2) }
для кожного J = 1 , . . , | Б | , де B = { ( b 1 1 , b 1 2 ) , … , ( b | B | 1 , b | B | 2 ) } .ш1бj1+ ш2бj2< ш3J = 1 , . . , | Б |B = { ( b11, б12) , … , ( Б| Б |1, б| Б |2) }
Якщо ці обмеження узгоджуються, то лінія існує.