written by
Renjit Philip

How I learnt how machines learn

Machine learning Python 6 min read , June 25, 2022

It was late 2016 when I was reading yet another article on McKinsey quarterly about the future of work and how automation was going to destroy millions of jobs. I desperately needed the time to step away from my day to day work and immerse myself in the new technologies that were seemingly threatening our jobs. I got the time to start this learning journey when I got the chance to quit everything and go to the US in 2017.

Source: Unsplash

I must confess that my learning journey was driven by fear of being rendered irrelevant in a few years by the advances in technology. I had clocked around two decades in financial services, payments, and insurance, and found myself getting overwhelmed by what I was reading in publications such as Wired or Fast Company.

It was quite clear that with my limited understanding of technology as it applied to my industry, my future career was going to be bleak if I did not take action. Of particular concern were the rise of Artificial Intelligence and machine learning. Were the robots going to take over our jobs? Were we going to be rendered useless by a Terminator-like machine boss of the future? I had realized that I needed to learn more about this area of science, mathematics, and management to stay relevant in my future career. I have often resorted to in-depth reading and learning whenever I had faced a challenge, and this was a challenge all right. If you are like me, then you may find this journey useful.

The first book that shaped my thinking was, "The Second Machine Age" by Erik Brynjolfsson and Andrew McAfee. The authors are among the very few who have been named in the Thinkers 50 list of the world's top management thinkers and the Politico 50 group of people transforming American politics.

The book explains, in a very well researched way, why modern information technology will profoundly impact life and economics as we know it. Reading it, I could only feel optimistic about the massive changes that lay before us. No doubt, there would be job losses centered around specific sectors. Still, it would also create new jobs and bring about life-changing improvements in industries like healthcare, education, and governance. I began to understand that the impact of these technologies is going to be nothing short of tectonic. It is clear to me that working alongside intelligent machines is going to unleash real human ingenuity and creativity. Smart machines are not to be feared, but consider them as a new tool that we MUST learn about! The time that I took to read the book: Around two weeks. Here is the link to the book on Amazon: Link

man in white and green helmet
Source Unsplash

So now, it was clear that I needed to pick up skills that would help me co-exist with these new technologies. Also, I would need to be comfortable to work in an environment where people, intelligent software, and hardware (robots) worked together. The future of leadership is going to be very interesting!

I needed to go deeper into this whole AI malarky to be able to lead a team dealing with it, credibly. I read up several posts on Reddit and Quora and realize that Python is possibly my gateway to this field if I needed to get hands-on experience. Now to give you a background on my coding skills: I knew coding, but my last program was compiled back in 2002. Those were the days when green screens were still popular, and client-server computing was the rage! We were just recovering from the dotcom bust. In short, my "skills" were non-existent and antiquated, and Python seemed to be the easiest way to get to grips with a modern programming language.

The best book I found for this was- "Learn Python the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code" by Zed Shaw. Zed Shaw is a dogmatic teacher with multiple books to his name, and he operates with a unique approach. He makes you type in every single command by yourself and makes you do the most stringent programs all by yourself. I realize now that there is no better way to learn any programming language than by doing it this way! I may have disliked the chap while I was learning the language, but now I both respect and admire him for making this modern computer language very clear to me.

Also, after much research on sites such as stackoverflow.com, I picked up a working knowledge of Scikit-learn, Pandas, Numpy libraries. These are critical if you want to learn how to manipulate vectors/ arrays for any foray into Machine learning. The time that I took to complete the book and get to grip with the libraries: around 8 weeks.

I was aching to try out my new "skills," and here, there were a couple of superb Lynda video courses authored by Adam Geitgey. The course-ware states that "His background is in building large-scale websites and helping startups in Silicon Valley take advantage of machine learning. He has a passion for putting theory into practice—taking cutting-edge developments in machine learning and sharing them with software developers of all skill levels." He has got six courses on Lynda.com, and the ones that I recommend for beginners are:

  1. "Machine Learning and AI Foundations: Recommendations"
  2. "Machine Learning and AI Foundations: Value Estimations"

These give you a hand-on and practical grounding in using Machine learning in real-life examples. These courses will build up your confidence as it did for me. The time that I took to complete the course: 4 weeks. Here is the link to one of the courses.

Now, I was ready for a more significant challenge. This time, I found one of the giants of this field- Andrew Ng. Now Andrew is the CEO/Founder of Landing AI; Co-founder, Coursera; Adjunct Professor, Stanford University; formerly Chief Scientist, Baidu, and founding lead of Google Brain. Impeccable credentials, I thought! The course gives you a certificate from Stanford Online on Coursera.com. It is a tough course, make no mistake. You will need to brush up your vector math and essential calculus from Engineering 1st year/ Math graduate school courses. Also, you will need to learn to program in Matlab and Octave in this process.  The name of the course is "Machine Learning".

You will learn both the theory and the practice of machine learning. As the course-ware says (and I paraphrase), "Topics include (i) Supervised learning, Unsupervised learning, Best practices in machine learning. The course will expose you to numerous case studies and applications, and you will learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas." In short, it was comprehensive and grueling, and I thoroughly enjoyed it! The time that I took to complete the course: 11 weeks. Here is the link to the course.

It was around this time that I got a chance to set up a startup, Explain.care, to delve deep into a wing of AI called natural language understanding and to develop conversational interfaces such as chatbots and voice skills. We aim to help customers save money on health insurance by "speaking" to them in a language that they are comfortable in. The grounding that I got earlier certainly helped in this journey. I had understood how machines learn our language and how they can speak it. I had also finally lost my fear of these new technologies and understood how to utilize them to transform old business models in targeted ways.

The future of work demands that each of us need to reinvent ourselves. The companies that we work in need guidance on how to incorporate modern technologies into their business models or face the risk of being disrupted. It is upon us in leadership positions to help our businesses and people make these transitions. What better to do this than by plunging headfirst into learning these new technologies?

Here is hoping that I have provided a roadmap for your learning. Let me know how you fare on this journey.

Machine Learning Python