{ "cells": [ { "cell_type": "markdown", "id": "a59fca70-5c73-4abc-bff0-1e00e5ea53d6", "metadata": {}, "source": [ "\n", "# Introduction to machine learning" ] }, { "cell_type": "markdown", "id": "a91af2d1-f435-4782-b6ca-dd76100715f2", "metadata": {}, "source": [ "\n", "> The presentation based on the article: [\"Deep Learning: An Introduction for Applied Mathematicians\"](https://arxiv.org/abs/1801.05894), by Catherine F. Higham and Desmond J. Higham, SIAM Review, Vol. 61, No. 4, pp. 860–891 (2019) " ] }, { "cell_type": "markdown", "id": "78c9cd13-56df-4206-9353-07a8bbbcbde6", "metadata": {}, "source": [ "\n", "We analyze a specific model and develop Julia code that illustrates the main algorithmic steps in setting up, training, and applying neural networks." ] }, { "cell_type": "markdown", "id": "261c4f92-9142-4eeb-b1ef-c8f0021ad93c", "metadata": {}, "source": [ "Consider a set of points shown in the figure below. The figure shows *labeled data* - some points are in category A, indicated by\n", "red circles, and the rest are in category B, indicated by blue triangles. For example, the data\n", "may show oil drilling sites on a map, where category A denotes a successful outcome.\n", "Can we use this data to categorize a newly proposed drilling site? Our job is to\n", "construct a mapping that takes any point and returns either a circle or a triangle." ] }, { "attachments": { "71e3e883-2b29-4e83-9203-780cb2c60f79.png": { "image/png": "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HgIQgAAEIOBBAAH2gMYQCEAAAhCAQCgBBDiUIOMhAAEIQAACHgQQYA9oDIEABCAAAQiEEkCAQwkyHgIQgAAEIOBBAAH2gMYQCEAAAhCAQCgBBDiUIOMhAAEIQAACHgQQYA9oDIEABCAAAQiEEkCAQwkyHgIQgAAEIOBBAAH2gMYQCEAAAhCAQCgBBDiUIOMhAAEIQAACHgQQYA9oDIEABCAAAQiEEkCAQwkyHgIQgAAEIOBBAAH2gMYQCEAAAhCAQCgBBDiUIOMhAAEIQAACHgQQYA9oDIEABCAAAQiEEkCAQwkyHgIQgAAEIOBBAAH2gMYQCEAAAhCAQCgBBDiUIOMhAAEIQAACHgQQYA9oDIEABCAAAQiEEkCAQwkyHgIQgAAEIOBBAAH2gMYQCEAAAhCAQCgBBDiUIOMhAAEIQAACHgQQYA9oDIEABCAAAQiEEkCAQwkyHgIQgAAEIOBBAAH2gMYQCEAAAhCAQCgBBDiUIOMhAAEIQAACHgQQYA9oDIEABCAAAQiEEkCAQwkyHgIQgAAEIOBBAAH2gMYQCEAAAhCAQCgBBDiUIOMhAAEIQAACHgQQYA9oDIEABCAAAQiEEkCAQwkyHgIQgAAEIOBB4P8BLB9PR16VWJEAAAAASUVORK5CYII=" } }, "cell_type": "markdown", "id": "5a6e08d8-561d-4e02-80c1-543ecb53b7e2", "metadata": {}, "source": [ "![image.png](attachment:71e3e883-2b29-4e83-9203-780cb2c60f79.png)" ] }, { "cell_type": "markdown", "id": "b3a402d8-2768-447b-8770-7e5caeac08d8", "metadata": {}, "source": [ "There are many reasonable ways to construct such a mapping. Here we consider the\n", "neural network approach." ] }, { "cell_type": "markdown", "id": "0e1274c0-869f-4f17-b91a-3bbb5af2d7cc", "metadata": {}, "source": [ "We will base our network on the sigmoid function:\n", "\n", "$$\\sigma(x) = \\frac{1}{1 + e^{-x}}. $$\n", "\n", "A graph of $\\sigma(x)$ is shown in the figure below." ] }, { "attachments": { "e5775afd-3c7f-4f5a-9be0-d1c1929dfe17.png": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHiCAIAAAD3e+q4AAAgAElEQVR4AeydC3wU1dn/VxEC0tZWLW+tvg6g3LwbbbS2Qq3WS+0r1tr2tYrYait4AXzt3wkgBpSgglpFIygiXjCi3AJMSLhDIOEW7skS7gkhCQkJ5MImm0129y+ujMPecs7sMzNnNr/99FPPzJzL8/v+zjkPJ5vsOvx4gQAIgAAIgAAImE7AYfqIGBAEQAAEQAAEQMCPBIxJAAIgAAIgAAIWEEACtgA6hgQBEAABEAABJGDMARAAARAAARCwgAASsAXQMSQIgAAIgAAIIAFjDoAACIAACICABQSQgC2AjiFBAARAAARAAAkYcwAEQAAEQAAELCCABGwBdAwJAiAAAiAAAkjAmAMgAAIgAAIgYAEBJGALoGNIEAABEAABEEACxhwAARAAARAAAQsIIAFbAB1DggAIgAAIgAASMOYACIAACIAACFhAAAnYAugYEgRAAARAAASQgDEHQAAEQAAEQMACAkjAFkDHkCAAAiAAAiCABIw5AAIgAAIgAAIWEEACtgA6hgQBEAABEAABJGDMARAAARAAARCwgAASsAXQMSQIgAAIgAAIIAFjDoAACIAACICABQSQgC2AjiFBAARAAARAAAkYcwAEQAAEQAAELCCABGwBdAwJAiAAAiAAAkjAmAMgAAIgAAIgYAEBJGALoGNIEAABEAABEEACxhwAARAAARAAAQsIIAFbAB1DggAIgAAIgAASMOYACIAACIAACFhAAAnYAugYEgRAAARAAASQgDEHQAAEQAAEQMACAkjAFkDHkCAAAiAAAiCABIw5AAIgAAIgAAIWEEACtgA6hgQBEAABEAABJGDMARAAARAAARCwgAASsAXQMSQIgAAIgAAIIAFjDoAACIAACICABQSQgC2AjiFBAARAAARAAAkYcwAEQAAEQAAELCCABGwBdAwJAiAAAiAAAkjAmAMgAAIgAAIgYAEBJGALoGNIEAABEAABEEACxhwAARAAARAAAQsIIAFbAB1DggAIgAAIgAASMOYACIAACIAACFhAAAnYAugYEgRAAARAAASQgDEHQAAEQAAEQMACAkjAFkDHkCAAAiAAAiCABIw5AAIgAAIgAAIWEEACtgA6hgQBEAABEAABJGDMARAAARAAARCwgAASsAXQMSQIgAAIgAAIIAFj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HvSvczjIwjzsfs7SUJw6OAEHn4At/BH0okWLtB/mtXPnzo4dO+bm5vr9/kmTJl177bXaebNly5Yf/vCHn3322e9///sHH3xQ++ijjz665JJLtHfwI2gtDexuWhp2LIvsoM/nK6qon7p6/0Mfrg/6/eTEl5c+8enmKav3bzpU09jcGoW8yAKjhM3+iEQgEjA7cCFqhjWM9+Bl3E9oq6qqunTp8sgjj+zevVtRlB49ejz77LMBcDt37jznnHOOHz8euDx06NDPfvazwCdx5ufnn3XWWfn5+SriwYMHh75hrD5tszBw4MDzzjvvgQceaLMmb4WKioqnn366qKhI+yHeaie8RqgNeQski593UDPrQ6CZtANjNXlalxYelefsuHnCcu07Vje8suyZ9K1fbCg5UNXA8lsggd7gIIuDYfdzlobi1MEJOPgE3KY3xiVgv9+/aNGi3r17d+zYsWfPnq+//rrX+/0vN958881Tp04NnGX79u37r3/9Sw31vvvuu+uuuwKXTU1NP/rRj9avX68+5S0sX748PT09UgKe8e2Lpc+dO3feq3kFmsiyPHjw4Obm5tAekIBDmei7g+1bHzcdreqaPBnbjgydmd9vzPe/t9x79OLBH2/8eN3BfZX17ElXOzoc1NKIVEYCjkRG0PthDePd9w1NwFHAZWZm9uvXT5uSw1Z+7733fve734V9xHjT6/UuWrRIRwIuKiq65557EhMTBwwYEPQOdGDo+vr6hx9++J///GfYSHiNCNsJy03sbiyURK5juYNNntbMneX//HRzr1HffwjGLycsT1lQsKqosskT7cfLLGAtF8gSZCx1SASG3c9jicr8tjgBi3UCjj4D3n777cOHD0ev88EHHxQVFUWvE/2pvgTsdrtvv/320tJSv9//7rvvvvrqq0GjtLS0PP7440eOHBk1atSuXbuCnvr93EaE9sB4h2TxM45lSTUINAi7z+fL3X/s+a+3X6X5fMfb31w9MXv3ztJafYfdsKHCwbBYgm4iAQcBEf0yrGG8By+rTsCmwQ2bgFtbW6/99vXf374C5dbW7/+lP2vWrIsuuihwv2/fvm+88QZvwLxG8Pav1sfupqKwacF8B481uKes3v+bSavU93dveXXFa1m7iyrqjWBovkAjVETpk0Rg2P08yqACPsIJmPvg1T4TsDp3I70HPHr06PT0dLWajgIS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/7zdHZs1a1bHjh2nTZvmdDqHDx/etWvXkpISu4vSxn/XXXfNmDGjoKBg+/bt995776WXXnry5Elthbgpb9q0qXv37tdcc02cJeDjx49LkvTYY49t3Ljx0KFDy5cv379/f9y4xisECZiX2Hf1W1paLr744o8++khne5s0W7x4cd++fQsLC+MvAQc5MHHixB49egTdtN1lUlLSkCFD1LD79u2bnJysXsZZoaqqyuFwrFmzJs50+f3+hoaGXr16LVu2bMCAAXGWgGVZ/vWvfx1/lulThASsj5t/48aNDofj448/vu666372s5/dfffdBQUFOvsStdnRo0cvvvjizZs3Hzp0KO4T8OjRo2+44QZRrWCKq7m5uUOHDvPmzVNrDxs2rH///uplnBX27dvncDh27doVZ7r8fv+jjz46YsQIv98ffwm4X79+I0aMePDBB3/6059ed911H374YfzZx64ICZid1Rk1v/zyy28S8KWXXjpnzpz8/PyHHnroggsuqKmpOaOSnS98Pt/dd9/9yiuv+P2n3i6N7wS8f//+H/3oR9OmTbOzY/6ysjKHw5Gbm6uqSE1N7d27t3oZTwWfz/c///M/cXmW+vLLL6+66qqmpqa4TMAJ375Gjhy5devWqVOndu7c+dNPP42nmcmlBQk4Iq6UlJRI35C5efPmL774wuFwfPDBB4H2brf7wgsvnDp1asTuxHsQXeA777xzyy23tLa22jcBRxeoGlJWVnb55Zc//vjj6h2bFgIJOC8vT41//Pjxffr0US/jqfDUU09JkmTr74INa8fhw4e7deu2ffv2wNP4OwF37Njxl7/8par92Wefvfnmm9XL9lZAAo7o+LFjx3ZHeDU1Na1cudLhcKxdu1Ztn5SUNGrUKPVS/EJ0gQMHDjz77LM7nH45HI4OHTo8+uij4utSI4wuMFCtrKysd+/egwYNsvW3iga0tJ8fQT/zzDOXXHLJwYMHVa/jpjB//vzAWgusPIfDcdZZZ3Xo0CHwT+E4kHnppZdq/7H7/vvv//znP48DXfokIAHr4+avq6tLSEhQfwnL4/F069ZNPRDr7FSkZiUlJbtOv5YsWeJwOObMmRNnB44jR4706tXrf//3f+Nmd0tKSho6dKg6j/r16xdnv4Tl8/mefvrpn//853v37lVlxlOhvr7+9LI79d8bb7zxkUceiaf3uR966CHtGwcjRozQHojjyUoWLUjALJTC1xk+fPjFF1+8ZMmSoqKixx9/vFu3bsePHw9f1eZ34/I94MBPnn/7298eOXKk4vTL5kb5A3+GNH36dKfTOWLEiK5duxYXF9tdlDb+oUOHnnfeeatXrz7tWEVjY6O2QpyV4+9H0Js2bTrnnHNSU1P37dv3xRdfnHvuuTNnzowz19jlIAGzswqu6fF4nn/++W7duv3whz+844474u+3oFXBcZmAZ8yYEfoevyrZvoW0tDRJkjp16pSYmBh/f6ITatmMGTPsa1abkcdfAvb7/YsWLbrqqqsSEhL69u2L34Jucw6gAgiAAAiAAAiAADEBnICJgaI7EAABEAABEGAhgATMQgl1QAAEQAAEQICYABIwMVB0BwIgAAIgAAIsBJCAWSihDgiAAAiAAAgQE0ACJgaK7kAABEAABECAhQASMAsl1AEBEAABEAABYgJIwMRA0R0IgAAIgAAIsBBAAmahhDogAAIgAAIgQEwACZgYKLoDARAAARAAARYCSMAslFAHBEAABEAABIgJIAETA0V3IGAVgaqqqv/6r/9KTU0NBLBhw4Zvvnt1yZIlVsWDcUEABKITQAKOzgdPQcBOBDIzMzt27Lh58+aGhobLL798+PDhdooesYJAOyOABNzODIfceCfw1FNP9e7d++GHH77qqquampriXS70gYCNCSAB29g8hA4CoQQaGxt79uzZsWPHHTt2hD7FHRAAAXEIIAGL4wUiAQECAgUFBZ07d+7QocPChQsJukMXIPD/26tjI4qgIAqgiVwk14EONKAITehBB9oRqEQmFQrM/OA3IGHsOrl59p4bXAK3CRjg22g9TOBxgeM4mqbp+34cx6qqtm17/AQ/JEDgqoABvirlOwLvFxiGoa7rfd/P82zbtuu699/sQgKfFTDAn61e8GwC8zwXRbEsyz/Yuq5lWU7TlC2nPASyCBjgLE3KQYAAAQKhBAxwqLocS4AAAQJZBAxwliblIECAAIFQAgY4VF2OJUCAAIEsAgY4S5NyECBAgEAoAQMcqi7HEiBAgEAWAQOcpUk5CBAgQCCUgAEOVZdjCRAgQCCLgAHO0qQcBAgQIBBKwACHqsuxBAgQIJBFwABnaVIOAgQIEAglYIBD1eVYAgQIEMgiYICzNCkHAQIECIQS+AEVA7bbUOQ/RAAAAABJRU5ErkJggg==" } }, "cell_type": "markdown", "id": "2c24dc12-4042-4f62-89c0-89ddb479c42e", "metadata": {}, "source": [ "![image.png](attachment:e5775afd-3c7f-4f5a-9be0-d1c1929dfe17.png)" ] }, { "cell_type": "markdown", "id": "a83419be-6623-4035-9470-08da05b5995b", "metadata": {}, "source": [ "We may regard $\\sigma(x)$ as a smoothed version of a step function, which itself mimics the\n", "behavior of a neuron in the brain — firing (giving output equal to one) if the input is\n", "large enough, and remaining inactive (giving output equal to zero) otherwise. " ] }, { "attachments": {}, "cell_type": "markdown", "id": "2664ccaf-6ec1-4378-bf9f-da5dc8b40777", "metadata": {}, "source": [ "The steepness and location of the transition in the sigmoid function may be\n", "altered by scaling and shifting the argument or, in the language of neural networks,\n", "by *weighting* and *biasing* the input. The plot below shows $\\sigma(3(x − 3))$.\n", "The factor 3 has sharpened the changeover and the shift −3 has altered its location." ] }, { "attachments": { "d241478f-e871-4dd7-bdba-e131fce9c00b.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "996177d6-f54e-452c-8b61-5798ff39aa29", "metadata": {}, "source": [ "![image.png](attachment:d241478f-e871-4dd7-bdba-e131fce9c00b.png)" ] }, { "cell_type": "markdown", "id": "1c723cbe-1531-45fa-bedf-eec777c25e52", "metadata": {}, "source": [ "The sigmoid has the convenient property that its derivative takes the simple form:\n", "\n", "$$\\frac{\\mathrm{d}\\sigma}{\\mathrm{d}x} = \\sigma(x) \\, (1 - \\sigma(x)).$$" ] }, { "cell_type": "markdown", "id": "a2a6bbea-abc4-4985-9e5e-7b388ae05668", "metadata": {}, "source": [ "We'll need to interpret the sigmoid function in a\n", "vectorized sense. If $\\mathbf{z}$ is a vector with components $(\\mathbf{z})_i = z_i$, $i = 1, 2, \\ldots$\n", "then $\\sigma(\\mathbf{z})$ is also a vector with the components\n", "\n", "$$\\left(\\sigma(\\mathbf{z})\\right)_i = \\sigma(z_i) .$$" ] }, { "cell_type": "markdown", "id": "fe5064b0-82af-4e38-aa0c-9059800c07f7", "metadata": {}, "source": [ "We construct the neural network using layers of neurons. In each layer, every neuron\n", "outputs a single real number, which is passed to every neuron in the next layer. At\n", "the next layer, each neuron forms its own weighted combination of these values, adds\n", "its own bias, and applies the sigmoid function. \n", "\n", "If the real numbers produced by the neurons in one layer are collected into a vector, $\\mathbf{a}$, then\n", "the vector of outputs from the next layer has the form\n", "\n", "$$\\sigma\\left(W \\mathbf{a} + \\mathbf{b}\\right) .$$\n", "\n", "Here, $W$ is a matrix and $\\mathbf{b}$ is a vector. We say that $W$ contains the *weights* and $\\mathbf{b}$\n", "contains the *biases*. The number of columns in $W$ matches the number of neurons\n", "that produced the vector $\\mathbf{a}$ at the previous layer. The number of rows in $W$ matches\n", "the number of neurons at the current layer. The number of components in $\\mathbf{b}$ also\n", "matches the number of neurons at the current layer." ] }, { "cell_type": "markdown", "id": "ece03332-ca82-49a5-b41f-eb31af99cd51", "metadata": {}, "source": [ "The figure below represents a neural network with four layers. We will apply this\n", "network to the problem of categorazing points in the plane. For the network the first\n", "(input) layer is represented by two circles, because our input data points have two\n", "components - their cartezian coordinates. The second layer has two circles, indicating that two neurons are\n", "being employed. The arrows from layer 1 to layer 2 indicate that both components\n", "of the input data are made available to the two neurons in layer 2.\n" ] }, { "attachments": { "8a89c1ef-6267-441d-b646-58d3488a5978.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "e8812305-f3fa-4a97-bc03-6b4d94ba7660", "metadata": {}, "source": [ "![image.png](attachment:8a89c1ef-6267-441d-b646-58d3488a5978.png)" ] }, { "cell_type": "markdown", "id": "754d2553-ec26-4c05-9ea2-9c752f796f60", "metadata": {}, "source": [ "Since the input data has the form of two-component vector,\n", "the weights and biases for layer 2 may be represented by\n", "a $2 \\times 2$ matrix $W^{[2]}$ and a two-component vector $\\mathbf{b}^{[2]}$,\n", "respectively. The output from layer 2 then has the form\n", "\n", "$$\\sigma\\left(W^{[2]} \\mathbf{x} + \\mathbf{b}^{[2]}\\right) . $$" ] }, { "cell_type": "markdown", "id": "4031a3b5-2bf4-43ce-894e-4bf4e6138354", "metadata": {}, "source": [ "Layer 3 has three neurons, each receiving two-component input, so the weights and biases\n", "for layer 3 may be represented by a $3 \\times 2$ matrix $W^{[3]}$\n", "and a three-component vector $\\mathbf{b}^{[3]}$, respectively. The output from layer 3 then has the form\n", "\n", "$$\\sigma\\left(W^{[3]} \\sigma\\left(W^{[2]} \\mathbf{x} + \\mathbf{b}^{[2]}\\right) + \\mathbf{b}^{[3]}\\right) . $$" ] }, { "cell_type": "markdown", "id": "b9019504-9861-4950-a195-dc91d7f47068", "metadata": {}, "source": [ "The fourth (output) layer has two neurons, each receiving three-component input, so the weights\n", "and biases for this layer may be represented by a $2 \\times 3$ matrix $W^{[4]}$ and a two-component vector\n", "$\\mathrm{b}^{[4]}$, respectively. The output from layer 4, and hence from the overall network,\n", "has the form\n", "\n", "$$\\sigma\\left(W^{[4]} \\sigma\\left(W^{[3]} \\sigma\\left(W^{[2]} \\mathbf{x} + \\mathbf{b}^{[2]}\\right) + \\mathbf{b}^{[3]}\\right) + \\mathbf{b}^{[4]} \\right). $$" ] }, { "cell_type": "markdown", "id": "6499b09d-a05b-4bbd-9f05-1b2d666db134", "metadata": {}, "source": [ "The last expression defines a function $F(x)$ in terms of its $2\\times 2 + 2 + 2\\times3 + 3 + 3 \\times 2 + 2 = 23$ parameters —\n", "the entries in the weight matrices and bias vectors. Recall that our aim is to produce\n", "a classifier based on the coordinates of the points in the plane. We do this by optimizing over the parameters. \n", "We will require F(x) to be close to $[1, 0]$ for data points in category A\n", "and close to $[0, 1]$ for data points in category B. Then, given a new point $x$, it\n", "would be reasonable to classify it according to the largest component of F(x); that is,\n", "category A if $F_1(x) > F_2(x)$ and category B if $F_1(x) < F_2(x)$. " ] }, { "cell_type": "code", "execution_count": null, "id": "4f72a81a", "metadata": {}, "outputs": [], "source": [ "\n", "using PyPlot\n", "using LinearAlgebra: norm\n", "\n", "using Random: seed!\n", "using Sobol\n", "\n", "using ProgressMeter" ] }, { "cell_type": "code", "execution_count": null, "id": "b7cd932a", "metadata": {}, "outputs": [], "source": [ "\n", "include(\"ml-higham.jl\");" ] }, { "cell_type": "markdown", "id": "f8bd2a43-a188-43c6-bd39-dd47916aad99", "metadata": {}, "source": [ "Let's intialize random number generators:" ] }, { "cell_type": "code", "execution_count": null, "id": "38e55840-afaf-473e-99bf-4f994838160e", "metadata": {}, "outputs": [], "source": [ "\n", "seed!(123)\n", "\n", "s = SobolSeq(2)\n", "skip(s, rand(1:200000)); # skip a random number of random points" ] }, { "cell_type": "markdown", "id": "d0cae90e-c95a-425c-80a9-b5750d48ec2f", "metadata": {}, "source": [ "\n", "### Prepare data:" ] }, { "cell_type": "code", "execution_count": null, "id": "c1be482a-5325-4d28-b897-09dfd3657f5b", "metadata": {}, "outputs": [], "source": [ "spdim = 2 # spatial dimension of data points\n", "np = 50 # number of data points\n", "\n", "x = zeros(spdim, np); # coordinates of the points\n", "y = zeros(spdim, np); # labels of data points" ] }, { "cell_type": "code", "execution_count": null, "id": "c86d7ed4-8eb5-42be-a57d-90ca78e985e8", "metadata": {}, "outputs": [], "source": [ "\n", "fun(x) = (2*(x[1] - 0.5))^2 + (x[2] - 0.0)^2 - (1/2)^2 # ponts at the edge\n", "# fun(x) = (2*(x[1] - 0.5))^2 + 2*(x[2] - 0.5)^2 - (1/2)^2 # points in the center" ] }, { "cell_type": "markdown", "id": "9957d6b1-9215-49a2-a8f0-0f067054b14e", "metadata": {}, "source": [ "Generate pair of points and assign the labels" ] }, { "cell_type": "code", "execution_count": null, "id": "2fcfb3d5-2da0-479d-88f8-315e3456609d", "metadata": {}, "outputs": [], "source": [ "\n", "for i = 1:np\n", " x[:, i] .= Sobol.next!(s)\n", " if fun(x[:, i]) < 0.0\n", " y[1, i] = 1.0\n", " y[2, i] = 0.0\n", " else\n", " y[1, i] = 0.0\n", " y[2, i] = 1.0\n", " end\n", "end" ] }, { "cell_type": "markdown", "id": "c82d33e2-6f1d-4696-b937-e5811a55cce9", "metadata": {}, "source": [ "Plot the data:" ] }, { "cell_type": "code", "execution_count": null, "id": "99021412-44ce-46aa-82c1-8d491d3efa73", "metadata": {}, "outputs": [], "source": [ "\n", "function show_data(x, y)\n", " for i = 1:np\n", " col = \"blue\"\n", " mar = \"^\"\n", " if y[1, i] > y[2, i]\n", " col = \"red\"\n", " mar = \"o\"\n", " end\n", " plot(x[1, i], x[2, i], linestyle=\"none\", marker=mar, c=col, markersize=6)\n", " end\n", " axis(\"square\")\n", " xlim(0.0, 1.0)\n", " ylim(0.0, 1.0)\n", " ax = gca()\n", " ax.axes.xaxis.set_ticks([])\n", " ax.axes.yaxis.set_ticks([])\n", "end" ] }, { "cell_type": "code", "execution_count": null, "id": "4ddf12d2-c76e-47b0-a8bd-0656bcc41ae0", "metadata": {}, "outputs": [], "source": [ "show_data(x, y);" ] }, { "cell_type": "markdown", "id": "258f56ad-9dea-4f0a-98fb-9cbe9921bae6", "metadata": {}, "source": [ "### The model" ] }, { "cell_type": "markdown", "id": "ca571738-dca9-46e0-8599-a3b5905f1f76", "metadata": {}, "source": [ "The number of neurons in each layer" ] }, { "cell_type": "code", "execution_count": null, "id": "4ca20599-3cc9-460b-983c-5e8c925e9c72", "metadata": {}, "outputs": [], "source": [ "\n", "Ns = [2, 2, 3, 2]\n", "\n", "p, delta = model_init(Ns);" ] }, { "cell_type": "markdown", "id": "8895f929-f033-4686-89ac-35990927f482", "metadata": {}, "source": [ "Predictions of untrained model:" ] }, { "cell_type": "code", "execution_count": null, "id": "3520a3e7-ba2f-4b50-9787-144895d9c8d6", "metadata": {}, "outputs": [], "source": [ "\n", "@show predict2([0.5, 0.5], p)\n", "@show predict2([0.9, 0.9], p);" ] }, { "cell_type": "markdown", "id": "9f047c9a-b151-4cea-be4d-990620f2ccf4", "metadata": {}, "source": [ "### Training" ] }, { "cell_type": "code", "execution_count": null, "id": "ec3b9754-ad87-4b96-b357-ae8d0ac3da55", "metadata": {}, "outputs": [], "source": [ "\n", "eta = 0.2\n", "niters = Int(2e6)\n", "savecosts = zeros(niters);" ] }, { "cell_type": "code", "execution_count": null, "id": "5bb12a49-4ab4-4502-9053-3faf058b9f71", "metadata": {}, "outputs": [], "source": [ "\n", "fbpropagate2!(savecosts, p, delta, eta, niters, x, y)" ] }, { "cell_type": "markdown", "id": "01ac14d5-5d89-4dd2-9f10-51b93b27c574", "metadata": {}, "source": [ "Predictions of trained model:" ] }, { "cell_type": "code", "execution_count": null, "id": "c16b8279-6216-472f-b906-6bfc3cfca415", "metadata": {}, "outputs": [], "source": [ "\n", "@show predict2([0.5, 0.5], p)\n", "@show predict2([0.9, 0.9], p);" ] }, { "cell_type": "code", "execution_count": null, "id": "891dcac2-a003-413b-ba9d-bad36b4e2e84", "metadata": {}, "outputs": [], "source": [ "\n", "\"\"\"\n", " areamap2!(mvals, xvals, yvals, pfin)\n", "\n", "Calculate the prediction of the model on a grid of points\n", "\"\"\"\n", "function areamap2!(mvals, xvals, yvals, pfin)\n", "\n", " n = length(xvals)\n", " xy = zeros(2)\n", " for k1 = 1:n\n", " xy[1] = xvals[k1]\n", " for k2 = 1:n\n", " xy[2] = yvals[k2] \n", " mvals[k2, k1] = findmax(predict2(xy, pfin))[2] - 1.0\n", " end\n", " end\n", " return nothing\n", "end" ] }, { "cell_type": "markdown", "id": "d05e30c0-a5a7-4374-ab48-d309faeb94b7", "metadata": {}, "source": [ "Plot the original data and the contour plot of the predictions:" ] }, { "cell_type": "code", "execution_count": null, "id": "0804b537-b496-471a-8cec-5bdaf18b93a5", "metadata": {}, "outputs": [], "source": [ "\n", "N = 500\n", "xvals = range(0.0, 1.0, N)\n", "yvals = range(0.0, 1.0, N)\n", "mvals = zeros(N, N);\n", "areamap2!(mvals, xvals, yvals, p);" ] }, { "cell_type": "code", "execution_count": null, "id": "5eaa75de-1a0f-49cb-a281-9350b496d9a1", "metadata": {}, "outputs": [], "source": [ "\n", "show_data(x, y)\n", "cs = contour(xvals, yvals, mvals, levels=[0.5]);" ] }, { "cell_type": "markdown", "id": "c5889a53-af90-4605-a034-ec249a5cdbba", "metadata": {}, "source": [ "\n", "Visualize cost minimization:" ] }, { "cell_type": "code", "execution_count": null, "id": "031e0951-d1c4-4e64-9636-7bc839b6a8e0", "metadata": {}, "outputs": [], "source": [ "\n", "semilogy(1:niters, savecosts)\n", "grid(true)\n", "xlabel(\"number of iterations\")\n", "ylabel(\"cost function\");" ] }, { "cell_type": "code", "execution_count": null, "id": "792e4a3d-8d22-47a4-8fad-b5d1541f67cd", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "@webio": { "lastCommId": null, "lastKernelId": null }, "kernelspec": { "display_name": "Julia 1.10.6", "language": "julia", "name": "julia-1.10" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.10.6" } }, "nbformat": 4, "nbformat_minor": 5 }