Optimización para ciencia de datos

Desde el punto de vista de la base matemática, se puede decir que los tres pilares de la ciencia de datos que debemos comprender bastante bien son el álgebra lineal , la estadística y el tercer pilar es la optimización , que se usa prácticamente en todos los algoritmos de ciencia de datos. Y para comprender los conceptos de optimización, se necesita una buena comprensión fundamental del álgebra lineal.

¿Qué es la optimización?
Wikipedia define la optimización como un problema en el que maximizas o minimizas una función real eligiendo sistemáticamente valores de entrada de un conjunto permitido y calculando el valor de la función. Eso significa que cuando hablamos de optimización siempre estamos interesados ​​en encontrar la mejor solución. Entonces, digamos que uno tiene alguna forma funcional (por ejemplo, en la forma de f(x)) que le interesa y está tratando de encontrar la mejor solución para esta forma funcional. Ahora bien, ¿qué significa mejor? Uno podría decir que está interesado en minimizar esta forma funcional o maximizar esta forma funcional.

¿Por qué optimizar para el aprendizaje automático?

  • Casi todos los algoritmos de aprendizaje automático pueden verse como soluciones a problemas de optimización y es interesante que, incluso en los casos en que la técnica original de aprendizaje automático tiene una base derivada de otros campos, por ejemplo, de la biología, etc., todavía se pueden interpretar todos estos algoritmos de aprendizaje automático como solución a un problema de optimización.
  • Una comprensión básica de la optimización ayudará en:
    • Comprender más profundamente el funcionamiento de los algoritmos de aprendizaje automático.
    • Racionalizar el funcionamiento del algoritmo. Eso significa que si obtiene un resultado y desea interpretarlo, y si tiene un conocimiento muy profundo de la optimización, podrá ver por qué obtuvo el resultado.
    • Y en un nivel de comprensión aún mayor, es posible que puedan desarrollar nuevos algoritmos por sí mismos.

Componentes de un problema de optimización

Generalmente, un problema de optimización tiene tres componentes.

minimizar f(x), wrt x, sujeto a a ≤ x ≤ b

  1. La función objetivo (f(x)): El primer componente es una función objetivo f(x) que estamos tratando de maximizar o minimizar. En general, hablamos de problemas de minimización, esto es simplemente porque si tienes un problema de maximización con f(x) podemos convertirlo en un problema de minimización con -f(x) . Entonces, sin pérdida de generalidad, podemos ver problemas de minimización.
  2. Variables de decisión(x): El segundo componente son las variables de decisión que podemos elegir para minimizar la función. Entonces, escribimos esto como min f(x) .
  3. Restricciones (a ≤ x ≤ b): El tercer componente es la restricción que básicamente restringe esta x a algún conjunto.

Entonces, cada vez que observe un problema de optimización, debe buscar estos tres componentes en un problema de optimización.

Tipos de problemas de optimización:

Dependiendo de los tipos de restricciones solamente:

  1. Problemas de optimización con restricciones: en los casos en que la restricción se da allí y tenemos que tener una solución que satisfaga estas restricciones, los llamamos problemas de optimización con restricciones.
  2. Problemas de optimización sin restricciones: en los casos en los que falta la restricción, los llamamos problemas de optimización sin restricciones.

Dependiendo de los tipos de funciones objetivo, variables de decisión y restricciones:

  1. Si la variable de decisión (x) es una variable continua: Se dice que una variable x es continua si toma un número infinito de valores. En este caso, x puede tomar un número infinito de valores entre -2 y 2.

    mín f(x), x ∈ (-2, 2)

    • Problema de programación lineal: si la variable de decisión (x) es una variable continua y si la función objetivo (f) es lineal y todas las restricciones también son lineales, este tipo de problema se conoce como problema de programación lineal. Entonces, en este caso, las variables de decisión son continuas, la función objetivo es lineal y las restricciones también son lineales.
    • Problema de programación no lineal: si la variable de decisión (x) permanece continua; sin embargo, si la función objetivo (f) o las restricciones no son lineales, este tipo de problema se conoce como problema de programación no lineal. Entonces, un problema de programación se vuelve no lineal si el objetivo o las restricciones se vuelven no lineales.
  2. Si la variable de decisión (x) es una variable entera: Todos los números cuya parte fraccionaria es 0 (cero) como -3, -2, 1, 0, 10, 100 son enteros.

    min f(x), x ∈ [0, 1, 2, 3]

    • Problema de programación entera lineal: si la variable de decisión (x) es una variable entera y si la función objetivo (f) es lineal y todas las restricciones también lo son, entonces este tipo de problema se conoce como problema de programación entera lineal. Entonces, en este caso, las variables de decisión son números enteros, la función objetivo es lineal y las restricciones también son lineales.
    • Problema de programación entera no lineal: si la variable de decisión (x) sigue siendo entera; sin embargo, si la función objetivo (f) o las restricciones no son lineales, este tipo de problema se conoce como problema de programación entera no lineal. Entonces, un problema de programación se vuelve no lineal si el objetivo o las restricciones se vuelven no lineales.
    • Problema de programación de enteros binarios: si la variable de decisión (x) solo puede tomar valores binarios como 0 y 1, entonces este tipo de problema se conoce como problema de programación de enteros binarios.

      min f(x), x ∈ [0, 1]

  3. Si la variable de decisión (x) es una variable mixta: si combinamos tanto la variable continua como la variable entera, entonces esta variable de decisión se conoce como variable mixta.

    min f(x1, x2), x1 ∈ [0, 1, 2, 3] y x2 ∈ (-2, 2)

    • Problema de programación lineal de enteros mixtos: si la variable de decisión (x) es una variable mixta y si la función objetivo (f) es lineal y todas las restricciones también son lineales, entonces este tipo de problema se conoce como problema de programación lineal de enteros mixtos. Entonces, en este caso, las variables de decisión son mixtas, la función objetivo es lineal y las restricciones también son lineales.
    • Problema de programación no lineal de enteros mixtos: si la variable de decisión (x) permanece mixta; sin embargo, si la función objetivo (f) o las restricciones no son lineales, este tipo de problema se conoce como problema de programación no lineal de enteros mixtos. Entonces, un problema de programación se vuelve no lineal si el objetivo o las restricciones se vuelven no lineales.

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *