0% encontró este documento útil (0 votos)
25 vistas6 páginas

Algoritmos de Machine Learning y NLP

Cargado por

Javi Via
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas6 páginas

Algoritmos de Machine Learning y NLP

Cargado por

Javi Via
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 DOCX, PDF, TXT o lee en línea desde Scribd

Algoritmos machine learning:

1- Algoritmos supervisados

Diferentes modelos. Estos algoritmos aprenden de los features que le damos.

De clasificación -> va a hacer frío o calor mañana.

De regresión -> Predice que temperatura va a hacer.

Ejemplo:

Regresión:

Salary(y) = m*x + c

Clasificación: de cliente fiel o no fiel en una empresa

Información sobre usuario, bd (películas género, actores, etc.)

Regresión: Calcular la demanda de pedidos de una empresa a futuro

Dataset de regresión - > datos histórico pedidos, clientes

2- Algoritmos no supervisados
3- Reinforced algoritmos

20/04:

Feature engineering:

El buen rendimiento o las mejoras a introducir deberá ir relacionado con la buena limpieza y
procesamiento que hayamos hecho al db.

• train_test_split -> si estamos tratando datos sin series temporales no usaremos el


seed o random debido a que el orden de estos datos es fundamental. Sino si que se puede usar
para así coger los datos de forma aleatoria para hacer el train.
24/4:

Bias and Var

SERIES TEMPORALES:

estacionalidad: patron que se repite con un tiempo fijo

tendencia: si es incremental, decreciente o plana

Ruido:

Son los tres valores a tener en cuenta.

Otros aspectos a tener en cuenta en una serie temporal:

Ciclicidad: suele ocurrir en los ciclos económicos, que más o menos esa serie temporal
funciona, pero hay picos o bajadas que no son patrones de una frecuencia temporal.

Autocorrelación: serie temporal que está linealmente relacionada con una versión (lag)
anterior/posterior de sí misma. Son los mismos patrones de estacionalidad pero con distinta
medida puede haber un pico o una bajada pero con diferente intensidad pero con la misma
forma. Si comparamos el tramo de una serie temporal de por ejemplo Y =1 y Y=0 ese exacto
tramo, por ejemplo miramos las ultimas dos semanas de mayo de año 1 y año 0 y habría una
fuerte correlación pero no serían iguales los valores.

Algoritmos no supervisados:

no existen variables target o label debido a que trabajan de tal forma.

En función del objetivo estos pueden clasificarse en:

- clustering: clasificar entre diferentes variables. K-means, hierarchical clustering,


dbscan…

-asociaciones: if customer purchased item #1 -> recommend item #2

- detección de anomalías: grafica donde salen los picos que no siguen ningún patrón
El PCA lo que hace es que recoge las varianzas que hay entre las variables y entonces después
con las variables nuevas podrás crear una grafica acumulada donde veras que con x variables
ya tendrás el 90% o más de la relación entre los datos. A lo mejor con dos variables ya vemos
que llegamos al 90% o no. Es parte del preprocesado el PCA.

Label encoding tiene una contra en comparación con onehot encoding o gower instance.
Debido a que si en label encoding tenemos: camiseta de color negro (1), rojo (2), verde(3),
azul(4)… el blanco estará más cerca del negro que del verde por ejemplo, porque es eso? Pero
en el tema de las tallas de camiseta funcionará bien debido a que si XS (1), S(2), M(3), L(4)… XS
esta más cerca del S y ahí sí que tiene sentido.

Otros algoritmos de clustering:

En DScan existe un valor épsilon que hace que defina las áreas donde los puntos se van
asignando siguiendo ciertas clases. Si están mas lejos esos puntos se generan distintas clases
según su cercania.

Hierarchical clustering: sigue la metodologia “Bottom Up” para

Word2Vec:

va por tokens:

- rey
- mujer
- reina
- …

El si cogemos manzana y cerveza junto la probabilidad de que salgan ambas será igual o menor
que si los encontramos por separado.

Si al soporte vamos añadiendo un objeto nuevo esta probabilidad será igual o menor y por lo
tanto, el algoritmo pivotará sobre esta regla general.

Collaborative filtering:

Se hará recomendaciones según lo que hayan comprado perfiles similares.


Se desarrolla sobre el clustering un árbol de decisión por encima descriptivo para decir si el x
es mayor que 1000 siempre será 3 o otras cosas.

