Neural Networks

Following resources explain the overview of Neural Networks and aided me enough to get recorded here for future references.

16-Sep-2016
Deep Learning in Neural Networks: An Overview – http://arxiv.org/pdf/1404.7828v4.pdf

Neural Network zoo – http://www.asimovinstitute.org/neural-network-zoo/

Multiple links here – https://sites.google.com/site/nnb2tf/home

This post will be updated with more links on a continuous basis.

Advertisements

On training, validation and testing datasets

Today as I was going through top answers of interesting users on Cross Validated, I came across a question that stuck me with its fundamental nature.

The question asks:

Cross-validation including training, validation, and testing. Why do we need three subsets?

This seemed to be a very interesting question. One one fold it was concentration on the need for 3 datasets and essentially its difference with cross validation.

Assuming clarity on why we do cross validation (to be discussed in detail probably in another post), we need 3 subsets for the following purpose as per the top answer in the link:

  • The training set is used to choose the optimum parameters for a given model. Note that evaluating some given set of parameters using the training set should give you an unbiased estimate of your cost function – it is the act of choosing the parameters which optimise the estimate of your cost function based on the training set that biases the estimate they provide. The parameters were chosen which perform best on the training set; hence, the apparent performance of those parameters, as evaluated on the training set, will be overly optimistic.

  • Having trained using the training set, the validation set is used to choose the best model. Again, note that evaluating any given model using the validation set should give you a representative estimate of the cost function – it is the act of choosing the model which performs best on the validation set that biases the estimate they provide. The model was chosen which performs best on the validation set; hence, the apparent performance of that model, as evaluated on the validation set, will be overly optimistic.

  • Having trained each model using the training set, and chosen the best model using the validationset, the test set tells you how good your final choice of model is. It gives you an unbiased estimate of the actual performance you will get at runtime, which is important to know for a lot of reasons. You can’t use the training set for this, because the parameters are biased towards it. And you can’t use the validation set for this, because the model itself is biased towards those. Hence, the need for a third set.

These outline some of the very important ideas that anyone who works with statistical modeling should have embedded into their skulls. Often, we build models and test them without knowing the complete picture. It involves using both our business acumen and statistical acumen for one without another is  pointless.

That is why during the assignments or exercises, I always use the concept of asking myself ‘Why’ are we doing this? Why? WhY? Why? But stopping once I get the answer to that would not help, I should also be asking, what-if questions. There can be two types of what-if questions:

  1. What-if it is not done this way?
  2. What-if I do it in an alternate way?

Now, these two questions might seem to be essentially the same, but they aren’t. And understanding the difference between these two makes a remarkable difference in one’s learning process according to me.

  1. What-if it is not done this way?

This mostly applies to techniques which have a methodology set in place for them without much of a choice. In such cases, knowing the repercussions of not using this technique or misusing this technique can often allow us in diagnostics during the journey of a project. Some unwanted result or behavior that you might encounter during your project can be diagnosed by asking this question and knowing its answer(s).

  1.   What-if I do it in an alternate way?

This question lets you discover any possible alternatives that can be learnt about. This also gives you vital information about the technique/aspect you are trying to learn. And that aspect is, the important role played by the given technique in answering the question it is dealing with. If there are few or zero alternatives, then this might mostly imply that the technique is either redundant or all-ruling (which is rarely the case). Now coming to how this question differs from the 1st question, it is understanding the behavior in case of not using a technique vs knowing the choices you have when such a situation arises. A combination of these two questions will give you a certain clarity and technical mastery that are utterly essential according to me.

The elements of statistical learning

Having just finished exams for the first flex of spring semester, I am looking at last two months of study in the master’s program I am in. The courses I will be taking are already going to make this time a lot more interesting (not to mention the invisible never ending job search :p). I have however recently seen that lot of machine learning aspects can be implemented using R and need not necessarily require expertise in Python. Although I am all in for learning and advancing my python knowledge, I have come to face the fact that my coursework will not be allowing me to do so.

Coming to the machine learning part, I will be using the following book for this purpose:

  1. The elements of statistical learning (2nd edition)

I have numbered this list because I plan to add more books in case I come across any as good enough to be added to this list.

I will be posting my notes, thoughts, doubts and links from the internet in this blog. I wish to help them serve as references for myself in future times. Hence, I will not be cutting any corners while doing so and will try to make them as rigorous as possible.

Also, as and when the time permits, I would try using LATEX.

 

Fall semester ends – Half master

The fall semester of my masters course ended a few days ago taking with them a couple of courses that definitely helped me learn more. They also helped me gain an understanding of what I don’t know and thereby did more good than they were supposed to.

In one of my previous posts I was supposed to write about Andy’s talks and what I liked about it.

To begin with, Andy is a tableau zen master for this year and works at ‘The Information Lab’ which is situated in London. Out of the various aspects of his talk, two points really stuck with me and something I’d implement if I can, in the future situations.

1. Presentation
His presentation was the kind that was not overloaded with information and instead, it was made to hold the viewer’s attention at the max possible level. And I daresay it did its job very well. Also, he did not really care about how serious/official the presentation should be and what kind of formatting should go into it. That is what helped him all the more in delivering his points across as he was more focused on story during the deck than its cosmetics.

2. Interview process he takes
In his previous firm (if I am not wrong) and the current place of work – The Information Lab, the itnerviews for prospective candidatestake place in a fashion that I really like. Interested folks are asked to send in their applications along with a piece of work as a sample showcasing their skills and passion. You often want to hire individuals with both these because the ones having both these qualities rarely apply to all places. This stuck with me and I would really like to part of an org which does interviews like these because the platform they are providing and the thought itself show how foreward thinking they are towards hiring not any individual but only those who exactly fit their requirement of skill and passion levels. You don’t have to be a genius to get into these places, but you sure as hell should be ready to keep improving your skill with hard work. And that indeed is a rare quality.

