{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"IPython.notebook.set_autosave_interval(0)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Autosave disabled\n"
]
}
],
"source": [
"%autosave 0\n",
"from __future__ import absolute_import, division, print_function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Plotting functions"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"source": [
"%pylab inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The logistic function:\n",
"$$f(x) = \\frac{1}{1 + e^{-x}}$$\n",
"and the logarithm of the logistic function:\n",
"$$\\log f(x) = \\log \\frac{1}{1 + e^{-x}} = - \\log \\left( 1 + e^{-x}\\right)$$"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"x = linspace(-4, 4, 81)\n",
"y1 = 1 / (1 + np.exp(-x))\n",
"y2 = log(y1)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"length of x: 81\n",
"length of y1: 81\n"
]
}
],
"source": [
"print(\"length of x: {0}\\nlength of y1: {1}\".format(len(x), len(y1)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The logistic function is neither convex nor concave, but the logarithm of the logistic function is a concave function:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n+PHjPPPMM4wfPx6AoKAg1q5dS2pqKnl5eTz77LNl7pubm4u7uzsNGjTgk08+ISYmpkL/0Hl7e3Pw\n4MFLblN6Ca4y/Pz8CAwMZM6cOZw9e5avvvqKNWvW2F7r5bRu3Zpjx45RUFBQpraLGT58ON9//z3R\n0dEUFBRQUFDAp59+WmbQ/GLGjRvHCy+8QFpaGrm5uTzxxBMEBwfj7OzMn/70JzZv3szevXs5d+4c\nCxYsuGgdSUlJ/Oc//6GoqAhXV1dcXFyoV68ecOnsnZ2dmTRpEmFhYWRlZVFUVGR7vstp2bIlvr6+\nrF+/nqKiItasWXPZ9/i8Nm3aMGzYMB599FFycnIoKCjggw8+sNV74sSJMn/cUNqYMWPYunUrCQkJ\nFBQUsGzZMho1akRgYKDp9lXxmTJTqxuy7OzskmB7NuK9/PfYOWEnLRq1sLosEZFaYe7cufTu3Zse\nPXrQo0cPevfuzdy5cwG48847mT59OoMHD6ZTp0707dsXwDYPFhkZyfz583Fzc+PZZ59l7NixZR7b\nrDkrfd2MGTN488038fDwYObMmab1lT4+l9mxuirSAL7++uukpaXh4+PD6NGjeeaZZ7j11lsv+til\n3XrrrXTr1o3WrVvTqlWry9bj6urKzp07iY2NxdfXlzZt2jBnzpxyNTWTJk1iwoQJDBgwgGuvvZYm\nTZqwcuVKALp168bKlSsJDg7Gx8cHV1dXWrVqZXtPStf0448/MmbMGJo3b851113HoEGDbH+VeLns\nIyIi6N69OzfddBOenp7MmTPHbu/nha/5vNWrV7N06VK8vLzYv38//fr1K7Ptpd7D9evX4+LiQpcu\nXfD29mbFihUAdOnShXHjxnHttdfi4eFBVlZWmcfq3Lkz0dHRTJs2jZYtW7J161Y2b95sW541q/lq\n7CVznAO5lJ9Rnu40JyeHv//977h0cmFT/iY+ePADWjdrfdn71VQ1af6lOikXe8rEnKPk4uTkdNV+\nA7fSt99+S/fu3Tl37hzOzrV6X0CNcX4v5YEDB8rMncmVudjP7m/N22X7rVr5U5Gbm0tERASNrm1E\nzOkYdofsrtXNmIiII3r77bc5e/YsP//8M3/7298YOXKkmjGLbd68mby8PE6fPk14eDg9evRQM+Yg\nat0esvz8fCIiIih0L2TNuTUkTUyivcfV+WsPEZGqVpv2kA0bNoy9e/dSr149Bg0aRGRkZJm/LJTq\n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\nP3PB9Z2AXOClaq9IRERERERERERERERERERERERERERERERERERERERERERERERERERERERERESq\nx/8DC0x7CxduEC4AAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize(10,8))\n",
"plt.plot(x, y1)\n",
"plt.plot(x, y2)\n",
"plt.plot(x, x, color='#606060')\n",
"plt.plot(x, np.zeros(len(x), int), color='#000000')\n",
"plt.grid()\n",
"plt.xlim([-4, +4])\n",
"plt.ylim([-4, +2])\n",
"plt.title(\"Plotting functions\", size=20)\n",
"plt.xlabel(\"x\", size=16)\n",
"plt.ylabel(\"f(x)\", size=16)\n",
"xticks = np.arange(-4, +5, 1)\n",
"yticks = np.arange(-4, +3, 1)\n",
"plt.xticks(xticks)\n",
"plt.yticks(yticks)\n",
"plt.legend(['logistic function', 'logarithm of the logistic function'], loc='lower right');\n",
"# plt.legend(['logistic function', 'logarithm of the logistic function', '-x', '0'], loc='center left', bbox_to_anchor=(1.1, .8))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Saving the figure as pdf file:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"fig.savefig('log_logistic_function.pdf', format='pdf', dpi=100);"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## Mathematical proof"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A function is strictly concave iff the second derivate is always negative."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$g(x) = - \\log(1 + e^{-x})$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$g'(x) = \\frac{e^{-x}}{1 + e^{-x}} = \\frac{1}{1 + e^x}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$g''(x) = -\\frac{e^x}{\\left(1 + e^x\\right)^2} < 0 \\quad \\text{q.e.d.}$$"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}