{ "cells": [ { "cell_type": "markdown", "id": "f97c9ce5", "metadata": {}, "source": [ "Optomization\n", "========================================\n", "\n", "## Intro\n", "\n", "Let's say we have 500 feet of fencing. We want to make a square fence for our house that encloses as much area as possible. What are the dimensions of this square? More than that, if our fence could be _any_ shape, what is the maximum-area figure that we can construct with 500 feet of fencing?\n", "\n", "Here's another cool analogy I came up with. If you have some controllable weights $w$, how can you \"tune\" the individual elements in $w$ to optimize some quantity? Let's say you're a rave DJ: if each weight corresponded to a setting on a DJ board, but a few of the knobs and dials are broken or distorted, what tunings do you set to generate the most happiness out of the crowd? How do you work within the _constraints_ that have been given to maximize production?\n", "\n", "In this note we focus on the details behind these kinds of optomization problems. There are a few core types of these problems, along with associated algorithms to solve them. It is by no means a simple subject, but let's try to break it down here. \n", "\n", "## Optomization Problems\n", "\n", "There are two basic kinds of optimization problems: constrained and unconstrained. \n", "\n", "Let's start with __unconstrained optomization__. Generally, this problem involves finding a weight vector $w$ that minimizes (or maximizes) some _continuous_ objective function $f(w)$.\n", "\n", "```{prf:definition} Continuous Function\n", ":label: contfunc\n", "\n", "A __continuous function__ is a function that can be drawn without _discontinuities_- ones you can draw without picking up the pencil. More math-ily, a function is continuous when, for every $c$ in the domain of $f$: \n", " - $f(c)$ is defined\n", " - $\\lim_{x \\to c}f(x) = f(c)$\n", "```\n", "\n", "One well-known function that is certainly discontinuous is $\\tan x$. Note the jumps.\n", "\n", "
This is the **title**
\n", "This is the *content*\n", "