From 58820202379e7e95b852032feb00da56c30d6a35 Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Wed, 16 Aug 2017 21:56:02 +0530
Subject: [PATCH 01/71] Add files via upload
---
mnist_knn.ipynb | 293 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 293 insertions(+)
create mode 100644 mnist_knn.ipynb
diff --git a/mnist_knn.ipynb b/mnist_knn.ipynb
new file mode 100644
index 0000000..671c65a
--- /dev/null
+++ b/mnist_knn.ipynb
@@ -0,0 +1,293 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "First lets import matplotlib(for ploting the images), MNIST dataset, and KNN"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "import matplotlib.pyplot as pt\n",
+ "from sklearn import datasets, metrics\n",
+ "from sklearn.neighbors import NearestNeighbors"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Loading MNIST digit dataset"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "mnist= datasets.load_digits()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "dataset = list(zip(mnist.images, mnist.target))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Making the dataset flat for feeding into the machine learning model"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "n_samples = len(mnist.images)\n",
+ "images = mnist.images.reshape((n_samples,-1))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Now building the classifier. Here the number of neighbors is set to 1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "classifier = NearestNeighbors(n_neighbors=1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Fitting the model with MNIST dataset."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "NearestNeighbors(algorithm='auto', leaf_size=30, metric='minkowski',\n",
+ " metric_params=None, n_jobs=1, n_neighbors=1, p=2, radius=1.0)"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "classifier.fit(images[:n_samples//2],mnist.target[:n_samples//2])\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Now making predictions with test dataset"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "distances, indices = classifier.kneighbors(images[n_samples//2:])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Lets calculate the accuracy of the model."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "accuracy = 99.9877641824 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "acc = metrics.accuracy_score(mnist.target[n_samples//2:],indices)\n",
+ "print(\"accuracy = \",100-acc,\"%\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Now print first eight actual images and predictions of test dataset"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWEAAABeCAYAAADypKUbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAD59JREFUeJzt3X+QXWV9x/H359xsCCxJICRgfhMgFIEGrCVg1VarlgxE\npCo1NFMbOkBTsM50ChUlTrXVyuB0Sp3QYmBAhEIoVBhkKNEqg42kNEBDaogJCU3IDwL5YRI2mh+7\n++0fz3PvnnPv/rh798e5d+/3xRzOec55znOe3XzPd88+95yzMjOcc87lI8m7A84518w8CTvnXI48\nCTvnXI48CTvnXI48CTvnXI48CTvnXI48CedEkkk6K+9+uOYl6TuSvhaXPyhpQ43t3CXpy4Pbu+bh\nSbhKkrZI+mhOx54g6RFJeyXtkfQvksbl0Rc3MpnZf5rZr/VVT9IiSSvL9l1sZn87dL0rHXuBpA2S\nDkh6W9L9I+E88CTcGL4GnAzMAs4ETgO+kmeHXH2RNCrvPgyDnwLvN7PxwBnAKMK50dCaLglLukXS\nZknvSHpV0u+Xbb9O0vrU9t+Q9AAwA/i+pDZJfyXpQ5K2l+1bulqWNFfSKkn7Jb0paamk0TV2exbw\nhJkdNLMDwOPAeTW25RpEjKcvxjj8haT7JI2J2z4kabukL0jaBdwX18+XtCbG3fOS5qTae4+kl2Ns\nPwKMSW3LxLOk6ZK+J2l3/A1sqaR3A3cB74vnwf5YtzSsEcvXSdokaZ+kJyVNSW0zSYslvRb7eKck\nVfP9MLNtZrYntaoDaPghvaZLwsBm4IPAeOCrwIOSJgNIuopwhflZYBxwBbDXzP4IeAP4uJmdaGa3\nV3GcDuAvgInA+4CPADdU08H4g+Kp1Ko7gfmSTpZ0MvAp4N+racs1vIXApYTfgM4GlqS2vQuYAMwE\nrpf0HuBe4E+BU4BvA09KOi5eADwBPBD3eZQQRxUkFYCngK3A6cBUYLmZrQcWA6vieXBSN/v+LvAN\n4A+AybGN5WXV5gMXAXNivUt76McHiom+bN0B4J3Y/zu627eRNF0SNrNHzWynmXWa2SPAa8DcuPla\n4HYzW23BJjPbWuNxXjKz/zKzdjPbQjghfqfKfW8zs/mpVS8Do4G9ceoA/qmWfrmGszReAe4Dvg5c\nndrWCfy1mR0xs18B1wPfNrMXzKzDzO4HjgCXxKkFuMPMjpnZY8DqHo45F5gC3Gxmh8zssJmt7KFu\nuYXAvWb2spkdAb5IuHI+PVXnNjPbb2ZvAM8CF3bXkJmtLE/0cd14YBrwTWBLlf2qW02XhCV9NvXr\n2n7gfMLVKsB0wpXyYBznbElPSdol6SDwd6nj9Ne/AhuBsYQr9M3Ag4PRT1f3tqWWtxKSY9FuMzuc\nKs8E/rIY2zG+p8d9pgA7LPvGrp4uMKYDW82svYb+Tkm3a2ZthAuHqak6u1LLvwRO7O9BzGwH8AyV\nV9kNp6mSsKSZwN3A54BT4k/ZnwHFMalthF/7ulP+urlDwAmptgvApNT2fwZ+Dsw2s3HAl1LH6a8L\nCVc4h2JQ3wVcVmNbrrFMTy3PAHamyuUxuQ34upmdlJpOMLOHgTeBqWXjrzN6OOY2YEYPH/b19drF\nnYQfBgBIaiUMjezoY79ajKLn87VhNFUSBloJQbQbQNI1hCvhonuAmyS9V8FZMXEDvEX4RLZoIzBG\n0uWSWghjdcelto8FDgJtks4B/mwA/V4NXCvpeEnHE37tXDuA9lzjuFHSNEkTgFuBR3qpezewWNLF\nMX5bY3yOBVYB7cDnJbVI+iRdw3Dl/puQtG+LbYyR9P647S1gWi8fMj8MXCPpQknHEX4DfCEOyQ2I\npIWSZsTlmYThmR8NtN28NVUSNrNXgb8nBORbwK8Tbnspbn+U8A/7EGHg/wnChxgQPmxYEn/Nuyne\npXADIXHvIFwZp++WuAn4w9jO3fR+8mRI+pKk9Advf0L4gGR7PNYZwB9X255raA8BPwBeJwxD9XhL\nlpm9CFwHLAV+AWwCFsVtR4FPxvI+4DPA93popwP4OOHOgzcIcfeZuPnHwDpgl6Q93ez7H8CXgX8j\nJPIzgQVVf7UpCg+QtKVWnQs8L+kQ4bzdEL/ehiZ/qbtz9UnSFuDamNjcCNVUV8LOOVdvPAk751yO\nfDjCOedy1BRXwpLmKbz4Y5OkW/Luj3ODxWO78Y34K+F4/+5G4GOET3lXA1fHOyWca1ge2yNDM7x5\naS6wycxeB5C0HPgE0GOgjtZxNobWHhs8dlrltqmT9mbKJyWdmfL6HZMy5cLeQ712+jCHOGpHan24\nwzWHfsV2X3F99pxf9rsDG9ee0HelFI/rSs2QhKeSffRzO3BxbzuMoZWL9ZEet+9a+FsV6756w3cz\n5Stb2zLli27NPqsx4b5VvXWBF6zh70F3Q69fsd1XXK9YsabfHbh0SrevfeiRx3WlZkjCVZF0PeFJ\nNMbQv5/uztUrj+v61wxJeAfZ5++n0c1z7Ga2DFgGME4TMgPlhfOyf3DglZv7/wKztpnZ38Am9FDP\nuX7oM7Z7i+sVO/t/5esGXzPcHbEamC1pVnzefQHwZM59cm4weGyPACP+StjM2iV9DlgBFAjvOl2X\nc7ecGzCP7ZFhxCdhADN7Gng67344N9g8thtfUyThwbbxWOXtZWe3tPZaZ9aj2VvYOga/W865BtQM\nY8LOOVe3PAk751yOPAk751yOPAk751yO/IO5KnSs25ApX3XHzRV1+nqA4/+uOiVTnuE3ErmclT9y\nXMvDG+X79PcxZudXws45lytPws45lyNPws45lyMfE65B+WsrAc5btTBTHrVyfKa8vmzM+GPPXlPR\nRvLc/wxC75zLT3fjyj5O3Du/EnbOuRx5EnbOuRw1xXCEpC3AO4RXNrSb2W/m2yPnBofHduNriiQc\nfdjM9tSyY+G0UzPlK1srx73u/NboTDl57vlshbJbi7d/+PiKNmY8V0vvnKs9ttNqGbv1F8MPnA9H\nOOdcjpolCRvwA0kvxb+5VUHS9ZJelPTiMY4Mc/ecq1mvse1xXf+aZTjiA2a2Q9KpwA8l/dzMfpKu\n0Nvf4nKujvUa2x7X9a8pkrCZ7YjztyU9DswFftL7Xl063no7Uy6/Jxjg1CX7siuWzMwUNx77aaY8\n7dlfVXt453o00NhO8/HdfIz44QhJrZLGFpeB3wN+lm+vnBs4j+2RoRmuhE8DHpcE4et9yMyeybdL\nzg0Kj+0RYMQnYTN7Hbgg7344N9g8tkeGET8c4Zxz9WzEXwkPhSllD2YA3HjPjzLlK1vbMuULvpl9\nWuNd5Q9zODcC+Mt6+s+vhJ1zLkeehJ1zLkeehJ1zLkcy84doyknaDWwFJgIDfjFKSn/am2lmkwbx\n2K7JDWFc0482Pa7LeBLuhaQXB/PVgIPdnnO1GIo49NiunQ9HOOdcjjwJO+dcjjwJ925ZnbfnXC2G\nIg49tmvkY8LOOZcjvxJ2zrkc1fzY8kRNtqM6ioDS/8LbnFLl7uZU1oszS9epaAesYltoy9LlUluV\n66D/63vcnt7W3X4Vy9ZLnbBNqWPGryq13lC6DoZiPaX2UbFJFZctu3/Zfiod2zLr1O269PqydaXJ\niG/1Sq0r/gcvrT2ywszmUccmJpPtKMXYLsZnT/P4v4oYz5atYlvX9kxspWLDMscg1Va2Xm/xXlG/\nu/1627fP2LZezhsrLWe/5Gy8Z8uWWV9NbJf2z8R297GarpeUryvVLzsPMtuViWsoxnftsV1zEj7K\nES4ZNQ8lgkIBFQpQKEAhQUqgkIRyEpeTAiQqlS1JoBASd3G5NJcgEVYQloSJhNKyJWCFGMDFcmlO\nRTnUq6zTtT4GW5xbEpe7qVdczuybWGlfimV1zUmAxLDEUEJIyHGuJE4CJZ0ksZzISErzTgqJUVCY\nS0Yh6WSUOsM86SSRMUphOcw7Sutakg5GqYMWdZKok5akM5bDVFBnablF7d2uGx3nBeJ6OuK6DgoY\nLeqkRUYLxmiJBGhRQgsJLSrQogIJCYXJr02sNeaGy1E7wiUt82JMJ12xnSgsJ6nYThRiu5B0xbYU\nYjtJQpwmXessFdch9ovlEJ8h/svjNcZ6oSyGy+qRWUdXDEMmnitiujinrE5iqZjuKls6hhMrbZPC\nPB3XiBDPqbhWjO1CjPdC0kmChRhPQkwXFGO6FM8xzjFGJR2lGG+J80JcX4rZpIMEoyVpT8VxR1f8\npmNaFuK+FNPtMaZD+6MJsZ0AoyVapBjXCUmM74HEtg9HOOdcjjwJO+dcjjwJO+dcjjwJO+dcjjwJ\nO+dcjmp+WEPSM8A5hDcnTUzNYfDf0DTcxgPT4/IeYNcA2xsNnBWXBewdhDYb1Z56v0UtxvZg3sUx\nFG8tq1VPsV1rH4crtuvpe9iTMWZ2fn93GtATc8U3J6XnAP42Jee6NMIbxuq9j/XeP6i9jz4c4Zxz\nOfIk7JxzORroX1te1sPcOdelEc6Leu9jvfcPauyjv0XNOedy5MMRzjmXo6qSsKR5kjZI2ilpv6Sj\nkg5I2i1pk6S7JL0sqUPSHkntsc5hSW9I2ihp/1B/Mc7lKXWebJJ0SzfbfzueJ+2SPl2H/Vss6X8l\nrZG0UtK5ddjHRTHvrInTtXXWv39I9a26vGdmvU5AAdhMuBdwM3AUmA8cieULgFeBK4GHgaVxugJ4\nJrbx58C9fR3LJ58adUqdJ2cQ7p19BTi3rM7pwBzgu8Cn67B/41LLpfO3zvq4CFhar//GZfWrynvV\nXAnPBTYBk4DdwBbgcsKfzn4NuAx4AHh3TMxFrXS9rvTqmKCdG6nmApvM7HUzOwosBz6RrmBmW8xs\nLdBZp/07mCqmz9/h0mcfc9bf/lWV96pJwlOBbXHeBuwk/ETfSfjJMBXYHucA5wOLgfsBSboEmAX8\nuIpjOdeoiudJUfqcqAdV9U/SjZI2A7cDnx+mvhVV+z38lKS1kh6TNL2b7UOl6n9jSTOpMu8NxQdz\n3yH8FF1EeETyQeAxM+sYgmM55waRmd1pZmcCXwCW5N2fbnwfON3M5gA/JFzs1aMFVJn3qknCOwjP\nmu8ATgSmEIYkpgAdcf20OAdoM7MjhEv1cwk/DXwowo10xfOkKH1O1IP+9m854XOe4dRnH81sb8wv\nAPcA7x2mvkH/vocLqDLvVZOEVwOzCePBpxKGIp4CZsb1T8cDPgmMBU6K+10O7AfagVXVdMa5BrYa\nmC1plqTRdJ0T9aLP/kmanSpeTvjMZzhV08fJqeIVwPp66h+ApHOAk6k271X5qeBlwEbgTeAA4Q6J\nw8BBYB/hH2sP4cq4M05thDGTZXl8kumTT8M9pc6TzcCtcd3fAFfE5YviOXGI8LaxdXXWv38E1gFr\ngGeB8+rwe/iN2MdXYh/Pqaf+xfJXgNuqbdOfmHPOuRz5E3POOZcjT8LOOZcjT8LOOZcjT8LOOZcj\nT8LOOZcjT8LOOZcjT8LOOZcjT8LOOZej/wfvMrDMuVL5+wAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\nvSW8b50YAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\nAElFTkSuQmCC\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "data = dataset[n_samples//2:]\n",
+ "for index, (image, label) in enumerate(data[:8]):\n",
+ " fig = pt.figure()\n",
+ " a = fig.add_subplot(4,2,1)\n",
+ " imgplot = pt.imshow(image)\n",
+ " a.set_title(\"actual :\"+str(label))\n",
+ " pt.colorbar(ticks = [0.1,0.3,0.5,0.7],orientation = 'horizontal')\n",
+ " a = fig.add_subplot(4,2,2)\n",
+ " current = indices[index][0]\n",
+ " \n",
+ " imgplot = pt.imshow(dataset[current][0])\n",
+ " imgplot.set_clim(0.0,0.7)\n",
+ " a.set_title(\"prediction :\"+str(dataset[current][1]))\n",
+ " pt.colorbar(ticks = [0.1,0.3,0.5,0.7], orientation = 'horizontal')\n",
+ " pt.show()"
+ ]
+ }
+ ],
+ "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.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
From 14a7f88b061d6ec635056a2528d2738db426ebe1 Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Tue, 31 Jul 2018 19:54:59 +0530
Subject: [PATCH 02/71] Create tensorflow.md
---
tensorflow.md | 12 ++++++++++++
1 file changed, 12 insertions(+)
create mode 100644 tensorflow.md
diff --git a/tensorflow.md b/tensorflow.md
new file mode 100644
index 0000000..b0539fa
--- /dev/null
+++ b/tensorflow.md
@@ -0,0 +1,12 @@
+# Welcome to Tensorflow Study Jam !
+
+
+
+
+## Day 1
+
+1. Intro to machine learning
+2. Reducing Loss
+3. Training and Testing sets
+4. Logistic Regression
+5. First Steps with Tensorflow
From 3fc91c97c9a258f16bc7203c0c318d3ec950284d Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Tue, 31 Jul 2018 19:57:19 +0530
Subject: [PATCH 03/71] Update tensorflow.md
---
tensorflow.md | 1 -
1 file changed, 1 deletion(-)
diff --git a/tensorflow.md b/tensorflow.md
index b0539fa..820f7ee 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -4,7 +4,6 @@
## Day 1
-
1. Intro to machine learning
2. Reducing Loss
3. Training and Testing sets
From 057bf808d88d44067be9d8002663d11135942d6b Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 11:23:16 +0530
Subject: [PATCH 04/71] Update tensorflow.md
---
tensorflow.md | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/tensorflow.md b/tensorflow.md
index 820f7ee..5ef4739 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -3,9 +3,15 @@
-## Day 1
+# Day 1
1. Intro to machine learning
2. Reducing Loss
3. Training and Testing sets
4. Logistic Regression
5. First Steps with Tensorflow
+
+## Intro to machine learning
+content goes here
+## Reducing Loss
+content goes here
+## Training and Testing Sets
From 83912432d6ddebead3c4f603ae422e5256052fbd Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 12:06:54 +0530
Subject: [PATCH 05/71] Update tensorflow.md
---
tensorflow.md | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/tensorflow.md b/tensorflow.md
index 5ef4739..c55d479 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -15,3 +15,17 @@ content goes here
## Reducing Loss
content goes here
## Training and Testing Sets
+
+
+- **training set** — a subset to train a model.
+- **test set** — a subset to test the trained model.
+
+
+
+
+
+- **Validation set** - A subset of the data set—disjunct from the training set—that you use to adjust hyperparameters.
+
+
+
+
From e5d5e58e5d5021724b956a589f9ed1a8637f5245 Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 12:17:19 +0530
Subject: [PATCH 06/71] Update tensorflow.md
---
tensorflow.md | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/tensorflow.md b/tensorflow.md
index c55d479..b3760e3 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -17,15 +17,24 @@ content goes here
## Training and Testing Sets
-- **training set** — a subset to train a model.
-- **test set** — a subset to test the trained model.
+1. Our goal is to create a machine learning model that generalizes well to new data. Our test set serves as a proxy for new data.
+
+2. We train the model using a Training set and the test set act as a proxy for new data!
+
-- **Validation set** - A subset of the data set—disjunct from the training set—that you use to adjust hyperparameters.
+- **training set** — a subset to train a model.
+- **test set** — a subset to test the trained model.
+
+3.
+
+
+- **Validation set** - A subset of the data set—disjunct from the training set—that you use to adjust hyperparameters.
+
From 1acb16a50acaba642b05ffc130d5cc9b2efb0cf4 Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 12:21:35 +0530
Subject: [PATCH 07/71] Update tensorflow.md
---
tensorflow.md | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/tensorflow.md b/tensorflow.md
index b3760e3..f96f93d 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -23,18 +23,19 @@ content goes here
-
+
- **training set** — a subset to train a model.
- **test set** — a subset to test the trained model.
-3.
+3. Dividing the data set into two sets is a good idea, but not a panacea. You can greatly reduce your chances of overfitting by partitioning the data set into the three subsets shown in the following figure:
-
+
+4. Use the validation set to evaluate results from the training set. Then, use the test set to double-check your evaluation after the model has "passed" the validation set.
- **Validation set** - A subset of the data set—disjunct from the training set—that you use to adjust hyperparameters.
From a4883bcdf45bfa43d6cb481351c157e6e348d58a Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 12:26:25 +0530
Subject: [PATCH 08/71] Update tensorflow.md
---
tensorflow.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tensorflow.md b/tensorflow.md
index f96f93d..94d6e7d 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -17,7 +17,7 @@ content goes here
## Training and Testing Sets
-1. Our goal is to create a machine learning model that generalizes well to new data. Our test set serves as a proxy for new data.
+1. Our goal is to create a machine learning model that generalizes well to new data.
2. We train the model using a Training set and the test set act as a proxy for new data!
@@ -29,6 +29,8 @@ content goes here
- **training set** — a subset to train a model.
- **test set** — a subset to test the trained model.
+### Wait, but there is a problem...
+
3. Dividing the data set into two sets is a good idea, but not a panacea. You can greatly reduce your chances of overfitting by partitioning the data set into the three subsets shown in the following figure:
From 6e89f1fd18c6434d89120b3080ff6a693cc68778 Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 12:34:36 +0530
Subject: [PATCH 09/71] Update tensorflow.md
---
tensorflow.md | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/tensorflow.md b/tensorflow.md
index 94d6e7d..bf0b90c 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -17,9 +17,14 @@ content goes here
## Training and Testing Sets
-1. Our goal is to create a machine learning model that generalizes well to new data.
+
+
+
+
+
+### 1. Our goal is to create a machine learning model that generalizes well to new data.
-2. We train the model using a Training set and the test set act as a proxy for new data!
+### 2. We train the model using a Training set and the test set act as a proxy for new data!
@@ -31,13 +36,13 @@ content goes here
### Wait, but there is a problem...
-3. Dividing the data set into two sets is a good idea, but not a panacea. You can greatly reduce your chances of overfitting by partitioning the data set into the three subsets shown in the following figure:
+### 3. You can greatly reduce your chances of overfitting by partitioning the data set into the three subsets shown in the following figure:
-4. Use the validation set to evaluate results from the training set. Then, use the test set to double-check your evaluation after the model has "passed" the validation set.
+### 4. Use the validation set to evaluate results from the training set. Then, use the test set to double-check your evaluation after the model has "passed" the validation set.
- **Validation set** - A subset of the data set—disjunct from the training set—that you use to adjust hyperparameters.
From a8910f2664bd9e1b8041810519019fd6477eff50 Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 12:47:27 +0530
Subject: [PATCH 10/71] Update tensorflow.md
---
tensorflow.md | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/tensorflow.md b/tensorflow.md
index bf0b90c..33bdb4b 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -34,15 +34,5 @@ content goes here
- **training set** — a subset to train a model.
- **test set** — a subset to test the trained model.
-### Wait, but there is a problem...
-### 3. You can greatly reduce your chances of overfitting by partitioning the data set into the three subsets shown in the following figure:
-
-
-
-
-
-### 4. Use the validation set to evaluate results from the training set. Then, use the test set to double-check your evaluation after the model has "passed" the validation set.
-
-- **Validation set** - A subset of the data set—disjunct from the training set—that you use to adjust hyperparameters.
From 950a0005f0ac0166e672ffc4a5f0dcbeff5ba7cf Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 12:48:14 +0530
Subject: [PATCH 11/71] Update tensorflow.md
---
tensorflow.md | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tensorflow.md b/tensorflow.md
index 33bdb4b..9a5197a 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -21,10 +21,9 @@ content goes here
+1. Our goal is to create a machine learning model that generalizes well to new data.
-### 1. Our goal is to create a machine learning model that generalizes well to new data.
-
-### 2. We train the model using a Training set and the test set act as a proxy for new data!
+2. We train the model using a Training set and the test set act as a proxy for new data!
From a5c2b45369e8a30420ea9eb6a58b51970e135aad Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 17:04:16 +0530
Subject: [PATCH 12/71] Update tensorflow.md
---
tensorflow.md | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tensorflow.md b/tensorflow.md
index 9a5197a..116f2b7 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -33,5 +33,17 @@ content goes here
- **training set** — a subset to train a model.
- **test set** — a subset to test the trained model.
+## Logistic Regression
+
+1. Many problems require a probability estimate as output.
+2. Logistic regression is an extremely efficient mechanism for calculating probabilities.
+3. a sigmoid function, defined as follows, produces output that always falls between 0 and 1.
+
+
+
+
+
+
+
From 5bd420821510cbbef6519243fe713f1bb9475689 Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 17:31:03 +0530
Subject: [PATCH 13/71] Update tensorflow.md
---
tensorflow.md | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/tensorflow.md b/tensorflow.md
index 116f2b7..43127e4 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -40,7 +40,13 @@ content goes here
3. a sigmoid function, defined as follows, produces output that always falls between 0 and 1.
-
+
+
+
+This is the plot of sigmoid function!
+
+
+
From 7236c45b2c2a0bfb0076caa8dd1dbccb8a777f3e Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 17:47:23 +0530
Subject: [PATCH 14/71] Update tensorflow.md
---
tensorflow.md | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/tensorflow.md b/tensorflow.md
index 43127e4..e6b9ca7 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -43,7 +43,12 @@ content goes here
-This is the plot of sigmoid function!
+Where,
+
+```
+y = w1x1 + w2x2 + ... wNxN
+```
+and p is the predicted output.
@@ -51,5 +56,3 @@ This is the plot of sigmoid function!
-
-
From 9798c0808f6c0f3086c76be8be505d6efbb2c546 Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 20:59:50 +0530
Subject: [PATCH 15/71] Add files via upload
---
logloss.png | Bin 0 -> 15317 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 logloss.png
diff --git a/logloss.png b/logloss.png
new file mode 100644
index 0000000000000000000000000000000000000000..87b7966cfba421a499756d0582a03e04e603dee0
GIT binary patch
literal 15317
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
literal 0
HcmV?d00001
From 4c5cb47fc7e82c0103fc999dbd6796408604c2e4 Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 21:05:23 +0530
Subject: [PATCH 16/71] Update tensorflow.md
---
tensorflow.md | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tensorflow.md b/tensorflow.md
index e6b9ca7..9eddf5b 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -54,5 +54,8 @@ and p is the predicted output.
+**Loss function for Logistic regression is Log Loss**
-
+
+
+
From ca7c21482ef1b06219a11b294342a6a65d5c3faf Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 23:17:08 +0530
Subject: [PATCH 17/71] Update tensorflow.md
---
tensorflow.md | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/tensorflow.md b/tensorflow.md
index 9eddf5b..36e69ac 100644
--- a/tensorflow.md
+++ b/tensorflow.md
@@ -11,7 +11,20 @@
5. First Steps with Tensorflow
## Intro to machine learning
-content goes here
+
+Machine learning is the art of making sense of data !
+
+1. It do things normal code can't do and it helps to reduce the time you spend for coding.
+
+2. In machine learning we don't need to tell the algorithm what to do, we only need to show them some examples.
+
+### Types of machine learning algorithms:
+- Supervised Learning
+- Unsupervised Learning
+- Reinforcement Learning
+
+
+
## Reducing Loss
content goes here
## Training and Testing Sets
@@ -50,10 +63,14 @@ y = w1x1 + w2x2 + ... wNxN
```
and p is the predicted output.
+
+
+
+
**Loss function for Logistic regression is Log Loss**
From 4b439600c103d2ef04d8c7039ea6af3005d2056f Mon Sep 17 00:00:00 2001
From: Gopikrishnan Sasikumar
Date: Thu, 2 Aug 2018 23:21:31 +0530
Subject: [PATCH 18/71] Add files via upload
---
1*HvoLc50Dpq1ESKuejhICHg.png | Bin 0 -> 18084 bytes
images-2.png | Bin 0 -> 5733 bytes
unsupervised_learning.png | Bin 0 -> 129896 bytes
3 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 1*HvoLc50Dpq1ESKuejhICHg.png
create mode 100644 images-2.png
create mode 100644 unsupervised_learning.png
diff --git a/1*HvoLc50Dpq1ESKuejhICHg.png b/1*HvoLc50Dpq1ESKuejhICHg.png
new file mode 100644
index 0000000000000000000000000000000000000000..c58dff032d4abe0a4d644867a89ed63cbc11965e
GIT binary patch
literal 18084
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