0% encontró este documento útil (0 votos)
35 vistas25 páginas

Algoritmos de Clasificación en Machine Learning

Este documento describe varios algoritmos de agrupamiento (clustering) incluyendo K-medias, propagación de afinidad, desplazamiento medio, agrupamiento espectral, DBSCAN y OPTICS. Explica sus parámetros clave, escalabilidad, casos de uso comunes y las métricas de distancia que utilizan para agrupar los datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas25 páginas

Algoritmos de Clasificación en Machine Learning

Este documento describe varios algoritmos de agrupamiento (clustering) incluyendo K-medias, propagación de afinidad, desplazamiento medio, agrupamiento espectral, DBSCAN y OPTICS. Explica sus parámetros clave, escalabilidad, casos de uso comunes y las métricas de distancia que utilizan para agrupar los datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Algoritmos de Clasificación

• Los algoritmos de clasificación


supervisada se utilizan en problemas
en los cuales se conoce a priori el
número de clases y los
representantes de cada clase.
Básicamente consiste en que, para
clasificar automáticamente una
nueva muestra, se tiene en cuenta la
información que se pueda extraer de
un conjunto de objetos disponibles
divididos en clases y la decisión de
una regla de clasificación o
clasificador.
Algoritmo OneR

• Algoritmo OneR ó 1R
• Es un algoritmo basado en reglas y es un
clasificador muy rápido que selecciona el
mejor atributo que explica la clase de salida,
está basado en el algoritmo ID3, donde la
meta principal consiste en adquirir las reglas
de clasificación directamente desde el
conjunto de datos de entrenamiento es
simple y efectivo, de uso frecuente en el
aprendizaje de máquinas, utiliza un único
atributo para la clasificación, el cual es el de
menor porciento de error y se obtiene un
conjunto de reglas.
• OneR viene de One Rule, genera un árbol de
decisión de un único nivel. OneR es capaz de
inferir reglas de clasificación a partir de un
conjunto de instancias. El algoritmo crea una
regla para cada atributo en los datos de
entrenamiento, luego escoge la regla con la 4
tasa de error1 más pequeño como su "one
rule".
• Para crear una regla para cada atributo debe
determinarse la clase más frecuente para cada
valor del atributo.
Algoritmo OneR
Ejemplo
Algoritmo K-Nearest-
Neighbor (KNN)
• Algoritmo basado en instancia (no aprende
explícitamente un modelo, si no memoriza
las instancias de entrenamiento que son
usadas como “base de conocimiento” para la
fase de predicción). Es usado para clasificar
nuevas muestras (valores discretos) o para
predecir (regresión, valores continuos).
• K-means, que es un algoritmo no
supervisado y donde la “K” significa la
cantidad de “grupos” que deseamos generar,
en K-Nearest Neighbor la “K” significa la
cantidad de “puntos vecinos” que tenemos
en cuenta en las cercanías para clasificar los
“n” grupos (que ya se conocen de antemano,
pues es un algoritmo supervisado).
¿Cómo se elige K?
• K es un hiperparámetro que se debe elegir
en el momento de la construcción del
modelo. Puedes pensar en K como una
variable de control para el modelo de
predicción.
• Se ha demostrado que una pequeña
cantidad de vecinos son los más flexibles,
que tendrán un bajo sesgo, pero una alta
varianza, y un gran número de vecinos
tendrán un límite de decisión más suave, lo
que significa una varianza más baja pero un
sesgo más alto. Se recomienda elegir un
número impar si el número de clases es par
¿Qué medida de
distancia Utilizar?
• Una opción popular es la distancia
euclidiana, pero también hay otras medidas
que pueden ser más adecuadas para un
entorno dado e incluyen la distancia de
Mahattan y Minkowski.
K-Nearest Neighbors

• Función de densidad F(x/Cj) de las predictoras x por cada clase Cj.


• Algoritmo de entrenamiento
• Los ejemplos de entrenamiento son vectores en un espacio
característico multidimensional, cada ejemplo está descrito en
términos de p atributos considerando q clases para la clasificación.
Los valores de los atributos del i-ésimo ejemplo (donde 1 ≤ 𝑖 ≥ 𝑛) se
representan por el vector p-dimensional.𝑥 = (𝑥 , 𝑥 , … . . 𝑥 ) ∈ 𝑋

• Algoritmo de Clasificación
• Dado un ejemplar xq que debe ser clasificado, sean 𝑥 , 𝑥 , … . . 𝑥 los
k vecinos más cercanos a xq en los ejemplos de aprendizaje, regresar.
• 𝑓 𝑥 ← 𝑎𝑟𝑔 ∈
∑ [𝑣 = 𝑓(𝑥 )]
K-Nearest Neighbors (ejemplo )

Conjunto de Entrenamiento Nueva instancia a clasificar Toma los K vecinos más cercanos al
nuevo elemento de acuerdo con la
distancia euclidiana

Tomando para el ejemplo que K = 5, marcamos los 5 vecinos más cercanos al nuevo elemento
scikit-learn
Machine Learning in Python

• Herramientas simples y eficientes para el análisis


predictivo de datos
• Accesible para todos y reutilizable en varios
contextos
• Basado en NumPy, SciPy y matplotlib
• Código abierto, utilizable comercialmente -
Licencia BSD
Agrupamiento
Descripción general de los métodos de agrupamiento
Agrupamiento
Descripción general de los métodos de agrupamiento
nombre del método Parámetros Escalabilidad caso de uso Geometría (métrica utilizada)

Muy grande n_samples, mediano n_clusterscon Uso general, tamaño de grupo parejo, geometría plana, no
K-medias número de grupos Distancias entre puntos
código MiniBatch demasiados grupos, inductivo

Muchos grupos, tamaño de grupo desigual, geometría no plana, Distancia del gráfico (por ejemplo, gráfico del
Propagación de afinidad amortiguamiento, preferencia de muestra No escalable con n_samples
inductivo vecino más cercano)

Muchos grupos, tamaño de grupo desigual, geometría no plana,


Desplazamiento medio banda ancha No escalable conn_samples Distancias entre puntos
inductivo

Pocos grupos, incluso tamaño de grupo, geometría no plana, Distancia del gráfico (por ejemplo, gráfico del
Agrupamiento espectral número de grupos Mediano n_samples, pequeñon_clusters
transductivo vecino más cercano)

Muchos grupos, posiblemente restricciones de conectividad,


Agrupación jerárquica de barrios número de grupos o umbral de distancia grande n_samplesyn_clusters Distancias entre puntos
transductivo

número de conglomerados o umbral de Muchos grupos, posiblemente restricciones de conectividad,


Agrupación aglomerativa grande n_samplesyn_clusters Cualquier distancia por pares
distancia, tipo de enlace, distancia distancias no euclidianas, transductivo

Geometría no plana, tamaños de grupos irregulares, eliminación


DBSCAN tamaño del vecindario Muy grande n_samples, medianon_clusters Distancias entre puntos más cercanos
de valores atípicos, transductivos

Geometría no plana, tamaños de conglomerados desiguales,


ÓPTICA membresía mínima del clúster muy grande n_samples, granden_clusters densidad de conglomerados variable, eliminación de valores Distancias entre puntos
atípicos, transductivo

mezclas gaussianas muchos No escalable Geometría plana, buena para la estimación de densidad, inductiva Mahalanobis distancias a los centros

factor de ramificación, umbral, agrupador Gran conjunto de datos, eliminación de valores atípicos, reducción
ABEDUL grande n_clustersyn_samples Distancia euclidiana entre puntos
global opcional. de datos, inductivo

Uso general, tamaño de clúster parejo, geometría plana, sin