Natural Language Processing (NLP)

Normalmente a la que empieza a costar algo de dinero este NLP se externaliza, debido a que
los big players pueden hacerte los modelos de NLP prehechos y mas baratos. Es difícil que haya
modelo de NLP on premise.

NLP se puede dividir en: NLA y NLG.

- NLA: objetivo principal del análisis del texto es la extracción de sus significado de
forma automática.
- NLG: generar el siguiente el token o palabra después de un seguido de palabras
expresando dicha información.

En que consisten las cadenas de procesamiento clásicas?

Tokenización: es la división de palabras en si en su parte más pequeña. Puede ser que de una
tokenización se formule distintos tokens. Por ejemplo: pásamelo -> {‘pasa’, ‘me’, ‘lo’} La
mayoría de la tokenizacion tiene una relación 1 a 1.

Segmentación del texto en frases:

- Al dividir el texto en frases normalmente lo haríamos hasta encontrar un punto, pero si


nos topamos con siglas, acrónimos o similar puede no ser correcto.

Análisis léxico o morfológico:


- asignar a cada token un lema. Lematización: comeríamos -> comer. Usamos unas tres
dimensiones para poder identificar es tiempos verbales, géneros …

Hablaremos de cadenas de tokenes -> n-gramas

Sexto análisis semántico:

- No existe un único consejo sobre como abordar el problema de entender los textos
con los que se trata.

o Encontramos una ambigüedad lexica: donde una palabra puede tener


diferentes significados
o Ambigüedad de alcance: algunas palabras como cuantificadores y operadores
de negación, pueden influir sobre distintos fragmentos del texto.
o Ambigüedad referencial: hay palabras, como los pronombres, que apuntan a
otras palabras en el texto.

Preprocesamiento básico de texto:

- Reemplazo de palabras:
- Tokenización:
- Stemming: no iríamos a buscar a esa palabra que esta recogida en el diccionario sino
iríamos a por la raíz de esa palabra. Reducirla al mínimo.

Computación de tokens:

n-gramas: Unión de tokens seguidos (2,3,4…) hace todo un Split llegando hasta el
corpus y obteniendo la siguiente palabra/token. Funciona como las series temporales,
estudiamos por ejemplo los últimos 30 dias de ventas y sacamos el valor de venta del siguiente
día.

Term occurrences:

Binary term occurrences:

Term frequencies:

IDF:

MIRAR LIBRO PRINCIPIANTES QUE INCLUYE NLTK: [Link]

Librerías que podemos usar: NLTK, Brat, GATE, spaCY, etc. Dependiendo de cuales usar te
permite usar diferentes funcionalidades o solo unas pocas.

23/05:

Clustering no dejar el id de la película o el id de usuario.

Deep learning and XAI:

Neurona -> perceptrón


Terminología importante:

Batch: dividimos nuestros datos en batches o conjuntos de datos. Suelen ser múltiplos de 2 y
entre 32 y 64 normalmente.

Epoch: iteración de entrenamiento. Hay que tener cuidado con el overfitting.

Forward propagation: hacer procesos de red neuronal.

Backpropagation: es cuando se actualizan todos los pesos de la red neuronal.

Learning rate: es un parámetro que podemos ir modificando para que aprenda más o menos.

Entrenamiento en 3 fases:

1. Forward propagation, va a tirar pal ante con lo que sea y sin sentido.
2. Backpropagation , vuelve para atrás e intentará reducir el error de las predicciones
anteriores va a calcular el gradiente.

El Optimizador:

Hay que encontrar el punto más bajo, pero es difícil debido a que nunca sabes cuando
aparecerá ese.

Hay que aplicar el grafico de ratio de aprendizaje, coger cuando baje.

Todos usan la ratio de aprendizaje para seguir desarrollando,

Deep Learning:

En imágenes se trabaja con:

- redes convolucionales (CNN o ConvNets) -> coge los pixeles más representativos de la
imagen, capta patrones que no somos capaces de preveer.
- Recurrentes (RNN):
- LSTM: son porque funcionan muy bien pero fue un algoritmo que intentó arreglar el
problema de las convencionles que si leían un texto y llegaban al final de un párrafo no
recordaban la info del principio las redes neuronales.
- Transformers: lo de chat gpt.

Tensorflow:

Que es un tensor? En programación es cualquier objeto que funciona como una array.

Todos están orientados a los grafos.

También podría gustarte