{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Uczenie maszynowe – zastosowania\n",
"### Zajęcia laboratoryjne\n",
"# 10. Wprowadzenie do sieci neuronowych"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Poniżej znajduje się implementacja prostej sieci neuronowej dla problemu klasyfikacji binarnej na przykładzie losowo wygenerowanego zestawu danych.\n",
"\n",
"W sieciach jednokierunkowych (ang. _feedforward_) wartości neuronów w $i$-tej warstwie są obliczane na podstawie wartości neuronów warstwy $i-1$. Mając daną $n$-warstwową sieć neuronową oraz jej parametry $\\Theta^{(1)}, \\ldots, \\Theta^{(n)} $ oraz $\\beta^{(1)}, \\ldots, \\beta^{(n)}$ liczymy: \n",
"$$a^{(i)} = g^{(i)}\\left( a^{(i-1)} \\Theta^{(i)} + \\beta^{(i)} \\right) \\; , $$\n",
"gdzie $g^{(i)}$ to tzw. **funkcje aktywacji**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Zadanie 10"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Część podstawowa (4 punkty)\n",
"\n",
" * Zaimplementuj funkcję `accuracy()` liczącą skuteczność klasyfikacji.\n",
" * Za jej pomocą oblicz i wypisz końcową skuteczność klasyfikatora.\n",
" * Wypisuj również wartość `accuracy` podczas trenowania (przy okazji wypisywania wartości funkcji kosztu).\n",
" * Zbuduj sieci neuronowe dla różnych wielkości warstwy ukrytej (`dim_hid` = 1, 2, 5, 10, 25). Porównaj skuteczność tych modeli."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Część zaawansowana (2 punkty)\n",
"\n",
"Zastosuj poniższą implementację sieci neuronowej do klasyfikacji binarnej zbioru wygenerowanego za pomocą wybranej funkcji [sklearn.datasets](http://scikit-learn.org/stable/modules/classes.html#samples-generator). Ustal rozmiary warstw wejściowej ($n \\gt 2$) i ukrytej, dobierz odpowiednie parametry sieci (parametr $\\alpha$, liczba epok, wielkość warstwy ukrytej). Podaj skuteczność klasyfikacji."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"import numpy as np\n",
"from sklearn import datasets\n",
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"def generate_data():\n",
" # Keep results deterministic\n",
" np.random.seed(1234)\n",
" X, y = datasets.make_moons(200, noise=0.25)\n",
" # X, y = datasets.make_classification(200, 2, 2, 0)\n",
" return X, y\n",
"\n",
"def visualize(X, y, model=None):\n",
" x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5\n",
" y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5\n",
" h = 0.01\n",
" xx, yy = np.meshgrid(\n",
" np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
" if model:\n",
" Z = predict(model, np.c_[xx.ravel(), yy.ravel()])\n",
" Z = Z.reshape(xx.shape)\n",
" plt.contourf(xx, yy, Z, cmap=plt.cm.viridis)\n",
" plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.viridis)\n",
" plt.show()\n",
"\n",
"def initialize_model(dim_in=2, dim_hid=3, dim_out=2):\n",
" # Keep results deterministic\n",
" np.random.seed(1234)\n",
" W1 = np.random.randn(dim_in, dim_hid) / np.sqrt(dim_in)\n",
" b1 = np.zeros((1, dim_hid))\n",
" W2 = np.random.randn(dim_hid, dim_out) / np.sqrt(dim_hid)\n",
" b2 = np.zeros((1, dim_out))\n",
" return W1, b1, W2, b2\n",
"\n",
"def softmax(X):\n",
" e = np.exp(X)\n",
" return e / np.sum(e, axis=1, keepdims=True)\n",
"\n",
"def predict(model, X):\n",
" W1, b1, W2, b2 = model\n",
" z1 = X.dot(W1) + b1\n",
" a1 = np.tanh(z1)\n",
" z2 = a1.dot(W2) + b2\n",
" probs = softmax(z2)\n",
" return np.argmax(probs, axis=1)\n",
"\n",
"def calculate_cost(model, X, y):\n",
" W1, b1, W2, b2 = model\n",
" z1 = X.dot(W1) + b1\n",
" a1 = np.tanh(z1)\n",
" z2 = a1.dot(W2) + b2\n",
" probs = softmax(z2)\n",
" preds = probs[:, 1]\n",
" return -1. / len(y) * np.sum(\n",
" np.multiply(y, np.log(preds)) + np.multiply(1 - y, np.log(1 - preds)),\n",
" axis=0)\n",
"\n",
"def accuracy(model, X, y):\n",
" # TODO: Napisz funkcję obliczającą skuteczność.\n",
" pass\n",
"\n",
"def train(model, X, y, alpha=0.01, epochs=10000, debug=False):\n",
" W1, b1, W2, b2 = model\n",
" m = len(X)\n",
"\n",
" for i in range(epochs):\n",
" # Forward propagation\n",
" z1 = X.dot(W1) + b1\n",
" a1 = np.tanh(z1)\n",
" z2 = a1.dot(W2) + b2\n",
" probs = softmax(z2)\n",
"\n",
" # Backpropagation\n",
" delta3 = probs\n",
" delta3[range(m), y] -= 1\n",
" dW2 = (a1.T).dot(delta3)\n",
" db2 = np.sum(delta3, axis=0, keepdims=True)\n",
" delta2 = delta3.dot(W2.T) * (1 - np.power(a1, 2))\n",
" dW1 = np.dot(X.T, delta2)\n",
" db1 = np.sum(delta2, axis=0)\n",
"\n",
" # Parameter update\n",
" W1 -= alpha * dW1\n",
" b1 -= alpha * db1\n",
" W2 -= alpha * dW2\n",
" b2 -= alpha * db2\n",
"\n",
" # Print loss\n",
" if debug and i % 1000 == 0:\n",
" model = (W1, b1, W2, b2)\n",
" print(\"Cost after iteration {}: {:.4f}\".format(i, calculate_cost(\n",
" model, X, y)))\n",
" # TODO: Wypisz skuteczność (accuracy) klasyfikacji w tym miejscu\n",
"\n",
" return W1, b1, W2, b2"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"image/svg+xml": [
"\r\n",
"\r\n",
"\r\n",
"\r\n"
],
"text/plain": [
"