[Java] Hopfield Network Implementation

Why Java? Well, actually I have a deep love with this language, I enjoy my time writing a Java code. Also, it is good for me to write some OOP projects to not forget its concepts. Getting used to Python and other scripted languages may effect badly to my designing and OOP skills. So, from … Continue reading [Java] Hopfield Network Implementation

Prim’s Running Time With Heaps

Input: Given a graph with N nodes and M weighted edges, we want to obtain the Minimum Spanning Tree (MST) of the graph. Note: MST is a tree that is formed in a graph which makes all the graph nodes connected with the minimum total edges weights, also cycles isn’t allowed in the tree. Output: … Continue reading Prim’s Running Time With Heaps

[Python] U-V Decomposition using Swarm Optimization

Recently, I have implemented U-V decomposition technique for Recommendation Systems using Particle Swarm Optimization. U-V decomposition is an optimization problem for a matrix. Here, our matrix elements represent some users review about movies. We have 5 users and 5 movies. Each row represents a user's review for each movie. There are some missing values from … Continue reading [Python] U-V Decomposition using Swarm Optimization

[Python] 3 Ways of Multi-threaded Matrix Multiplication

Recently, I have implemented 3 different ways of multi-threaded matrix multiplication. There are 3 ways of thinking when writing a parallel program: - Input Decomposition Output Decomposition Intermediate Decomposition We want to create matrix multiplication (3 x 3) program in multi-threaded way. Input: Matrix A, B and each one of them is 3x3 size. Output: … Continue reading [Python] 3 Ways of Multi-threaded Matrix Multiplication

Solving Time-dependent Graph Using Modified Dijkstra Algorithm

Paper: http://research.microsoft.com/pubs/173806/edbt08tdsp.pdf Content: - Time-dependent Graph – Definition Problem Definition Existed Solutions - Bellman-Ford - Extended A* New Dijkstra Based Algorithm   Time-dependent Graph – Definition We can define Time-dependent Graph (TDG) as GT(V, E, W), where V is a graphs vertices, E is the edges between each vertex and W is the weights between each … Continue reading Solving Time-dependent Graph Using Modified Dijkstra Algorithm

Getting started with Tensorflow

Tensorflow is an open source library created by Google for deep learning tasks. The library mainly works with matrices operations, it represents the operations between matrices and data by a graph that shows the dependency between the tasks. The edges (called tensors) between the nodes are the output of the operations. There are many advantages … Continue reading Getting started with Tensorflow

[Kaggle] Poker Rule Induction

I wrote a note http://nbviewer.ipython.org/github/AhmedHani/Kaggle-Machine-Learning-Competitions/blob/master/Easy/PokerRuleInduction/PokerRuleInduction.ipynb about Poker Rule Induction problem, the note explains the problem description and the steps I used to solve it. It is considered a good problem for those who want to start solving at Kaggle and know about some Machine Learning libraries in Python that are commonly used when solving at Kaggle.

Hidden Markov Models (HMMs) Part I

Agenda: Markov Chains - Structure - 1st Order Markov Chains - Higher Order Markov Chains Hidden Markov Model - Structure - Why using HMMs ? Forward-backward algorithm Viterbi algorithm (Part II) Baum-Welch algorithm (Part II) This article assumes that you have a pretty good knowledge of some Machine Learning techniques such as Naive Bayes and have a background about Recursion … Continue reading Hidden Markov Models (HMMs) Part I