So, these two aspects of his talk stayed with me since then and am not going to forget them anytime soon.

Regarding data visualisation course, that was offered here at the fall semester for me, the most important outcome that I gained out of the course was that I can now understand what an user is trying to convey using any form of visual (need not necessarily be a tableau dashboard but any form of visual). And I am able to form a picture in my mind about how well this visual has been made in terms of getting the message across in the most simplest way possible. It is often a difficult task to do so, as most of us while making the visuals either have lost the idea of the exact message it is trying to convey or are too engrossed into the minute details that when stitched together, the visual looks like a piece of art rather than solving its purpose of getting across a story/message.

I think this quality would stay with me throughout my life and I will be able to critique and/or appreciate all forms of visualisations that I will come across in any presentations from now on be it in class/company/public forums. In addition to this, the course also helped me gain the basics in tableau. It is of no use complaining I could not get good at tableau with the help of this course. A good teacher always teaches you the design and the way you implement this design depends on your ingenuity. He cannot teach that, it is your thought process that makes you ingenuine with your work outputs. I am thankful I got to learn from such a distinguished individual (Prof. Jeff Shaffer – tableau zen master for 2016 and also a close friend of Andy about whose talk I have discussed above). Both of these folks are really active in the dat avisualisation community and they are trying some amazing stuff pushing the limits of their work. Also, what adds to this is the way in which tableau responds to the feedback of its users. I am yet to come across a software/tool/platform whose updates are so relevant to the user requirements and needs whichw ere not fulfilled in the previous versions but would make really valuable additions to the updated versions.

The fall semester end update ends thus.

Upcoming posts

It is humorous (in a sardonic way) that I am writing a post about my upcoming blog posts. Anyway, below is the list of topics I intend to blog about in my upcoming posts. For the sake of book keeping, I will be updating this post once I tick off an item from this list.

  1. Business Intelligence Symposium – Part 1 (some thoughts on the event and other points discussed there) – Done Link to the post
  2. Business Intelligence Symposium – Part 2 ( On ‘The Informationlab’ – its hiring process, and how such a system inspires the passionate ones) – Link to the post
  3. Notes from data visualisation class – About what I learnt from what according to me was the best class this FALL – Link to the post
  4. Thoughts on fall courses at the program I am currently studying
  5. My attempts at storytelling using Tableau

Updates:

12 Dec – Added the links to posts for 2,3. I combined them into a single post. I am not really sure if I would be adding 4,5 anytime soon. Though something will come up for 5 as I have some vizzes that I am currently working on.

Business Intelligence symposium – Part 1

I attended the Business Intelligence symposium at the University of Cincinnati business center (more Info here). There were three sessions in the symposium:

 

  1. 84.51 explaining how they were structuring their analytics development program to meet the needs of the growing analytics market
  2. Andy Kriebel on what are the fine lines that differentiate a good analyst from a great analyst. He also gave us a glimpse of his workplace (The Informationlab – http://www.theinformationlab.co.uk/) – More about this in a future post, as I was particularly fascinated by this part of his presentation.
  3. Procter and Gamble

 

I should say I particularly liked the session of Andy the most. For starters, his presentation was amazing. And by amazing I mean, not even for a moment you thought of anything to complain about the powerpoint deck he made. No extra text, no unnecessary colors, correctly driving the story, brilliant sync between the horizontal and vertical logic of the presentation. So much so that one of the beginning slides was Rachel (of F.R.I.E.N.D.S fame) showing the middle finger from a movie I like – The office space (go watch it if you haven’t already).

 

Moving on, some of the points he focussed were indeed what an aspiring analyst should be thinking about if he wants to be a great data analyst (or atleast if he wants to very good at what he does). The points are as follows:

 

A good analyst is

  • not a yes man
  • knows basic coding
  • has good business acumen
  • knows basic stats

 

A great analyst on the other hand

  • understands the story behind the data
  • is interested in what he/she does (don’t think of it as a job)
  • is curious and imaginative
  • understands the context
  • builds good visualisations and tells great story from them
  • can decipher the message
  • is methodical
  • can spot trends and themes
  • is a great story teller

 

All the above points completely resonate with anyone who is passionate about analytics. These are also the points that were particularly stressed upon in my ex-company. Although many often fail to understand these in the context of solving an analytical problem and just try to finish their job, be done with it and go home for the day.

 

One point missing from the above for me was about identifying the patterns in the problems themselves and leveraging the solution of one or more previously solved problems in their company.

 

Understanding the interconnectivity of the problems is according to me an important aspect going forward as you keep on adding to the list of problems you have already solved using analytics. Not being able to do so will not only possibly lead to a suboptimal solution to the current problem at hand, but also might rob you of the opportunity to think about what other problems can be solved due to the solution of the current problem at hand. Both these aspects not only improve decision making in the companies but also have an immense impact on their attitude towards tackling future problems.

 

Treating any analytics project as a standalone entity is one of the major negatives currently in the analytics market as per my understanding. Another negative which I would try to talk about in a different post here is – the ability to reject/change the solution which you are trying to find for the problem at hand.

 

What I essentially mean by that is – often we get a problem to solve, and depending on the company we are a part of or the processes we follow, we set about solving that problem. In doing so, we already have an idea of the kind of solution that might be waiting for us at the end of this project. But, how many of the analysts out there have the ability, rather the courage to look back at what they have done, take a pause and think if they need to rethink about the solution they have been chasing. I have more thoughts on this which I will try to put together in one of my future posts.