{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercise 06\n", "# TensorFlow and Keras\n", "\n", "\n", "---" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import pylab as pl\n", "from sklearn.datasets.samples_generator import make_moons\n", "\n", "%matplotlib inline\n", "\n", "# Functions for plotting 2D data and decision regions\n", "\n", "def plot_data(X, y):\n", " y_unique = np.unique(y)\n", " colors = pl.cm.rainbow(np.linspace(0.0, 1.0, y_unique.size))\n", " for this_y, color in zip(y_unique, colors):\n", " this_X = X[y == this_y]\n", " pl.scatter(this_X[:, 0], this_X[:, 1], c=color,\n", " alpha=0.5, edgecolor='k',\n", " label=\"Class %s\" % this_y)\n", " pl.legend(loc=\"best\")\n", " pl.title(\"Data\")\n", "\n", "def plot_decision_region(X, pred_fun):\n", " min_x = np.min(X[:, 0])\n", " max_x = np.max(X[:, 0])\n", " min_y = np.min(X[:, 1])\n", " max_y = np.max(X[:, 1])\n", " min_x = min_x - (max_x - min_x) * 0.05\n", " max_x = max_x + (max_x - min_x) * 0.05\n", " min_y = min_y - (max_y - min_y) * 0.05\n", " max_y = max_y + (max_y - min_y) * 0.05\n", " x_vals = np.linspace(min_x, max_x, 30)\n", " y_vals = np.linspace(min_y, max_y, 30)\n", " XX, YY = np.meshgrid(x_vals, y_vals)\n", " grid_r, grid_c = XX.shape\n", " ZZ = np.zeros((grid_r, grid_c))\n", " for i in range(grid_r):\n", " for j in range(grid_c):\n", " ZZ[i, j] = pred_fun(XX[i, j], YY[i, j])\n", " pl.contourf(XX, YY, ZZ, 30, cmap = pl.cm.coolwarm, vmin= 0, vmax=1)\n", " pl.colorbar()\n", " pl.xlabel(\"x\")\n", " pl.ylabel(\"y\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1. Multilayer neural network in TensorFlow\n", "\n", "You need to create a neural network model in TF that is able to discriminate the two classes in the following dataset:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nIAiCYDL+P9o72u+MhaYgAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X, Y = make_moons(n_samples=1000, noise= 0.2, random_state=3)\n", "x_train = X[:500]\n", "x_test = X[500:]\n", "y_train = Y[:500]\n", "y_test = Y[500:]\n", "\n", "pl.figure(figsize=(8, 6))\n", "plot_data(x_train, y_train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this you will need to create a neural network with one hidden layer. You cannot use prebuilt models \n", "such as those in `tf.estimator`. **Hint**: extend the logistic regression example from the TensorFlow handout. \n", "\n", "Your answer must contain the following:\n", "* A visualization of the CG of the model.\n", "* A visualization of the decision region along with the test data.\n", "* A snapshot from TensorBoard that shows the evolution of the training and test loss." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. Improving the Keras text classifier\n", "\n", "Your goal is to improve the performance of the text classifier in the Keras handout. This is are the things that you need to try:\n", "\n", "* Different activation functions for the hidden layer (https://keras.io/activations/)\n", "* Different optimizers (https://keras.io/optimizers/)\n", "* Add dropout between the hidden layer and the output layer (https://keras.io/layers/core/#dropout)\n", "* Different initializers for the dense layers (https://keras.io/initializers/)\n", "\n", "Try different combinations and report your findings at the end. Which configuration got the best accuracy in test?\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }