В евклидовой геометрии линейная отделимость является свойством двух множеств точек . Это проще всего визуализировать в двух измерениях ( евклидова плоскость ), представляя один набор точек окрашенным в синий цвет, а другой набор точек — в красный цвет. Эти два множества линейно отделимы, если существует хотя бы одна прямая на плоскости со всеми синими точками по одну сторону от нее и всеми красными точками по другую сторону. Эта идея немедленно обобщается на евклидовы пространства более высоких размерностей, если заменить прямую гиперплоскостью .
Проблема определения того, является ли пара множеств линейно разделимой, и нахождения разделяющей гиперплоскости, если они являются таковыми, возникает в нескольких областях. В статистике и машинном обучении классификация определенных типов данных является проблемой, для которой существуют хорошие алгоритмы, основанные на этой концепции.
Пусть и будут двумя множествами точек в n -мерном евклидовом пространстве. Тогда и линейно разделимы, если существуют n + 1 действительных чисел , такие, что каждая точка удовлетворяет и каждая точка удовлетворяет , где - -й компонент .
Эквивалентно, два множества линейно разделимы именно тогда, когда их соответствующие выпуклые оболочки не пересекаются ( говоря простым языком, не перекрываются) [1] .
В простом 2D можно также представить, что множество точек при линейном преобразовании схлопывается в линию, на которой существует значение k, больше которого попадет один набор точек, и меньше которого попадет другой набор точек.
Три неколлинеарные точки в двух классах ('+' и '-') всегда линейно разделимы в двух измерениях. Это иллюстрируется тремя примерами на следующем рисунке (случай со всеми '+' не показан, но он похож на случай со всеми '-'):
Однако не все множества из четырех точек, ни три из которых не лежат на одной прямой, линейно разделимы в двух измерениях. Следующий пример потребует две прямые линии и, таким образом, не является линейно разделимым:
Обратите внимание, что три точки, которые лежат на одной прямой и имеют вид «+ ⋅⋅⋅ — ⋅⋅⋅ +», также не являются линейно разделимыми.
Пусть — число способов линейного разделения N точек (в общем положении) в K измерениях, тогда [2] Когда K велико, очень близко к единице при , но очень близко к нулю при . Другими словами, один персептронный блок почти наверняка может запомнить случайное назначение двоичных меток на N точках при , но почти наверняка нет при .
Булеву функцию от n переменных можно рассматривать как присвоение 0 или 1 каждой вершине булева гиперкуба в n измерениях. Это дает естественное разделение вершин на два множества. Булева функция называется линейно разделимой , если эти два множества точек линейно разделимы. Количество различных булевых функций равно , где n — количество переменных, переданных в функцию. [3]
Такие функции также называются линейной пороговой логикой или персептронами . Классическая теория обобщена в [4] , как утверждает Кнут. [5]
Значение известно только с точностью до случая, но порядок величины известен довольно точно: он имеет верхнюю и нижнюю границу . [6]
Задача NP-полна для того, чтобы решить, является ли булева функция, заданная в дизъюнктивной или конъюнктивной нормальной форме, линейно разделимой. [6]
Классификация данных является распространенной задачей в машинном обучении . Предположим, что даны некоторые точки данных, каждая из которых принадлежит одному из двух наборов, и мы хотим создать модель, которая будет решать, в каком наборе будет находиться новая точка данных. В случае опорных векторных машин точка данных рассматривается как p -мерный вектор (список из p чисел), и мы хотим знать, можем ли мы разделить такие точки с помощью ( p − 1) -мерной гиперплоскости . Это называется линейным классификатором . Существует много гиперплоскостей, которые могут классифицировать (разделять) данные. Одним из разумных выборов в качестве лучшей гиперплоскости является та, которая представляет наибольшее разделение или разницу между двумя наборами. Поэтому мы выбираем гиперплоскость так, чтобы расстояние от нее до ближайшей точки данных с каждой стороны было максимальным. Если такая гиперплоскость существует, она известна как гиперплоскость с максимальной разницей , а линейный классификатор, который она определяет, известен как классификатор с максимальной разницей .
Более формально, если заданы некоторые обучающие данные , набор из n точек вида
где y i равно 1 или −1, что указывает на множество, к которому принадлежит точка. Каждый из них является p -мерным вещественным вектором. Мы хотим найти гиперплоскость с максимальным отступом, которая разделяет точки, имеющие от тех, которые имеют . Любая гиперплоскость может быть записана как множество точек, удовлетворяющих
где обозначает скалярное произведение и (не обязательно нормализованный) вектор нормали к гиперплоскости. Параметр определяет смещение гиперплоскости от начала координат вдоль вектора нормали .
Если обучающие данные линейно разделимы, мы можем выбрать две гиперплоскости таким образом, чтобы они разделяли данные и между ними не было точек, а затем попытаться максимизировать их расстояние.
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка )