¿Por qué un ingeniero debería estudiar la optimización convexa?

Un problema general de optimización es de la forma:
[matemática] \ min_ {x \ en \ matemática {X}} f (x) [/ matemática] st [matemática] x \ en C, C \ subseteq \ matemática {X} [/ matemática]
donde [math] \ mathcal {X} [/ math] es algún tipo de espacio estructurado y [math] f: \ mathcal {X} \ rightarrow \ mathbb {R} [/ math] es alguna función arbitraria. Un problema de optimización convexa es un caso especial de esto donde [math] \ mathcal {X} [/ math] es generalmente un espacio de Hilbert de dimensión finita, [math] f [/ math] es una función convexa y [math] C [/ / math] es un conjunto convexo.

En un curso de optimización convexa, generalmente se estudian los siguientes elementos:

  1. Conjuntos y funciones convexos, junto con sus propiedades.
  2. Dualidad
  3. Algunas formas de optimización convexa comúnmente conocidas y sus duales: programa lineal, programa cuadrático, programas de cono de segundo orden, programas semi-definidos, etc.
  4. Algunos algoritmos comúnmente conocidos para resolver estas formas conocidas

Aplicaciones:
Desde la perspectiva de ML, hay varios problemas que se consideran problemas de optimización convexa. Dos de los más populares son:
1] Clasificador: Máquina de vectores de soporte
2] Estimación de la razón de densidad: coincidencia media del núcleo

Si va a la lista de documentos aceptados de ICML 2012 [1] y busca la palabra “opción convexa”, se podrían ver al menos 5 o 6 documentos que trabajan con la optimización convexa y si busca “convexo”, hay varios más que tratan con diseño de funciones convexas con la intención de mejorar la optimización, ya sea en la complejidad del tiempo o en la simplificación del análisis.

Esfuerzo requerido para comprender:
Dependiendo de la madurez matemática, podría ser desde “difícil pero manejable” hasta “se me pasó por la cabeza”.

Si un ingeniero estudia la optimización convexa:
Un ingeniero no necesita estudiar la optimización convexa. No es una parte necesaria para ser ingeniero. Sin embargo, a veces, es posible que te encuentres con un problema del mundo real que se puede plantear como un problema de optimización (bueno, si se cree a Stephen Boyd, cada problema del mundo real es un problema de optimización). En este caso, es útil conocer formas comunes de optimización convexa (punto 3 anterior), ya que permitirá reconocer si el problema de optimización que tienen es convexo o no. Si es convexo, pueden usar parte del software existente para resolverlos y obtener su solución.

[1] ICML 2012 – Documentos aceptados
ICML significa Conferencia Internacional sobre Aprendizaje Automático. Es una conferencia de renombre para la publicación de aprendizaje automático.

Existe una gran cantidad de literatura sobre el diseño de circuitos como un problema de optimización convexa. Si eso es lo tuyo, entonces no saber la optimización convexa significa que hay una gran parte del estado del arte con el que no estás familiarizado.

El curso básico de optimización convexa le enseña principalmente “qué se puede optimizar”. Para el lego es difícil juzgar si un problema A o B es más difícil de optimizar en una computadora (50 000 variables no son un problema en un problema fácil, 5 variables pueden ser demasiadas en una difícil).

Por lo tanto, recomendaría un curso de este tipo, incluso si en el futuro no utilizara directamente los métodos aprendidos. Pero ciertamente utilizará software que use esos métodos.

Support Vector Machines es una aplicación práctica muy popular de optimización convexa, programación cuadrática en particular.

Todos los ingenieros que diseñan sistemas con una o más variables deben comprender la optimización.

La razón es simple:

Le ayuda a diseñar mejores sistemas.

Sus objetivos pueden ser un costo mínimo, una mejor eficiencia, etc.