{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Robust Pooling\n", "\n", "We illustrate several robust pooling operations. Denote by $\\phi$ the penalty function. Then robust pooling finds the solution to the optimization problem\n", "\n", "$$\n", "y \\in \\text{arg min}_u \\sum_{i=1}^{n} \\phi(u - x_i; \\alpha)\n", "$$\n", "\n", "where $\\alpha$ is a parameter of the penalty function." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# define various penalty functions\n", "\n", "import numpy as np\n", "\n", "phi = {\n", " 'Quadratic': lambda z, alpha: 0.5 * np.power(z, 2.0),\n", " 'Huber': lambda z, alpha: np.where(np.abs(z) <= alpha, 0.5 * np.power(z, 2.0), alpha * np.abs(z) - 0.5 * alpha * alpha),\n", " 'Pseudo-Huber': lambda z, alpha: np.power(alpha, 2.0) * (np.sqrt(1.0 + np.power(z, 2.0) / np.power(alpha, 2.0)) - 1.0),\n", " 'Welsch': lambda z, alpha: 1.0 - np.exp(-0.5 * np.power(z / alpha, 2.0)),\n", " 'Trunc. Quad.': lambda z, alpha: np.minimum(0.5 * np.power(z, 2.0), 0.5 * alpha * alpha)\n", "}" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "