Showing posts from October, 2016

IOS Image Picker with tap gesture

While you are developing an IOS application, you may find yourself on a scenario where you want the user to pick a photo from Photo Library, then display it in an Image View. To do that, you can put a button on the scene, open image picker, then display the selected photo, but I think that if we let the user tap the image view to open the image picker, it would be more convincing, so i'll show you how to do it in a video as always. Hope you will find it useful.

Monte Carlo Filter using python

When we talk about robotics and Autonomous Vehicles, one important problem arises, which is the localization problem. Let's take the self driving car as an example, The car needs to know its position in the world it operates in, this is very important, especially when it comes to navigation and path finding. A number of algorithms exist to solve this problem, one of them is Monte Carlo Localizer or Monte Carlo Filter. Monte Carlo Filter uses statistics with the help of sensing and moving operations to find the location that have the maximum probability that the robot is at.
Monte Carlo Filter is used in many real world examples where the world is represented as 2D Matrix, To simplify the algorithm, I implemented it in a 1D world using python, You can find the code at GitHub following this link. I also recorded the implementation process and uploaded it to YouTube. The Video:

Logistic Regression using matlab

Logistic Regression is one of the most famous classification algorithms, like Linear Regression we discussed before , it is easy to implement and gives great predictions.
The Logistic Regression algorithm has two major categories:

Binary-Class: where the result is 0 or 1 (belong to a certain class or not), an example of it is the spam email detection problem, where the result could be 0 (not spam), or 1 (spam). Multi-Class: where the result could be any value in the range (0..n), where n is the number of classes, an example of it it the handwritten digit recognition, where we have 10 classes (n = 10), each class represent a number between 0 and 9. Implementing Binary-Class Logistic Regression using matlab is similar to implementing Linear Regression, with some modifications of the hypothesis and cost function formulas.
In this video, I implement the algorithm using matlab:

Linear Regression using matlab

Linear Regression is a powerful algorithm when it comes to prediction, you only have to give it some training data that contains the properties and result for each sample, then it will draw a regression line through the data, and predict the results for a new set of properties without previously seeing them by the algorithm.
Implementing Linear Regression is a fun task, because it's not that hard to do, plus the outcome will be very useful.
In this video, I'm implementing Linear Regression using matlab, the training data consist of the population of a city, and the profit a company gaining from it, the algorithm should predict the profit for new cities given the population.
 you can find the code on github: Code Here