Skip to content

Instantly share code, notes, and snippets.

@KayumovRu
Last active June 18, 2021 22:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save KayumovRu/1ae71a63407cb347753a0fd551efdb1d to your computer and use it in GitHub Desktop.
Save KayumovRu/1ae71a63407cb347753a0fd551efdb1d to your computer and use it in GitHub Desktop.
Implementation of the gradient descent method to find the minimum of simple functions of one variable. The training code.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Метод градиентного спуска"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# для нахождения производной\n",
"from scipy.misc import derivative\n",
"\n",
"# для работы графиков\n",
"%matplotlib inline\n",
"from matplotlib import pylab as plt"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"-10.0"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# определяем функцию\n",
"def f(x):\n",
" return (x-5)**2\n",
"\n",
"# проверяем нахождение f'(x)\n",
"derivative(f, 0)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nLXqllHJz/x8s8lab/x0SoQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x8840a58>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# рисуем график функции\n",
"x = range(-5,15)\n",
"y = [f(xn) for xn in x]\n",
"plt.plot(x, y)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"{0: 25,\n",
" 1.0: 16.0,\n",
" 1.8: 10.240000000000002,\n",
" 2.4400000000000004: 6.5535999999999976,\n",
" 2.9520000000000004: 4.194303999999998,\n",
" 3.3616000000000001: 2.6843545599999996,\n",
" 3.6892800000000001: 1.7179869183999996,\n",
" 3.9514240000000003: 1.0995116277759995,\n",
" 4.1611392: 0.70368744177663989,\n",
" 4.3289113600000002: 0.45035996273704931,\n",
" 4.4631290880000005: 0.28823037615171121,\n",
" 4.5705032704000006: 0.18446744073709501,\n",
" 4.6564026163200003: 0.11805916207174093,\n",
" 4.7251220930560001: 0.07555786372591429,\n",
" 4.7800976744448: 0.048357032784585148,\n",
" 4.8240781395558399: 0.030948500982134555,\n",
" 4.8592625116446717: 0.019807040628566166,\n",
" 4.8874100093157375: 0.012676506002282305,\n",
" 4.9099280074525904: 0.0081129638414606121,\n",
" 4.9279424059620727: 0.0051922968585347406,\n",
" 4.942353924769658: 0.0033230699894622544,\n",
" 4.9538831398157264: 0.0021267647932558427,\n",
" 4.9631065118525814: 0.0013611294676837131,\n",
" 4.9704852094820655: 0.00087112285931755548,\n",
" 4.9763881675856521: 0.00055751862996325226,\n",
" 4.981110534068522: 0.00035681192317646801}"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# подготовка к Град. спуску\n",
"\n",
"# начальн. значение\n",
"xn = 0 \n",
"yn = f(xn)\n",
"\n",
"# заводим словарь, где будем хранить все найденные значения функции\n",
"Y = {xn: yn}\n",
"\n",
"# шаг ГС (произвольный подибраем)\n",
"step = 0.1\n",
"\n",
"# по формуле градиентного спуска получаем все значения x y\n",
"for _ in range(25):\n",
" xn = xn - step*derivative(f, xn)\n",
" yn = f(xn)\n",
" Y[xn] = yn\n",
"\n",
"Y"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x9beb828>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# наносим найденные точки на график\n",
"plt.plot(list(Y.keys()), list(Y.values()), 'ro')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAD8CAYAAABzTgP2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAD7RJREFUeJzt212MXGd9x/HvD5uoNaAmKG4wflu3tdpaiEJYWW6pkEoC\ncgLCqFeJAknTVlYkQkOFFJnkGgmpFYWIKJEFqRLFbYSAqBYyhBCQepU067xiTBrXzZtxiEFqQPVF\n6ubfizmu91lms+s9szPe5PuRVt5zzjM7T57s7HfPObOpKiRJOu1Nk56AJOncYhgkSQ3DIElqGAZJ\nUsMwSJIahkGS1DAMkqSGYZAkNQyDJKmxetITWIoLL7ywpqamJj0NSVpRDh48+POqWrvQuBUZhqmp\nKWZmZiY9DUlaUZI8u5hxXkqSJDUMgySpYRgkSQ3DIElqGAZJUsMwSJIahkGS1DAMkqSGYZAkNQyD\nJKlhGCRJDcMgSWoYBklSwzBIkhqGQZLUMAySpMZIwpBkZ5KnkhxJsmfI8SS5pTv+RJKL5xxfleTR\nJN8exXwkSUvXOwxJVgG3ApcB24Ark2ybM+wyYGv3sRu4bc7xG4DDfeciSepvFGcM24EjVXW0ql4B\n7gF2zRmzC7irBh4Ezk+yDiDJBuAjwFdHMBdJUk+jCMN64PlZ2y90+xY75kvAjcCrI5iLJKmnid58\nTvJR4KWqOriIsbuTzCSZOXHixBhmJ0lvTKMIwzFg46ztDd2+xYx5P/CxJM8wuAT1wSR3D3uSqtpb\nVdNVNb127doRTFuSNMwowvAwsDXJliTnAVcA++eM2Q9c3b07aQfwclUdr6rPVdWGqprqHveDqvrE\nCOYkSVqi1X2/QFWdSnI9cB+wCrijqg4lua47fjtwALgcOAKcBK7t+7ySpOWRqpr0HM7a9PR0zczM\nTHoakrSiJDlYVdMLjfMvnyVJDcMgSWoYBklSwzBIkhqGQZLUMAySpIZhkCQ1DIMkqWEYJEkNwyBJ\nahgGSVLDMEiSGoZBktQwDJKkhmGQJDUMgySpYRgkSQ3DIElqGAZJUsMwSJIahkGS1DAMkqSGYZAk\nNQyDJKlhGCRJDcMgSWoYBklSwzBIkhqGQZLUMAySpIZhkCQ1DIMkqWEYJEkNwyBJahgGSVJjJGFI\nsjPJU0mOJNkz5HiS3NIdfyLJxd3+jUl+mOTHSQ4luWEU85EkLV3vMCRZBdwKXAZsA65Msm3OsMuA\nrd3HbuC2bv8p4LNVtQ3YAXxqyGMlSWM0ijOG7cCRqjpaVa8A9wC75ozZBdxVAw8C5ydZV1XHq+oR\ngKr6FXAYWD+COUmSlmgUYVgPPD9r+wV+/Yf7gmOSTAHvBR4awZwkSUt0Ttx8TvJW4JvAZ6rql/OM\n2Z1kJsnMiRMnxjtBSXoDGUUYjgEbZ21v6PYtakySNzOIwr6q+tZ8T1JVe6tquqqm165dO4JpS5KG\nGUUYHga2JtmS5DzgCmD/nDH7gau7dyftAF6uquNJAnwNOFxVXxzBXCRJPa3u+wWq6lSS64H7gFXA\nHVV1KMl13fHbgQPA5cAR4CRwbffw9wOfBJ5M8li376aqOtB3XpKkpUlVTXoOZ216erpmZmYmPQ1J\nWlGSHKyq6YXGnRM3nyVJ5w7DIElqGAZJUsMwSJIahkGS1DAMkqSGYZAkNQyDJKlhGCRJDcMgSWoY\nBklSwzBIkhqGQZLUMAySpIZhkCQ1DIMkqWEYJEkNwyBJahgGSVLDMEiSGoZBktQwDJKkhmGQJDUM\ngySpYRgkSQ3DIElqGAZJUsMwSJIahkGS1DAMkqTG6z8M+/bB1BS86U2Df/ftm/SMJOmctnrSE1hW\n+/bB7t1w8uRg+9lnB9sAV101uXlJ0jns9X3GcPPNZ6Jw2smTg/3j4NmKpBXo9R2G5547u/2jdPps\n5dlnoerM2cqo42B8JI3YSMKQZGeSp5IcSbJnyPEkuaU7/kSSixf72F42bTq7/aM0jrOVUcenb2SM\nlPT6UFW9PoBVwH8AvwOcBzwObJsz5nLgO0CAHcBDi33ssI/3ve99tSh33121Zk3V4Mfm4GPNmsH+\n5Za0z3v6Ixndc2zePPw5Nm8++6/Vd60mudaSFgWYqUX8XB/FGcN24EhVHa2qV4B7gF1zxuwC7urm\n9iBwfpJ1i3zs0l11FezdC5s3QzL4d+/e8dx4HsfZyigvlfU9w5n0/RxJIzOKMKwHnp+1/UK3bzFj\nFvPYfq66Cp55Bl59dfDvuN6N9PnPw5o17b41awb7R2WU8ekbmUnez5E0Uivm5nOS3UlmksycOHFi\n0tNZ2DjOVkYZn76RmeT9HEkjNYowHAM2ztre0O1bzJjFPBaAqtpbVdNVNb127drekx6L5T5bGWV8\n+kZmHGdIksZiFGF4GNiaZEuS84ArgP1zxuwHru7enbQDeLmqji/ysXoto4pP38hM8n6OpJHK4EZ1\nzy+SXA58icG7jO6oqs8nuQ6gqm5PEuArwE7gJHBtVc3M99iFnm96erpmZmZ6z1uS3kiSHKyq6QXH\njSIM42YYJOnsLTYMK+bmsyRpPAyDJKlhGCRJDcMgSWoYBklSwzBIkhqGQZLUMAySpIZhkCQ1DIMk\nqWEYJEkNwyBJahgGSVLDMEiSGoZBktQwDJKkhmGQJDUMgySpYRgkSQ3DIElqGAZJUsMwSJIahkGS\n1DAMkqSGYZAkNQyDJKlhGCRJDcMgSWoYBklSwzBIkhqGQZLUMAySpIZhkCQ1DIMkqWEYJEmNXmFI\n8vYk9yd5uvv3gnnG7UzyVJIjSfbM2v93SX6S5Ikk9yY5v898JEn99T1j2AM8UFVbgQe67UaSVcCt\nwGXANuDKJNu6w/cD76qqdwP/Dnyu53wkST31DcMu4M7u8zuBjw8Zsx04UlVHq+oV4J7ucVTV96rq\nVDfuQWBDz/lIknrqG4aLqup49/mLwEVDxqwHnp+1/UK3b66/BL7Tcz6SpJ5WLzQgyfeBdww5dPPs\njaqqJLWUSSS5GTgF7HuNMbuB3QCbNm1aytNIkhZhwTBU1aXzHUvysyTrqup4knXAS0OGHQM2ztre\n0O07/TX+AvgocElVzRuWqtoL7AWYnp5eUoAkSQvreylpP3BN9/k1wL8MGfMwsDXJliTnAVd0jyPJ\nTuBG4GNVdbLnXCRJI9A3DF8APpTkaeDSbpsk70xyAKC7uXw9cB9wGPh6VR3qHv8V4G3A/UkeS3J7\nz/lIknpa8FLSa6mqXwCXDNn/U+DyWdsHgANDxv1en+eXJI2ef/ksSWoYBklSwzBIkhqGQZLUMAyS\npIZhkCQ1DIMkqWEYJEkNwyBJahgGSVLDMEiSGoZBktQwDJKkhmGQJDUMgySpYRgkSQ3DIElqGAZJ\nUsMwSJIahkGS1DAMkqSGYZAkNQyDJKlhGCRJDcMgSWoYBklSwzBIkhqGQZLUMAySpIZhkCQ1DIMk\nqWEYJEkNwyBJahgGSVKjVxiSvD3J/Ume7v69YJ5xO5M8leRIkj1Djn82SSW5sM98JEn99T1j2AM8\nUFVbgQe67UaSVcCtwGXANuDKJNtmHd8IfBh4rudcJEkj0DcMu4A7u8/vBD4+ZMx24EhVHa2qV4B7\nused9g/AjUD1nIskaQT6huGiqjreff4icNGQMeuB52dtv9DtI8ku4FhVPd5zHpKkEVm90IAk3wfe\nMeTQzbM3qqqSLPq3/iRrgJsYXEZazPjdwG6ATZs2LfZpJElnacEwVNWl8x1L8rMk66rqeJJ1wEtD\nhh0DNs7a3tDt+11gC/B4ktP7H0myvapeHDKPvcBegOnpaS87SdIy6XspaT9wTff5NcC/DBnzMLA1\nyZYk5wFXAPur6smq+u2qmqqqKQaXmC4eFgVJ0vj0DcMXgA8leRq4tNsmyTuTHACoqlPA9cB9wGHg\n61V1qOfzSpKWyYKXkl5LVf0CuGTI/p8Cl8/aPgAcWOBrTfWZiyRpNPzLZ0lSwzBIkhqGQZLUMAyS\npIZhkCQ1DIMkqWEYJEkNwyBJahgGSVLDMEiSGoZBktQwDJKkhmGQJDUMgySpYRgkSQ3DIElqGAZJ\nUiNVNek5nLUkJ4BnJzyNC4GfT3gO5wrX4gzX4gzX4oxzZS02V9XahQatyDCcC5LMVNX0pOdxLnAt\nznAtznAtzlhpa+GlJElSwzBIkhqGYen2TnoC5xDX4gzX4gzX4owVtRbeY5AkNTxjkCQ1DMM8kqxK\n8miSbw85dkGSe5M8keTfkrxr1rHzk3wjyU+SHE7yx+Od+ej1WIu/TXIoyY+S/HOS3xjvzEcryTNJ\nnkzyWJKZIceT5JYkR7r1uHjWsZ1JnuqO7RnvzEdvqWuRZGOSHyb5cfe9ccP4Zz9afb4vuuPzvr4m\nxTDM7wbg8DzHbgIeq6p3A1cDX5517MvAd6vqD4A/eo2vsZKc9VokWQ/8DTBdVe8CVgFXjGGuy+3P\nquo987z18DJga/exG7gNBi984Nbu+DbgyiTbxjTf5XTWawGcAj5bVduAHcCn3sBrcdprvb4mwjAM\nkWQD8BHgq/MM2Qb8AKCqfgJMJbkoyW8BHwC+1h17par+awxTXjZLXYvu2GrgN5OsBtYAP13m6U7a\nLuCuGngQOD/JOmA7cKSqjlbVK8A93djXs6FrUVXHq+oRgKr6FYMfiOsnOdExmO/7YjGvr4kwDMN9\nCbgReHWe448Dfw6QZDuwGdgAbAFOAP/YnRp+NclbxjDf5bSktaiqY8DfA88Bx4GXq+p7yz/dZVXA\n95McTLJ7yPH1wPOztl/o9s23fyVb6lr8vyRTwHuBh5ZpjuPSZy0Wen1NhGGYI8lHgZeq6uBrDPsC\ng+o/BnwaeBT4Xwa/IV8M3FZV7wX+G1ix15P7rEWSCxj8prQFeCfwliSfWO45L7M/rar3MLg08Kkk\nH5j0hCao11okeSvwTeAzVfXL5ZjgGC1pLRb5+poIw/Dr3g98LMkzDE75P5jk7tkDquqXVXVt981w\nNbAWOMrgN4EXqur0b0DfYBCKlarPWlwK/GdVnaiq/wG+BfzJWGc/Yt1ZEFX1EnAvg0tEsx0DNs7a\n3tDtm2//itVjLUjyZgZR2FdV31r+2S6vHmux4OtrUgzDHFX1uaraUFVTDG6W/qCqmt90u3cenddt\n/jXwr90PyBeB55P8fnfsEuDH45r7qPVZCwaXkHYkWZMkDNbinLrBdjaSvCXJ205/DnwY+NGcYfuB\nq7t3oexgcPnsOPAwsDXJlm6trujGrkh91qL7XvgacLiqvjjWiS+DPmuxmNfXpKye9ARWiiTXAVTV\n7cAfAncmKeAQ8Fezhn4a2Nf9ADgKXDvuuS63xaxFVT2U5BvAIwzeifIoK+yvP+e4CLh38HON1cA/\nVdV356zFAeBy4Ahwku7/fVWdSnI9cB+Dd2fdUVWHxv+fMDJLXgsGvyV/Eniyu/wIcFNVHRjj/Eep\nz1qcs/zLZ0lSw0tJkqSGYZAkNQyDJKlhGCRJDcMgSWoYBklSwzBIkhqGQZLU+D8Rqor6YZwHAwAA\nAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x8320b70>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# масштабируем\n",
"plt.plot(list(Y.keys()), list(Y.values()), 'ro')\n",
"plt.axis([4.95, 5.05, -0.05, 0.05])\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"мин. Х = 4.98111053407\n",
"мин. Y = 0.000356811923176\n"
]
}
],
"source": [
"# словарь значений, где key = х (просто инвертируем Y)\n",
"X = {}\n",
"for i in range(len(Y)):\n",
" X[list(Y.values())[i]] = list(Y.keys())[i]\n",
"\n",
"# выводим пару искомых минимальных X и Y (близких к минимумам)\n",
"print ('мин. Х =', min(X.items())[1])\n",
"print ('мин. Y =', min(X.items())[0])"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment