Abhijit AnnaldasFor the love of data and machines that can learn
https://avannaldas.github.io/
Wed, 29 Mar 2017 13:40:54 +0000Wed, 29 Mar 2017 13:40:54 +0000Jekyll v3.4.3My first Machine Learning Hackathon<p><br /></p>
<h4 id="tldr"><em>tl;dr</em></h4>
<blockquote>
<p>Sharing my Machine Learning hackathon participation experience. Hackathons are the best way to practice and get hands on experience. They bring out the best in us everytime, no exceptions. Look for hackathons that work for you, it’s better to work along the people rather than solving in silos (for learning at least)</p>
</blockquote>
<p>Hackathons magically raise the enthusiasm and excitement of solving a problem. It takes the game altogether to a different level. Last week I solved my first machine learning problem for an online hackathon. I think hackathons bring the best out of us.</p>
<p>HackerEarth hosted a <a href="https://www.hackerearth.com/problem/machine-learning/bank-fears-loanliness/" target="_blank">Machine Learning Challenge</a> where the challenge was to predict the probability of a loan being defaulted based on a dataset of over 5L records with 45 attributes/columns.</p>
<p>Though I do solve some machine learning problems now and then, I was still mostly in a learning mode. But not anymore, this was the first decent and moderately difficult problem I solved. The learnings have been immense. I solved the challenge in Python achieving 97.6% accuracy. It’s posted on <a href="https://github.com/avannaldas/Loan-Defaulter-Prediction-Machine-Learning" target="_blank">GitHub</a>. I got a sense of what it takes to improve the accuracy point by point pushing the limits and getting the most insights out of data. And it all happens in hackathons when there is a leaderboard to compare the numbers, no matter where you stand on the leaderboard. It’s encouraging to see the accuracy figures in comparision ranked with other solutions as compared to solving the problem in silos. One might get content with 95% accuracy, but when we see it’s possible to do more with the same dataset, we push the limits of what we think we can do. Througout the 10 day Hackathon I gravitated on the leaderboard starting with 8th in the beginning rose to 4th at one point of time and then finally finished at 19th.</p>
Tue, 28 Mar 2017 00:00:00 +0000
https://avannaldas.github.io/my-first-machine-learning-hackathon.html
https://avannaldas.github.io/my-first-machine-learning-hackathon.htmlMy Data Science Journey<p>I am Abhijit Annaldas, a Software Engineer who recently fell in serious love with Data Science. I’ve been learning about Mathematics, Machine Learning and Deep Learning a lot lately. And sometimes for a change I read/watch about random physics/science topics ranging from astronomical concepts to some basic physics. I recently came to know about Feynman Technique, so I thought I’ll share what I learn through this blog. I’m planning to get my hands dirty with things I read/learn about and use github as my playground. Both, for doing and talking.</p>
<p>Apart from my recently found love, I’m a Software Engineer with Microsoft India. I have been blogging about various/random topics about technology on my <a target="_blank" href="http://abhijitannaldas.com/">other blog</a>. Since I wanted to start with a clean slate, all about data science. I’m starting a new blog here.</p>
Tue, 20 Dec 2016 00:00:00 +0000
https://avannaldas.github.io/my-data-science-journey.html
https://avannaldas.github.io/my-data-science-journey.htmlMathematical Thinking<p>Mathematics is a fascinating subject. That was not true for me just two days ago. I started learning mathematics two days ago. Not because I loved it, but because I realized it’s a very important subject. I need to have very strong fundamentals about Mathematics if I wanted to learn Machine Learning, which I picked up 4 days ago! Isn’t that interesting, yes you need to pivot and change course to learn whatever it takes. I prefer understanding the basics.</p>
<p>So when I started learning Mathematics 2 days ago, I realized and learnt a few things from the Math gurus who share their knowledge with the world through internet (some useful links at the end of page). I started loving Mathematics and now learning it in a way I have never imagined. The way mathematics is learned is the reason people hate it. Mathematics is abstract in nature, is a wrong belief people hold in general. On the flip side it is true that the way people learn/have been taught is abstract in nature.</p>
<p>Learning mathematics can be very fun. Mathematics is all around us. Here are a few more important dis-beliefs about Mathematics:</p>
<ol>
<li>Some people have inherent capabilities to do well in math, a math person</li>
<li>Mathematics can never be related to real life and learned with analogies</li>
<li>Mathematics is just abstract</li>
<li>We need to memorize all the formulae</li>
<li>We need to memorize all the rules</li>
<li>Mathematics is all about numbers, rules, methods</li>
</ol>
<p>There are tons of such dis-beliefs about mathematics which makes people treat mathematics differently and keep it at bay. To learn mathematics its important to note a few points:</p>
<ol>
<li>Anyone can learn mathematics and start loving it, provided the learning approach is changed</li>
<li>Mathematics is a study of patterns (as Mathematician Keith Devlin says)</li>
<li>It’s very important to understand and internalize the concepts rather than memorizing the formulae, procedures and methods of solving something</li>
<li>Solving a mathematical problem is not always fast, it takes time. And that’s where most of the people give up.</li>
<li>Imagine reading an article (could be about anything) and not understanding it even after trying very hard for a reasonable time. Difficult to imagine, right? We generally understand what we read very quickly. Usually within few minutes in rare cases where we cannot comprehend the text easily or the concept is a bit tough, it would typically take a little longer. But we would understand it. This is not the case with Mathematics, it usually takes longer. And that’s where the mathematical understanding deepens, when we persevere.</li>
<li>It’s important to keep in mind that it’s perfectly fine to struggle at a problem. Struggling is where the search for different pathways and patterns begins. This struggle also helps deepen the understanding of concept and improve the relationship with numbers!</li>
<li>If you have ever solved a mathematical problem in a totally different way, even if it was accidentally that you realized oh, it can be solved this way. You can imagine the satisfaction and happiness it gives to find a pattern/pathway to solution that wasn’t taught in class or described in the textbook you were referring to. This is how the learning should be, naturally and intuitively. And there would never be another boring math problem!</li>
</ol>
<p>Below are some quick references where you can start learning mathematics and change your perception about it:</p>
<ol>
<li><a href="https://www.youtube.com/watch?v=3icoSeGqQtY">How you can be good at math, and other surprising facts about learning - Jo Boaler - TEDxStanford</a></li>
<li><a href="https://www.youtube.com/watch?v=ytVneQUA5-c">Five Principles of Extraordinary Math Teaching - Dan Finkel - TEDxRainier</a></li>
<li><a href="https://www.coursera.org/learn/mathematical-thinking">Introduction to Mathematical Thinking – Coursera.org</a></li>
<li><a href="http://www.ted.com/topics/math">Ted Talks about Mathematics</a></li>
</ol>
Wed, 10 Aug 2016 00:00:00 +0000
https://avannaldas.github.io/mathematical-thinking.html
https://avannaldas.github.io/mathematical-thinking.htmlMathematics for Machine Learning<p>I’ve just started learning Machine Learning. I stumbled upon mathematical expressions that I’ve never seen before! And that’s where I took a break on that and turned to first learn the required Mathematics before I get into Machine Learning.</p>
<p>Good fundamentals with the maths subjects like Calculus, Linear Algebra help immensely help learn Machine Learning. As I started looking for what all I need to learn, questions like where to start? what to learn? in what sequence? started popping up. It took me a few days to figure out what all Mathematics needs to be studied for Machine Learning.</p>
<p>Well, we are lucky we have numerous structured online learning resources, open-sourced learning content today. In case you’d like to understand the math behind the machine learning. You can get quickly started with Linear Algebra and Calculus basics. Links at the end of page. First two links would be sufficient to get started.</p>
<p>Since it took me a few days to understand all about this when I started looking into Machine Learning, I hope this helps you have a good head start.</p>
<p>Useful links…</p>
<ul>
<li><a href="https://www.khanacademy.org/math/linear-algebra" target="_blank">Linear Algebra - Khan Academy</a></li>
<li><a href="https://www.coursera.org/learn/calculus1" target="_blank">Calculus One - Coursera.org</a></li>
<li><a href="https://lagunita.stanford.edu/courses/Education/EDUC115-S/Spring2014/about" target="_blank">How to learn math - Stanford</a> - A short course which introduces to a different approach of learning math</li>
<li><a href="http://fastml.com/math-for-machine-learning/" target="_blank">Math for machine learning</a> - An interesting blog post</li>
<li><a href="https://avannaldas.github.io/useful-stuff/">Useful Stuff</a> - Page of this blog</li>
</ul>
Mon, 08 Aug 2016 00:00:00 +0000
https://avannaldas.github.io/mathematics-for-machine-learning.html
https://avannaldas.github.io/mathematics-for-machine-learning.html