Fundamentos prácticos

1

Aplica Platzidoro en este curso y asegura el éxito de tu aprendizaje

2

Los fundamentos de machine learning que aprenderás

3

Introducción a Numpy

4

Introducción y manipulación de datos con Pandas

5

Introducción a ScikitLearn

6

Comandos básicos de las librerías usadas en el curso (Numpy, Pandas y ScikitLearn)

Regresión Lineal y Logística

7

¿Qué es la predicción de datos?

8

Sobreajuste y subajuste en los datos

9

Regresión lineal simple y regresión lineal múltiple

10

Regresión lineal simple con Scikit-Learn: división de los datos

11

Regresión lineal simple con Scikit-Learn: creación del modelo

12

Regresión logística con Scikit-Learn: definición y división de datos

13

Regresión logística con Scikit-Learn: evaluación del modelo

14

Matriz de confusión

15

PlatziDoro Cápsula 1

Árboles de decisión

16

¿Qué es un árbol de decisión y cómo se divide?

17

Comprendiendo nuestro data set para la creación de un árbol de decisión

18

Creando un clasificador con Scikit-Learn

19

Entrenamiento del modelo de clasificación

20

Visualización del árbol de decisión

K-Means

21

¿Qué es K-Means?

22

Cargando el data set de Iris

23

Construcción y evaluación del modelo con K-Means

24

Graficación del modelo

25

PlatziDoro Cápsula 2

Aprendizaje profundo

26

Introducción al aprendizaje profundo

27

Conceptos básicos de Tensor Flow

28

Red neuronal convolucional

29

Conociendo el set de datos para la creación de la red neuronal

30

Crea y entrena tu primera red neuronal convolucional con Tensor Flow

31

Evaluación de la red convolucional

32

PlatziDoro Cápsula 3

Despedida

33

Recomendaciones para analizar correctamente tu problema

34

Siguientes pasos para continuar aprendendiendo de Machine Learning

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Sobreajuste y subajuste en los datos

8/34
Recursos

Aportes 25

Preguntas 3

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Resumen

Sobreajunte (overfiting): Es cuando intentamos obligar a nuestro algoritmo a que se ajuste demasiado a todos los datos posibles. Es muy importante proveer con información abundante a nuestro modelo pero también esta debe ser lo suficientemente variada para que nuestro algoritmo pueda generalizar lo aprendido.

Subajuste (underfiting): Es cuando le suministramo a nuestro modelo un conjunto de datos es muy pequeño, en este caso nuestro modelo no sera capas de aprender lo suficiente ya que tiene muy poca infomación. La recomendación cuando se tienen muy pocos datos es usar el 70% de los datos para que el algoritmo aprenda y usar el resto para entrenamiento.

Solo un comentario, hay varios metodos de cross-validation, y no necesariamente, debe de ser Train-Test. puede ser tambien: Train-Test-Validation, k-folds, LOOCV, etc.

La explicación es muy buena, pero para complementar

https://www.youtube.com/watch?v=7-6X3DTt3R8

Generalización en Machine Learning


La capacidad de generalización nos indica qué tan bien los conceptos aprendidos por un modelo de aprendizaje automático se aplican a ejemplos específicos que el modelo no vio cuando estaba aprendiendo. El objetivo de un buen modelo de aprendizaje automático es generalizar bien los datos de entrenamiento. Esto nos permite hacer predicciones en el futuro sobre los datos que el modelo nunca ha visto. Sobreajuste y subajuste son terminologías empleados en el aprendizaje automático para hacer referencia a qué tan bien un modelo generaliza nuevos datos ya que el ajuste excesivo y el ajuste insuficiente son las dos causas principales del rendimiento deficiente de los algoritmos de aprendizaje automático.

Sobreajuste


El sobreajuste hace referencia a un modelo que se sobre-entrena considerando cada mínimo detalle de los datos de entrenamiento. Esto significa que el ruido o las fluctuaciones aleatorias en los datos de entrenamiento son recogidos y aprendidos como conceptos por el modelo. El problema es que estos conceptos no se aplican a nuevos datos y tienen un impacto negativo en la capacidad de los modelos para generalizar.

Este sobre-entrenamiento suele darse con mayor probabilidad en modelos no lineales, por ello muchos de estos algoritmos de aprendizaje automático también incluyen parámetros o técnicas para limitar y restringir la cantidad de detalles que aprende. Algunos ejemplos de algoritmos no lineales son los siguientes:

  • Decision Trees

  • Naive Bayes

  • Support Vector Machines

  • Neural Networks


    Subajuste


El subajuste hace referencia a un modelo que no puede modelar los datos de entrenamiento ni generalizar a nuevos datos. Un modelo de aprendizaje automático insuficiente no es un modelo adecuado. Las estrategias para mitigar un ajuste insuficiente son variadas y dependen del contexto.

Como puede deducirse, el subajuste suele darse con mayor probabilidad en modelos lineales, como por ejemplo:

  • Logistic Regression

  • Linear Discriminant Analysis

  • Perceptron

Les presento dos ejemplos de overfitting y underfitting gráficamente. Creo que verlo de manera visual es mucho más entedible:

  • El primero corresponde a una regresión:

  • El segundo:

podrían compartir la presentación, eso seria muy util

Sobreajuste y Subajuste

  • Sobreajuste: Cuando un modelo está muy ajustado a nuestros datos perdiéndose así la tendencia de estos.
  • Subajuste: Cuando el modelo falla por falta de datos. No se puede encontrar el patrón

Consejos a tener en cuenta

  • Buscar en lo posible dar variedad a los datos buscando todas la posibilidades para así evitar un sesgo en nuestro algoritmo
  • Dividir nuestros datos en datos de aprendizaje y datos de evaluación (aproximadamente 70-30)

Estoy practicando ingles escribir, entonces estoy haciendo los resúmenes en ingles, por fa me ayudan a corregir tanto lo que entendí como el ingles dicho esto:

When we have the data, to train the model, we can have two problems the overfitting and underfitting, underfitting happens when the dataset is small and can’t get the main characteristics of the problem, and overfitting happens when the model only can use in the training set and don’t take the ideal characteristics of the dataset

tiene q ser aleatoria y representativos

Sobreajuste o subajuste de los datos.

  • Obligamos a nuestro modelo a ajustarse a los datos de entrada y salida.
    Sobreajuste: overfitting: Los datos con los que se entrena el modelo debe ser elegido de forma variada, de lo contrario habrá un entrenamiento muy especializado a cierto tipo de datos.
    Subajuste: El modelo fallará por falta de muestras suficientes.No generaliza el conocimiento.

nota: la maestra creo que se equivoco en el minuto 2:40 al hablar del holdout (data splitting), ella dijo que una parte va para el entrenamiento y la otra parte para el entrenamiento. me parece que quiso decir que una parte va para el training y otra parte para el testing .

Respecto al Overfitting: Podríamos asemejarlo al comportamiento [relativamente común] que tenemos a la hora de estudiar algo. Nos aprendemos todo de memoria sin razonar el concepto de estudio. Nos sabemos cada palabra de aquellos párrafos, pero no entendemos el concepto / la idea.

Digamos que estamos aprendiendo a programar, y pensando que aprendernos de memoria tooda la documentación será lo mejor. Cuando al intentar programar algo, nos damos cuenta que en realidad no entendemos ni el funcionamiento interno de un ciclo for, porque nos hicimos “overfitting” 😄

No estoy diciendo que es malo “aprenderse de memoria” ciertas cosas, pero sí lo es asumir que: entendemos algo, dado que lo aprendimos de memoria. Quizás sea mejor delegar eso a que se dé de manera orgánica y lograr memoria muscular en aquello que esamos aprendiendo.

Otra explicación de cómo suceden estos problemas:
https://www.youtube.com/watch?v=_opXSMa_nX4&ab_channel=AprendeInnovando

Sobreajuste: situación en la cual por falta de variedad de los datos se realiza una predicción solo en un rango Subajuste: situación en que no hay una cantidad suficiente de muestra de una categoría y etiqueta resultando en que el algoritmo no encuentre una generalización del conocimiento

Under-fitting, Appropriate-fitting and Over-fitting

ajustar nuestros datos es uno de los pasos mas importantes para hacer en esta labor

Cual es un numero de registros razonable para evitar un subajuste? Gracias!!

Muy buen ejemplo practico de over y under fitting!

<h3>Overfitting.</h3>

When we run our training algorithm on the data set, we allow the overall cost (i.e. distance from each point to the line) to become smaller with more iterations. Leaving this training algorithm run for long leads to minimal overall cost. However, this means that the line will be fit into all the points (including noise), catching secondary patterns that may not be needed for the generalizability of the model.
Referring back to our example, if we leave the learning algorithm running for long, it cold end up fitting the line in the following manner:

<h3>Underfitting</h3>

We want the model to learn from the training data, but we don’t want it to learn too much (i.e. too many patterns). One solution could be to stop the training earlier. However, this could lead the model to not learn enough patterns from the training data, and possibly not even capture the dominant trend. This case is called underfitting.

Al-Masri, A. (2019, 21 junio). What Are Overfitting and Underfitting in Machine Learning? Medium. https://towardsdatascience.com/what-are-overfitting-and-underfitting-in-machine-learning-a96b30864690