En la geometría euclidiana , la separabilidad lineal es una propiedad de dos conjuntos de puntos . Esto se visualiza más fácilmente en dos dimensiones (el plano euclidiano ) al pensar en un conjunto de puntos como coloreados de azul y el otro conjunto de puntos como coloreados de rojo. Estos dos conjuntos son linealmente separables si existe al menos una línea en el plano con todos los puntos azules en un lado de la línea y todos los puntos rojos en el otro lado. Esta idea se generaliza inmediatamente a espacios euclidianos de dimensiones superiores si la línea se reemplaza por un hiperplano .
El problema de determinar si un par de conjuntos es linealmente separable y encontrar un hiperplano separador en caso de que lo sea, surge en varias áreas. En estadística y aprendizaje automático , clasificar ciertos tipos de datos es un problema para el que existen buenos algoritmos que se basan en este concepto.
Sean y dos conjuntos de puntos en un espacio euclidiano n -dimensional. Entonces y son linealmente separables si existen n + 1 números reales , tales que cada punto satisface y cada punto satisface , donde es el componente -ésimo de .
De manera equivalente, dos conjuntos son linealmente separables precisamente cuando sus respectivas envolturas convexas están disjuntas (coloquialmente, no se superponen). [1]
En 2D simple, también se puede imaginar que el conjunto de puntos bajo una transformación lineal colapsa en una línea, en la que existe un valor, k, mayor que el cual caerá un conjunto de puntos y menor que el cual caerá el otro conjunto de puntos.
Tres puntos no colineales en dos clases ('+' y '-') siempre son linealmente separables en dos dimensiones. Esto se ilustra con los tres ejemplos de la siguiente figura (el caso de todos los '+' no se muestra, pero es similar al caso de todos los '-'):
Sin embargo, no todos los conjuntos de cuatro puntos, ni siquiera tres colineales, son linealmente separables en dos dimensiones. El siguiente ejemplo necesitaría dos líneas rectas y, por lo tanto, no es linealmente separable:
Obsérvese que tres puntos que son colineales y tienen la forma "+ ⋅⋅⋅ — ⋅⋅⋅ +" tampoco son linealmente separables.
Sea el número de formas de separar linealmente N puntos (en posición general) en K dimensiones, entonces [2] Cuando K es grande, es muy cercano a uno cuando , pero muy cercano a cero cuando . En palabras, una unidad de perceptrón puede memorizar casi con certeza una asignación aleatoria de etiquetas binarias en N puntos cuando , pero casi con certeza no cuando .
Una función booleana en n variables puede considerarse como una asignación de 0 o 1 a cada vértice de un hipercubo booleano en n dimensiones. Esto da una división natural de los vértices en dos conjuntos. Se dice que la función booleana es linealmente separable siempre que estos dos conjuntos de puntos sean linealmente separables. El número de funciones booleanas distintas es donde n es el número de variables pasadas a la función. [3]
Estas funciones también se denominan lógica de umbral lineal o perceptrones . La teoría clásica se resume en [4] , como afirma Knuth. [5]
El valor sólo se conoce con exactitud hasta el caso, pero el orden de magnitud se conoce con bastante exactitud: tiene límite superior y límite inferior . [6]
Es co-NP-completo decidir si una función booleana dada en forma normal disyuntiva o conjuntiva es linealmente separable. [6]
La clasificación de datos es una tarea común en el aprendizaje automático . Supongamos que se dan algunos puntos de datos, cada uno de los cuales pertenece a uno de dos conjuntos, y deseamos crear un modelo que decida en qué conjunto estará un nuevo punto de datos. En el caso de las máquinas de vectores de soporte , un punto de datos se ve como un vector p -dimensional (una lista de p números), y queremos saber si podemos separar dichos puntos con un hiperplano ( p − 1)-dimensional . Esto se llama clasificador lineal . Hay muchos hiperplanos que podrían clasificar (separar) los datos. Una opción razonable como el mejor hiperplano es el que representa la mayor separación, o margen, entre los dos conjuntos. Entonces elegimos el hiperplano de modo que se maximice la distancia desde él hasta el punto de datos más cercano en cada lado. Si existe dicho hiperplano, se lo conoce como hiperplano de margen máximo y el clasificador lineal que define se conoce como clasificador de margen máximo .
Más formalmente, dados algunos datos de entrenamiento , un conjunto de n puntos de la forma
donde y i es 1 o −1, lo que indica el conjunto al que pertenece el punto. Cada uno es un vector real de dimensión p . Queremos encontrar el hiperplano de margen máximo que divide los puntos que tienen de los que tienen . Cualquier hiperplano puede escribirse como el conjunto de puntos que satisfacen
donde denota el producto escalar y el vector normal (no necesariamente normalizado) al hiperplano. El parámetro determina el desplazamiento del hiperplano desde el origen a lo largo del vector normal .
Si los datos de entrenamiento son linealmente separables, podemos seleccionar dos hiperplanos de tal manera que separen los datos y no haya puntos entre ellos, y luego intentar maximizar su distancia.
{{cite book}}
: Mantenimiento de CS1: falta la ubicación del editor ( enlace )