Introduction to Linear Regression: Cost Function

October 29, 2014

Cost Function (Method I)

For calculating the cost in linear regression, typically we use Sum of Squared Error method(SSE)

\(\ J(\theta) = \frac{1}{2m}\sum_{i=1}^m{(h(x^{(i)})-{y^{(i)}})^2}\)

The goal is to minimize \(\ J(\theta)\) and figure out \(\ \theta\) values corresponding to the minimum cost. There are several optimization algorithms used to achieve this.

Introduction to Linear Regression: Polynomial Regression

October 26, 2014

Polynomial Regression

This form of regression is used to fit more complex functions and this is a general concept not restricted to linear regression, but also used commonly in classification algorithms such as Logistic Regression and Neural Networks as well. I hope to talk about it in detail in a future post. For now take a look at the following scatter plot.

Introduction to Linear Regression: A Machine Learning Approach

October 7, 2014

Supervised Learning is a form of learning in which we use known data with actual outputs from past experiences to model a relationship and this model is used to predict future outcomes. The known data used to build up the model is called 'training data'.

To build a supervised learning model we need,
  1. Training Data
  2. Hypothesis
  3. Cost Function
  4. Optimization method for Minimization


Abstract Factory Pattern in Java

June 5, 2014

Abstract Factory pattern, another GoF pattern which falls under the category of creational design patterns, deals with a factory of factories (sometimes called a "super factory"). Main intent of this pattern is to instantiate families of related objects without exposing their concrete classes to the client and thereby reducing the complexity when dealing with large systems.

Factory Method pattern may seem quite similar to this except Abstract Factory deals with multiple families of related products where as in Factory Method pattern we have only one main product.

Basic Structure of Abstract Factory pattern



Observer Pattern in Java

June 1, 2014

When it comes to programming it is quite common to hear the terms like "Event handling and listeners". This is indeed one area where Observer design pattern is extensively used.  Observer is a GoF design pattern which falls under the category of Behavioral patterns. These types of patterns describe the process of communication between objects.

Let's take look at an example where messages are saved to a database as it receives and the user is notified whenever a new message is received. Before I learned Observer pattern, the first thing which came to mind to solve this is to monitor messages using Threads and when it comes to multi-threading things get messy but this pattern involves no threading mechanism at all.

Factory Method Pattern in Java

April 25, 2014

Factory method is a GoF design pattern which is widely used. The official definition says
The Factory Method Pattern defines an interface for creating an object, but lets the subclasses decide which class to instantiate and Factory Method lets a class defer instantiation to subclasses.

Basically Factory method pattern provides the solution for what the Simple Factory couldn't achieve as  I mentioned in the previous post, ie. fulfilling the Open-Close Principle. This is achieved by providing an interface with a method for creating objects between Client and Concrete Creator classes. This particular method is known as the "factory method". (Here the interface I'm referring to is from a design view point, technically it can be a class or an interface in java)