AI Is Not Magic. How Neural Networks Learn

In my previous blog post, I claimed that “AI is not magic.” In this post, my goal is to discuss how neural networks learn, and show that AI isn’t a crystal ball or magic, just science and some very slick mathematics. I’ll keep this very high level.

Let’s start with a hypothetical scenario. Suppose we are building an app to identify hot dogs. Take a picture and the app will tell you if it’s a hotdog or not. Total App Store domination.

hotdog

Read More...

AI Winter is Coming?

AI winter is a period of ‘reduced funding and interest in the field of artificial intelligence.’ AI winters are preceded by hype cycles and ambitious claims of what AI can do. Money into research and AI companies pours in and expectations are inflated. But it doesn’t last and after a while, pessimism takes over the community and spreads to press, investors and government. Budgets are slashed, funding is stopped and AI research virtually dries up. There have been two AI winters: first one in the 1970’s and the next in the 1980’s.

Read More...

Fix Employee Weaknesses or Focus on Their Strengths?

In “First, Break All the Rules: What the World’s Greatest Managers Do Differently” the authors, Marcus Buckingham and Curt Coffman, have put together their observations from more than 80,000 Gallup interviews they conducted with various leaders and managers over a period of 25 years. The book is full of excellent insight into what great managers do and don’t do and debunks several traditional management myths. One such myth is that people are capable of almost anything if they work hard enough or everyone has unlimited potential. According to the authors, this is a complete fallacy and while it is an uplifting thought, it is far from reality.

Read More...

Tweaking TCP for Real-time Applications: Nagle's Algorithm and Delayed Acknowledgment

TCP is a complex protocol.

Don’t get me wrong. It is a marvelous piece of engineering that gives us the reliable data transmission guarantee that other protocols don’t provide. Reliable data transmission between two devices on the internet is no walk in the park and TCP uses a lot of magic under the hood to make things happen. Generally, it does a fine job of abstracting away low level details and its default settings work fine for most general purpose use cases. However, once in a while, things don’t go according to plan and we need to pop open the hood and do some tweaking. It is in these situations, that some knowledge of TCP comes in very handy.

Read More...

Cluster Analysis Using K-means Explained

Clustering or cluster analysis is the process of dividing data into groups (clusters) in such a way that objects in the same cluster are more similar to each other than those in other clusters. It is used in data mining, machine learning, pattern recognition, data compression and in many other fields. In machine learning, it is often a starting point. In a machine learning application I built couple of years ago, we used clustering to divide six million prepaid subscribers into five clusters and then built a model for each cluster using linear regression. The goal of the application was to predict future recharges by subscribers so operators can make intelligent decisions like whether to grant or deny emergency credit. Another (trivial) application of clustering is for dividing customers into groups based on spending habits or brand loyalty for further analysis or to determine the best promotional strategy.

Read More...