Bisección de K-medias número de grupos Muy grande n_samples, medianon_clusters Distancias entre puntos
clústeres vacíos, inductivo, jerárquico
Agrupamiento
Descripción general de los métodos de agrupamiento
class [Link](
n_clusters=8, *,
init=‘k-means++’,
n_init=10,
max_iter=300,
tol=0.0001,
verbose=0,
random_state=None, copy_x=True,
algorithm='lloyd')
Agrupamiento
Descripción general de los métodos de agrupamiento
Maquinas de Soporte Vectorial, Máquinas de
Vector Soporte (SVM)
• Originariamente se desarrolló como un método
de clasificación binaria, su aplicación se ha
extendido a problemas de clasificación múltiple
y regresión.
• Se fundamentan en el Maximal Margin Classifier,
que a su vez, se basa en el concepto de
hiperplano.
• SVMs ha resultado ser uno de los mejores
clasificadores para un amplio abanico de
situaciones, por lo que se considera uno de los
referentes dentro del ámbito de aprendizaje
estadístico y machine learning.
Maquinas de Soporte Vectorial, Máquinas de
Vector Soporte (SVM)
• Los vectores de soporte son los
puntos que definen el margen
máximo de separación del
hiperplano que separa las
clases. Se llaman vectores, en
lugar de puntos, porque estos
«puntos» tienen tantos
elementos como dimensiones
tenga nuestro espacio de
entrada. Es decir, estos puntos
multi-dimensionales se
representan con con vector de n
dimensiones.
Maquinas de Soporte Vectorial, Máquinas de
Vector Soporte (SVM)
• Hiperplano: es un subespacio de
una dimensión menos que su
espacio ambiental. Por ejemplo, un
hiperplano de un espacio n-
dimensional es un subconjunto
plano con dimensión n — 1. Por su
naturaleza, separa el espacio en dos
medios espacios.
Maquinas de Soporte Vectorial, Máquinas de
Vector Soporte (SVM)
• Los conceptos básicos de Support Vector
Machines y su funcionamiento se
comprenden mejor con un ejemplo sencillo.
Imaginemos que tenemos dos
etiquetas: rojos y azules , y nuestros datos
tiene dos características : x e y . Queremos
un clasificador que, dado un par de
coordenadas (x, y) , dé como resultado si
es rojo o azul .
• Una máquina de vectores de soporte toma
estos puntos de datos y genera el hiperplano
(que en dos dimensiones es simplemente
una línea) que separa mejor las etiquetas.
Esta línea es el límite de decisión : todo lo
que caiga a un lado lo clasificaremos
como azul y todo lo que caiga al otro lado
como rojo .
Maquinas de Soporte Vectorial, Máquinas de
Vector Soporte (SVM)
• El mejor hiperplano para SVM, es el que
maximiza los márgenes de ambas
etiquetas. En otras palabras: el
hiperplano (recuerde que es una línea
en este caso) cuya distancia al elemento
más cercano de cada etiqueta es la más
grande.
Hiperplano y Maximal Margin Classifier
• En un espacio p-dimensional, un hiperplano se
define como un subespacio plano y afín de
dimensiones p−1.
• El término afín significa que el subespacio no
tiene por qué pasar por el origen. En un espacio
de dos dimensiones, el hiperplano es un
subespacio de 1 dimensión, es decir, una recta.
• En un espacio tridimensional, un hiperplano es
un subespacio de dos dimensiones, un plano
convencional.
• Para dimensiones p>3 no es intuitivo visualizar
un hiperplano, pero el concepto de subespacio
con p−1 dimensiones se mantiene.
Hiperplano y Maximal Margin Classifier
• La definición matemática de un hiperplano es bastante
simple. En el caso de dos dimensiones, el hiperplano se
describe acorde a la ecuación de una recta.
β0+β1x1+β2x2=0
• Dados los parámetros β0, β1 y β2, todos los pares de
valores x=(x1,x2) para los que se cumple la igualdad son
puntos del hiperplano. Esta ecuación puede generalizarse
para p-dimensiones:
β0+β1x1+β2x2+…+ βpxp =0
• y de igual manera, todos los puntos definidos por el vector
(x=x1,x2,...,xp) que cumplen la ecuación pertenecen al
hiperplano.
• Cuando x no satisface la ecuación:
β0+β1x1+β2x2+…+ βpxp <0
• o bien
β0+β1x1+β2x2+…+ βpxp >0
Hiperplano y Maximal Margin Classifier
• El punto x cae a un lado o al otro del hiperplano. Así
pues, se puede entender que un hiperplano divide un
espacio p-dimensional en dos mitades. Para saber en
qué lado del hiperplano se encuentra un determinado
punto x, solo hay que calcular el signo de la ecuación.

• La siguiente imagen muestra el hiperplano de un


espacio bidimensional. La ecuación que describe el
hiperplano (una recta) es 1+2x1+3x2=0. La región azul
representa el espacio en el que se encuentran todos
los puntos para los que 1+2x1+3x2 >0 y la región roja el
de los puntos para los que 1+2x1+3x2<0.
Kernel en SVM

• Hay veces en las que no hay forma de


encontrar una hiperplano que permita
separar dos clases. En estos casos decimos
que las clases no son linealmente separables.
Para resolver este problema podemos usar
el truco del kernel.
• El truco del kernel consiste en inventar una
dimensión nueva en la que podamos
encontrar un hiperplano para separar las
clases. En la siguiente figura vemos cómo al
añadir una dimensión nueva, podemos
separar fácilmente las dos clases con una
superficie de decisión.
Kernel en SVM

• Definición. Una función kernel es una función k :


X×X → R, que asigna a cada par de objetos del
espacio de entrada, X, un valor real
correspondiente al producto escalar de las
imágenes de dichos objetos en un espacio F, que
denominaremos espacio de características, es
decir: 𝑘 𝑥, 𝑧 = ∅ 𝑥 , ∅(𝑧) , donde ∅: 𝑥 → 𝐹
Ejemplos de funciones Kernel
• Kernel Lineal

𝑘 𝑥, 𝑧 = 𝑥, 𝑧 = 𝑥𝑧

• Kernel Polinómico
𝑘 𝑥, 𝑧 = ( 𝑥, 𝑧 )
Ó 𝑘 𝑥, 𝑧 = ( 𝑥, 𝑧 + 𝑐)
• Corresponde a una proyección de φ(x) en un
espacio de características donde cada componente
φi(x) es un producto de componentes de x con
grado menor que d, es decir, un monomio.
• Kernel Gaussiano
Se trata de una función de base radial gaussiana

𝑘 𝑥, 𝑧 = 𝑒
Corresponde a una proyección en un espacio de
dimensiones finitas

También podría gustarte