Last active
November 9, 2019 17:34
-
-
Save abhinishetye/38ece3fe86d695593bb39fd24003aebb to your computer and use it in GitHub Desktop.
Revisions
-
abhinishetye revised this gist
Nov 7, 2018 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -531,7 +531,7 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Reinforcement Learning: UCB **Thoughts:** Reinforcement learning is learning based on rewards and punishments. UCB or Upper Confidence Bound is used to exploit one out of many possible options which would give the best result, while in the process of the experiment. UCB algorithm comes up with confidence interval for each possible option and as a particular option is selected, depending on the result of that trial the confidence interval becomes narrow or wide. Here the option with the highest upper bound is chosen, and in the process of the experiment an optimal option is found using these bounds. ### Day 96: October 31, 2018 @@ -557,7 +557,7 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Thoughts:** ### Day 100: November 5, 2018 **Today's Progress**: Dimensionality Reduction: Kernel PCA -
abhinishetye revised this gist
Nov 6, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -531,7 +531,7 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Reinforcement Learning: UCB **Thoughts:** Reinforcement learning is learning based on rewards and punishments. ### Day 96: October 31, 2018 -
abhinishetye revised this gist
Nov 5, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -519,7 +519,7 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Association Rule Learning: Apriori **Thoughts:** Apriori works on the principle "people who bought ___ also bought ___ ". It has 3 parts: support, confidence and lift. Support in case of movies will be (# users watchlist containing M) / (# user watchlist). Confidence will be (# users watchlist containing M1 and M2)/ (# users watchlist containing M1). Lift is what is the gain recommending a movie M2 to people who have watched M1 vs that to random people. Apriori algorithm gives the rules of items which relates the most to each other and can be used in recommender systems. ### Day 94: October 29, 2018 -
abhinishetye revised this gist
Nov 5, 2018 . 1 changed file with 5 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -483,19 +483,19 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: R Squared and adjusted R squared **Thoughts:** R squared is goodness of fit of regression line. It basically measures how better a regression line is performing in comparison to an average line. When R squared is closer to 1, it is better. Adjusted R squared is used because whenever a new variable is added, R squared never decreases, it rather remains the same or increases by a small quantity. When adjusted R squared is used, it decreases when added variable is making the model worse and it increases when the added variable is making the model better. ### Day 88: October 23, 2018 **Today's Progress**: Classification: Logistic and K-Nearest Neighbours **Thoughts:** Logistic regression gives out probalities and when used with a threshold function, can be used to classify the dataset in distinct classes. It makes use of sigmoid function for doing so. KNN algorithm checks for the K nearest data points to a new data point and assigns it to the class in which majority of those K data points lie. Usually K is 5 and if it is too small then Overfitting happens and if it is too large then underfitting happens. ### Day 89: October 24, 2018 **Today's Progress**: Classification: SVM and Kernel SVM **Thoughts:** SVM model takes up support vectors, i.e. 2 boundary data points of the neighbouring classes and searches for a decision line based on the maximum margin. Sometimes the classes cannot be seperated using a straight line, in this case Kernel SVM is used which is non linear. ### Day 90: October 25, 2018 -
abhinishetye revised this gist
Nov 5, 2018 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -465,19 +465,19 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Regression: Simple linear and Multiple Linear **Thoughts:** In simple terms, Simple linear regression draws multiple virtual lines through the data and selects the one in which the error is minimum. Multiple linear regression is used when there are more than one independent variables. I then learnt about the dummy variable trap. Then went through the 5 methods of model builiding: 1. All in 2. Backword Elimination 3. Forward Selection 4. Bidirectional Elimination 5. Score Comparison ### Day 85: October 20, 2018 **Today's Progress**: Regression: Polynomial and SVR **Thoughts:** Polynomial regression is used when there is an exponential growth. It is called linear regression because the co-effiecients can be expressed as a linear combination. ### Day 86: October 21, 2018 **Today's Progress**: Regression: Decision Tree and Random Forest **Thoughts:** Decision tree works on making groups of the dataset displaying similar characteristics and assigning a value (average of datapoints in that group) for further predictions. Random forest is an ensemble technique in which many decision trees vote to predict a value. ### Day 87: October 22, 2018 -
abhinishetye revised this gist
Nov 4, 2018 . 1 changed file with 109 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -453,4 +453,112 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Visualization: Geographical Plotting **Thoughts:** Geographical plotting is usually difficult due to projection of earth surface on to a single plane is difficult. Choropleth maps are used for the same and plotly library is used for plotting. For plotting choropleth plots 2 things needs to be specified. data and layout. Data is a dictionary which contains type (choropleth), locations (individual location codes), locationmode (geography e.g. USA-states), colorscale, text (text to be displayed on hover), z (variable whose value to be used for coloring) and colorbar (title). Layout is a disctionary of scope e.g. USA. Then a map needs to be created using go.Figure by specifying data and layout. After that iplot is used to visualize the created choromap. ### Day 81-82: October 16-17, 2018 **Today's Progress**: Machine Learning: Data Preprocessing **Thoughts:** Revised the first and essential part of any machine learning project, data preprocessing. Data Pre-processing involves the following major steps. i. Importing the libraries ii. Importing the dataset iii. Handling missing data iv. Encoding Categorical data v. Data split into train and test set vi. Feature scaling. ### Day 83-84: October 18-19, 2018 **Today's Progress**: Regression: Simple linear and Multiple Linear **Thoughts:** In simple terms, Simple linear regression draws multiple virtual lines through the data and selects the one in which the error is minimum. ### Day 85: October 20, 2018 **Today's Progress**: Regression: Polynomial and SVR **Thoughts:** ### Day 86: October 21, 2018 **Today's Progress**: Regression: Decision Tree and Random Forest **Thoughts:** ### Day 87: October 22, 2018 **Today's Progress**: R Squared and adjusted R squared **Thoughts:** ### Day 88: October 23, 2018 **Today's Progress**: Classification: Logistic and SVM **Thoughts:** ### Day 89: October 24, 2018 **Today's Progress**: Classification: Kernel SVM **Thoughts:** ### Day 90: October 25, 2018 **Today's Progress**: Classification: Decision Tree and Random Forest **Thoughts:** ### Day 91: October 26, 2018 **Today's Progress**: Clustering: K-Means **Thoughts:** ### Day 92: October 27, 2018 **Today's Progress**: Clustering: Hierarchical **Thoughts:** ### Day 93: October 28, 2018 **Today's Progress**: Association Rule Learning: Apriori **Thoughts:** ### Day 94: October 29, 2018 **Today's Progress**: Association Rule Learning: Eclat **Thoughts:** ### Day 95: October 30, 2018 **Today's Progress**: Reinforcement Learning: UCB **Thoughts:** ### Day 96: October 31, 2018 **Today's Progress**: Reinforcement Learning: Thompson Sampling **Thoughts:** ### Day 97: November 1, 2018 **Today's Progress**: Natural Language Processing Basics **Thoughts:** ### Day 98: November 2, 2018 **Today's Progress**: Dimensionality Reduction: PCA **Thoughts:** ### Day 99: November 3, 2018 **Today's Progress**: Dimensionality Reduction: LDA **Thoughts:** ### Day 100: November 4, 2018 **Today's Progress**: Dimensionality Reduction: Kernel PCA **Thoughts:** -
abhinishetye revised this gist
Oct 7, 2018 . 1 changed file with 30 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -424,3 +424,33 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Python: Pandas coding practice **Thoughts:** Practiced exercises on Pandas. ### Day 76: October 3, 2018 **Today's Progress**: Visualization: matplotlib **Thoughts:** Learnt about visualizing with matplotlib using functional method and object oriented method. Functional method is simple and just involves using a plot statement. This simplicity comes at the cost of customization. For customizing the plots, the object oriented method is preferred. It involves initializing a figure object (plt.figure()), setting the axes (fig.add_axes()) and then plotting(axes.plot()). Subplots can also be made to visualize more than one plots on the same screen. Here tight_layout function is used for avoiding axes overlapping while visualizing multiple plots. Also went through functions like savefig, legend, color, linewidth, linestyle and marker. ### Day 77: October 4, 2018 **Today's Progress**: Visualization: Seaborn **Thoughts:** Seaborn is a great library for visualization and many interesting plots can be made using this. Some of the plots which I studied are: Distplot which gives the histogram, jointplot which is used to plot 2 variables. pairplot which plots the joint plot for all the available numerical variables. PairGrid is used to customise pairplot. rugplot, kdeplot (Kernel Density Estimation). For categorical variables following plots can be used: barplot, boxplot, violinplot, stripplot, swarmplot, factorplot. Next I learnt matrix plots which are heatmap and clustermap. For using heatmap, data needs to be arranged in matrix format. Correlation (df.corr) or pivot table can be used for this purpose. Next is regression plot which is simple lmplot which plots the regression line. ### Day 78: October 5, 2018 **Today's Progress**: Visualization: Pandas In-Built visualization **Thoughts:** Psndas provide built in visualization which runs matplotlib at the backend. Simple plots can be used using pandas. It is not very advanced and mostly used for just quick data exploration. Some of the common plots which can be made are histogram, area plot, bargraph, linegraph, scatterplot, boxplot, hexbin, kdeplot. The convention for using pandas for visualization is df.plot.plot_type(). eg. df.plot.hist() or df.plot.line(). ### Day 79: October 6, 2018 **Today's Progress**: Visualization: Plotly and Cufflinks **Thoughts:** Plotly is interactive visualization library. Cufflinks connects plotly with pandas. Plotly provides nice interactive plots where you can zoom, pan, hover, save, switch on/off the variable entries and much more. After importing the libraries one needs to use iplot() function for plotting. iplot function takes one argument 'kind' which is used to specify the type of the plot. Some of the examples of kind argument are : ‘scatter’, ’bar’ in barplot you can use additional aggregate functions like sum or count on raw data, ‘box’, ‘surface’ to make 3D surface plot, ‘hist’, ‘spread’, ‘bubble’. ### Day 80: October 7, 2018 **Today's Progress**: Visualization: Geographical Plotting **Thoughts:** Geographical plotting is usually difficult due to projection of earth surface on to a single plane is difficult. Choropleth maps are used for the same and plotly library is used for plotting. For plotting choropleth plots 2 things needs to be specified. data and layout. Data is a dictionary which contains type (choropleth), locations (individual location codes), locationmode (geography e.g. USA-states), colorscale, text (text to be displayed on hover), z (variable whose value to be used for coloring) and colorbar (title). Layout is a disctionary of scope e.g. USA. Then a map needs to be created using go.Figure by specifying data and layout. After that iplot is used to visualize the created choromap. -
abhinishetye revised this gist
Oct 2, 2018 . 1 changed file with 9 additions and 9 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -375,52 +375,52 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Python: Numpy Array and Array Indexing **Thoughts:** Learnt about how to create Numpy array (casting a list) and the advantages of the same. Went through functions like arrange, zeros, ones, linspace, random methods, reshape, dtype. Then learnt about the indexing and slicing. One point to note is Numpy array slicing does not create new array, it references to the old array. This is done to avoid memory issue on duplication of large arrays. If you want a copy of an array you need to explicitly run arr.copy() to create separate array. ### Day 63: September 19, 2018 **Today's Progress**: Python: Numpy Operations **Thoughts:** Learnt about 2D arrays (matrix), two ways to denote matrix: double bracket notation, comma single bracket notation. Also went through concepts like Conditional selection, Arithmatic operations and trigonometric functions. ### Day 64-66: September 20-22, 2018 **Today's Progress**: Python: Numpy coding practice **Thoughts:** Practiced excercises on Numpy ### Day 67: September 23, 2018 **Today's Progress**: Python: Pandas Series **Thoughts:** Started with Pandas. Learnt about Pandas Series. Series holds objects with index. Index can be set to anything. Series can hold wide variety of objects. Pros: very fast lookup. ### Day 68: September 24, 2018 **Today's Progress**: Python: Pandas Dataframe **Thoughts:** Dataframe in Pandas is a bunch of series, sharing the same index. Pandas methods usually have inplace = False by default. This is for user to not lose any information accidentally. Learnt about some ways to access the entries in a Dataframe. Df.loc used to get row by name based location and df.iloc is used to get row by index based location df.reset_index() to set index to numerical values. Df.set_index(“states”) to set index to a column. Pandas also support multi level indexing. ### Day 69: September 26, 2018 **Today's Progress**: Python: Groupby, Merging, joining and concatenating **Thoughts:** Learnt about how to handle missing values. Also the functions like Dropna, fillna, groupby (describe), concat, merge, join. ### Day 70: September 27, 2018 **Today's Progress**: Python: Pandas Operations **Thoughts:** Learnt about some functions like Unique() which gives unique entries in the datafram, nunique() which gives number of unique entries in the dataframe, value_counts(), apply() used to apply custom functions on dataframe, Sort_values(), pivot_table() ### Day 71: September 28, 2018 **Today's Progress**: Python: Pandas Data Input and Output **Thoughts:** Read about the ways in which different types of files can in inputed with Pandas. CSV, EXCEL, HTML and SQL are some common format in which files can be inputed. Inputing from HTML is usually as done while web scrapping. ### Day 72-75: September 29-October 2, 2018 **Today's Progress**: Python: Pandas coding practice **Thoughts:** Practiced exercises on Pandas. -
abhinishetye revised this gist
Oct 2, 2018 . 1 changed file with 36 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -388,3 +388,39 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Python: Numpy coding practice **Thoughts:** ### Day 67: September 23, 2018 **Today's Progress**: Python: Pandas Series **Thoughts:** ### Day 68: September 24, 2018 **Today's Progress**: Python: Pandas Dataframe **Thoughts:** ### Day 69: September 26, 2018 **Today's Progress**: Python: Groupby, Merging, joining and concatenating **Thoughts:** ### Day 70: September 27, 2018 **Today's Progress**: Python: Pandas Operations **Thoughts:** ### Day 71: September 28, 2018 **Today's Progress**: Python: Pandas Data Input and Output **Thoughts:** ### Day 72-75: September 29-October 2, 2018 **Today's Progress**: Python: Pandas coding practice **Thoughts:** -
abhinishetye revised this gist
Oct 2, 2018 . 1 changed file with 25 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -363,4 +363,28 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Python: Methods and Functions/ coding practice **Thoughts:** Started with the basic of defining a function with 'def'. Further saw how passing an arguement works and also about the return statement. Docstrings can be useful for writing the documentation of a user defined function which can be available to other users through the Help section. Learnt about * args and ** kwargs and saw how they can be useful in getting any number of arguments a users wishes to pass into the function. * args stores the arguments in the form of a tuple and ** kwargs stores them in the format of a dictionary. ### Day 61: September 17, 2018 **Today's Progress**: Python: Lambda Expressions **Thoughts:** ### Day 62: September 18, 2018 **Today's Progress**: Python: Numpy Array and Array Indexing **Thoughts:** ### Day 63: September 19, 2018 **Today's Progress**: Python: Numpy Operations **Thoughts:** ### Day 64-66: September 20-22, 2018 **Today's Progress**: Python: Numpy coding practice **Thoughts:** -
abhinishetye revised this gist
Sep 17, 2018 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -339,25 +339,25 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Python: objects and Data Structure and coding practice **Thoughts:** Learnt the basic objects in python such as Numbers, Boolean, Strings (indenxing, slicing, print formatting with strings), Tuples, Lists, Dictionaries and practiced the same. ### Day 56: September 12, 2018 **Today's Progress**: Python: comparison operator and coding practice **Thoughts:** Learnt about the comparison operator and logical operators in python any practiced the same. ### Day 57: September 13, 2018 **Today's Progress**: Python: Loops and coding practice **Thoughts:** Learnt about the if else, elif, while, for loops and practiced the same. ### Day 58: September 14, 2018 **Today's Progress**: Python: Useful operators and list comprehension/ coding practice **Thoughts:** Learnt about the useful operators in python like range, enumerate, zip, in, max, min, shuffle and list comprehension. Practiced the same. ### Day 59/60: September 15/16, 2018 -
abhinishetye revised this gist
Sep 17, 2018 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -327,19 +327,19 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Basics of Statistics: Lifecycle of a statistical experiement **Thoughts:** Solving a problem with the help of statistics can be an iterative process. This process starts from posing a relavant question to understand the problem. Once the problem statement is clear the next step is to collect the data which is needed for the analysis. We need to decide what data is needed and in which format. Then once we have all the needed data, we proceed with the analysis step. Analysis can be done by applying several statistical techniques to the data. The next step is to interpret the results obtained from this analysis. These results may give rise to new questions and hence the whole process repeats itself till we finally reach to a conclusion. ### Day 53: September 9, 2018 **Today's Progress**: Basics of Statistics: Trimmed Mean and Winsurized Mean **Thoughts:** Whenever your data is skewed, normal mean does not give the correct interpretation. Hence either Trimmed mean or Winsurized mean is used. In trimmed mean, the outliers (i.e. extreme values) are trimmed off. e.g. if we apply trimmed mean of 0.2 then it trims off 20% of the extreme values and finds the mean of the rest of the samples. On the other hand, if Winsurized mean of 0.2 is applied then it calculates 10th percentile and 90th percentile of the dataset and for all the samples having value lesser than 10th percentile, it assigns the value of 10th percentile. Similarly for all the samples having the value greater than 90th percentile, it assigns the value of 90th percentile and then it finds of the mean of this new dataset. ### Day 54/55: September 10/11, 2018 **Today's Progress**: Python: objects and Data Structure and coding practice **Thoughts:** Learnt the basic objects in python such as Numbers, Boolean, Strings (indenxing, slicing, print formatting with strings), Tuples, Lists, Dictionaries ### Day 56: September 12, 2018 -
abhinishetye revised this gist
Sep 16, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -363,4 +363,4 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto **Today's Progress**: Python: Methods and Functions/ coding practice **Thoughts:** Started with the basic of defining a function with 'def'. Further saw how passing an arguement works and also about the return statement. Docstrings can be useful for writing the documentation of a user defined function which can be available to other users through the Help section. Learnt about * args and ** kwargs and saw how they can be useful in getting any number of arguments a users wishes to pass into the function. * args stores the arguments in the form of a tuple and ** kwargs stores them in the format of a dictionary. -
abhinishetye revised this gist
Sep 16, 2018 . 1 changed file with 49 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -315,4 +315,52 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto [Capsule Theory - Geoffrey Hinton](https://www.youtube.com/watch?v=rTawFwUvnLE&t=3852s) [Capsule Theory - MyGist](https://gist.github.com/abhinishetye/edbbbbefe758572c0ed804631491a39e) ### Day 51: September 7, 2018 **Today's Progress**: Basics of Statistics: Types of data **Thoughts:** Learnt about the broad types of data. Data can be qualitative (Description of qualities) or quantitative (measure of quantities). Qualitative data can be either Nominal or Ordinal. Nominal data does not have any natural ordering. e.g. gender whereas Ordinal data has a natural ordering. e.g. Rating, level of agreement. Quantitative data can also be of two types, Discrete and continuous. Discrete type takes specific values whereas continuous type can take any value. ### Day 52: September 8, 2018 **Today's Progress**: Basics of Statistics: Lifecycle of a statistical experiement **Thoughts:** ### Day 53: September 9, 2018 **Today's Progress**: Basics of Statistics: Trimmed Mean and Winsurized Mean **Thoughts:** ### Day 54/55: September 10/11, 2018 **Today's Progress**: Python: objects and Data Structure and coding practice **Thoughts:** ### Day 56: September 12, 2018 **Today's Progress**: Python: comparison operator and coding practice **Thoughts:** ### Day 57: September 13, 2018 **Today's Progress**: Python: Loops and coding practice **Thoughts:** ### Day 58: September 14, 2018 **Today's Progress**: Python: Useful operators and list comprehension/ coding practice **Thoughts:** ### Day 59/60: September 15/16, 2018 **Today's Progress**: Python: Methods and Functions/ coding practice **Thoughts:** -
abhinishetye renamed this gist
Sep 3, 2018 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
abhinishetye revised this gist
Sep 2, 2018 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -315,3 +315,4 @@ I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinto [Capsule Theory - Geoffrey Hinton](https://www.youtube.com/watch?v=rTawFwUvnLE&t=3852s) [Capsule Theory - MyGist](https://gist.github.com/abhinishetye/edbbbbefe758572c0ed804631491a39e) -
abhinishetye revised this gist
Sep 2, 2018 . 1 changed file with 8 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -304,8 +304,14 @@ [Object Detection in Video](https://docs.opencv.org/master/db/df8/tutorial_py_meanshift.html) ### Day 47/48/49/50: August 30/31, September 1/2, 2018 **Today's Progress**: Studied about the Capsule Theory **Thoughts:** Attended a seesion by Tarry Singh in which he talked about applications of deep learning in Health care sector. He also threw light upon the concept of Capsule theory. I spent the last 4 days studying about the Capsule Theory or CapsNet. This theory tries to overcome the drawbacks of ConvNet by taking into consideration spatial orientation or pose rather than pixel intensity. I read Tarry Singhs's view on CapsNet and also watched a video of Geoffrey Hinton explaining "What's wrong with ConvNets". [Capsule Theory - Tarry Singh](https://tarrysingh.com/capsule-theory-boon-deep-learning/) [Capsule Theory - Geoffrey Hinton](https://www.youtube.com/watch?v=rTawFwUvnLE&t=3852s) -
abhinishetye revised this gist
Sep 2, 2018 . 1 changed file with 10 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -284,19 +284,25 @@ **Today's Progress**: Implemented Color Detection **Thoughts:** Implemented colour detection by changing the colour space to HSV and using masking. The code was implemented to detect blue colour and extended to detect blue and green colour in one frame. [Colour Detection](https://docs.opencv.org/master/df/d9d/tutorial_py_colorspaces.html) ### Day 45: August 28, 2018 **Today's Progress**: Implemented OCR of Digit using KNN and OpenCV **Thoughts:** Optical Character Recognition was done using K-Nearest Neighbours algorithm and OpenCV. [OCR: Digit Detection](https://docs.opencv.org/master/d8/d4b/tutorial_py_knn_opencv.html) ### Day 46: August 29, 2018 **Today's Progress**: Implemented Object Detection in Video **Thoughts:** Implemented Object detection in Video using Meanshift algorithm. [Object Detection in Video](https://docs.opencv.org/master/db/df8/tutorial_py_meanshift.html) ### Day 47: August 30, 2018 -
abhinishetye revised this gist
Sep 2, 2018 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -264,11 +264,11 @@ **Today's Progress**: Learnt about One Shot Learning and Siamese Network **Thoughts:** CNN does a good job when it has a lot of training images to learn from, but in real usecase the network might have to learn from just one image. Say for example, attendace system using facial recognition. This system will have just one image of every student feed into it and have to identify students based on that. This is called one shot learning and it cannot be achieved through traditional CNN, because of the training set constraint and also because if any new student is added then the entired system needs to be retrained. To solve one shot learning, Siamese networks are used. In siamese network, a network similar to CNN but without the sigmoid function is used to make encoding for every image. Then the difference between these encodings is found out, if the difference is very less then the images have a high degree of similarity and hence treated of the same class and vice versa. ### Day 42: August 25, 2018 **Today's Progress**: Learnt about Triplet Loss and Face Verification **Thoughts:** -
abhinishetye revised this gist
Aug 31, 2018 . 1 changed file with 9 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -276,7 +276,9 @@ **Today's Progress**: Implemented basic Face Detection **Thoughts:** Today I started learning OpenCV. There are some good tutorials and I started with Face Detection using Haar Cascade. [Face Detection using Haar Cascades](https://docs.opencv.org/trunk/d7/d8b/tutorial_py_face_detection.html) ### Day 44: August 27, 2018 @@ -294,4 +296,10 @@ **Today's Progress**: Implemented Object Detection in Video **Thoughts:** ### Day 47: August 30, 2018 **Today's Progress**: Studied about the Capsule Theory **Thoughts:** -
abhinishetye revised this gist
Aug 30, 2018 . 1 changed file with 13 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -282,4 +282,16 @@ **Today's Progress**: Implemented Color Detection **Thoughts:** ### Day 45: August 28, 2018 **Today's Progress**: Implemented OCR Digit Detection using KNN and OpenCV **Thoughts:** ### Day 46: August 29, 2018 **Today's Progress**: Implemented Object Detection in Video **Thoughts:** -
abhinishetye revised this gist
Aug 28, 2018 . 1 changed file with 25 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -258,4 +258,28 @@ **Today's Progress**: Learnt about YOLO Algorithm **Thoughts:** YOLO is an object detection algorithm and stands for You Only Look Once. It basically combines all the concepts covered in last 4 days to make the prediction. The training set comprises of image divided into grids and the classifier output with the dimensions n x n x a x (5+c) where n x n is the grid size, a is the number of Anchor Boxes and c is the number of classes. The next step is making the prediction, where we get output vector y for each grid of the image predicting if the object is detected in that grid and it gives the bounding boxes. Next we eliminate the boxes on grids returning lower probability of object being detected. We also use the Non-max suppression to eliminate the extra bounding boxes. ### Day 41: August 24, 2018 **Today's Progress**: Learnt about One Shot Learning and Siamese Network **Thoughts:** ### Day 42: August 25, 2018 **Today's Progress**: Learnt about One Triplet Loss and Face Verification **Thoughts:** ### Day 43: August 26, 2018 **Today's Progress**: Implemented basic Face Detection **Thoughts:** ### Day 44: August 27, 2018 **Today's Progress**: Implemented Color Detection **Thoughts:** -
abhinishetye revised this gist
Aug 23, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -258,4 +258,4 @@ **Today's Progress**: Learnt about YOLO Algorithm **Thoughts:** YOLO is an object detection algorithm and stands for You Only Look Once. It basically combines all the concepts covered in last 4 days to make the prediction. The training set comprises of image divided into grids and the classifier output with the dimensions n x n x a x (5+c) where n x n is the grid size, a is the number of Anchor Boxes and c is the number of classes. The next step is making the prediction, where we get output vector y for each grid of the image predicting if the object is detected in that grid and it gives the bounding boxes. Next we eliminate the boxes on grids returning lower probability of object being detected. We also use the Non-max suppression to eliminate the extra bounding boxes. -
abhinishetye revised this gist
Aug 23, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -252,7 +252,7 @@ **Today's Progress**: Learnt about Non-max suppression and Anchor Boxes **Thoughts:** Sometimes one can have multiple bounding boxes for the same object and Non-max suppression is used to eliminate all the secondary boxes and keep just one box for one object. For doing so, it uses Intersection over Union (IoU). The Intersection between the two areas, the bounding box and the object is found. Similarly their union is found out for all the bounding boxes and only the box with highest IoU ratio is retained and the rest are suppressed. Anchor Boxes are used when one is expecting more than one objects are the same location. ### Day 40: August 23, 2018 -
abhinishetye revised this gist
Aug 23, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -240,7 +240,7 @@ **Today's Progress**: Learnt about Landmark Detection and Object Detection **Thoughts:** Landmark detection is detecting the position of specific parts of the given object. Say for example the facial features, position of eyes, nose or jaw line. This can be done by defining the landmarks first, then train a supervised learning model to learn the landmarks and then in the softmax function, the relative co-ordinates of the landmark points can be returned. For detecting object the basic method is making use of the sliding window. In this method, the model is first trained to identify the object using the closely cropped image of the object without any background. Then the test image is taken and a window i.e. a small grid is used to detect the object. This window is slid with some stride and the process is repeated. This process is computationally very expensive. ### Day 38: August 21, 2018 -
abhinishetye revised this gist
Aug 23, 2018 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -232,9 +232,9 @@ ### Day 36: August 19, 2018 **Today's Progress**: Learnt about Object Localization **Thoughts:** Object Localization is figuring out where in the image the object lies. This can be done by adding more parameters to the softmax function so that the output y comprises of 1. The probability that the object exists in the given grid 2. co-ordinates of the mid-point of the object wrt to the grid in which the object is found 3. Height of the object 4. Width of the object 5. Variables equal to the number of possible objects to be detected. These are binary variables representing 1 if the respective object is predicted in the given grid. The box thus made from parameters 2,3 and 4 is called Bounding Box and this box localize the object on the image. ### Day 37: August 20, 2018 -
abhinishetye revised this gist
Aug 23, 2018 . 1 changed file with 4 additions and 8 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -222,17 +222,13 @@ [Neural Style Transfer (Useful Link)](https://medium.com/artists-and-machine-intelligence/neural-artistic-style-transfer-a-comprehensive-look-f54d8649c199) ### Day 34/35: August 13/14, 2018 **Today's Progress**: Understood and implemented the Open Source implementation of Neural Style Transfer **Thoughts:** Studied the awesome Jupyter notebook by Siraj Raval which implemented Neural Style Transfer using Tensorflow. It made use of the VGG16 model. [Open Source Implementation](https://medium.com/artists-and-machine-intelligence/neural-artistic-style-transfer-a-comprehensive-look-f54d8649c199) ### Day 36: August 19, 2018 -
abhinishetye revised this gist
Aug 23, 2018 . 1 changed file with 3 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -218,7 +218,9 @@ **Today's Progress**: Learnt in detail about Neural Style Transfer **Thoughts:** Neural style transfer is a great concept where you have two images, one style image and one content image. And what we do is we extract the style i.e. colour, texture from the style image and impose it on to the content image. For doing so, we make use of the transfer learning. We are using say VGG16, ideally this model is trained as a image classifier, but here we tweak it and use it to extract features. We feed the Style image and extract the style from the output of earlier layers of the model. Similarly we extract the shapes and objects from the content image using the output of the later layer. We then construct a stylized image by mixing the extracted features. We then compare this mixed image with the two original images and then calculate the content loss and the style loss. The style transfer then becomes the optimization task where we try to minimize these losses. [Neural Style Transfer (Useful Link)](https://medium.com/artists-and-machine-intelligence/neural-artistic-style-transfer-a-comprehensive-look-f54d8649c199) ### Day 34: August 13, 2018 -
abhinishetye revised this gist
Aug 23, 2018 . 1 changed file with 5 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -208,7 +208,11 @@ **Today's Progress**: Read about Neural Style Transfer **Thoughts:** I was always curious about how Computer can generate Art. I was amused by the Prisma app and wanted to know the concept behind it. Today I spent time in getting the idea about Neural Style Transfer. Neural Style Transfer is an idea of imposing the style from any artwork on to any other image. I learnt that this Style Transfer actually uses transfer learning and it works on minimizing different losses. [Neural Style Transfer1](https://www.youtube.com/watch?v=UFffxcCQMPQ) [Neural Style Transfer2](https://www.youtube.com/watch?v=Oex0eWoU7AQ) ### Day 33: August 12, 2018 -
abhinishetye revised this gist
Aug 23, 2018 . 1 changed file with 3 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -200,7 +200,9 @@ **Today's Progress**: Learnt about Transfer Learning **Thoughts:** After learning about the Benchmark Models, I learnt how can we make use of these models for our own usecase. The models like VGG16, AlexNet, Inception are very deep models, trained on huge dataset. In these models, the earlier layers identify the less complex features like colour or texture, the middle layers identify contours and the later layers identify complex features like objects. So for our usecase we can use the earlier layers and then add some fully connected layer and softmax function after it. This way we utilize the learning from the Pre trained networks to make our models perform better. If we have very small dataset then we can freeze all the layers and train just the softmax since there is inadequate data to train the later layer. If we have substantial amount of data then we can freeze the first few layers and train the later layers and the softmax unit. And if we have a huge dataset then maybe we can think of training all the layers. [Transfer Learning](https://www.analyticsvidhya.com/blog/2017/06/transfer-learning-the-art-of-fine-tuning-a-pre-trained-model/) ### Day 32: August 11, 2018
NewerOlder