It would not be a surprise that you may not have a powerful expensive machine to train a complicate model. You may experience the problem of not enough memory during training in some epoch. This article demonstrates a simple workaround for this. The problem Training deep learning models requires a lot of computing power. For most laptop and desktop today, you can still train the models but it can...

## MLP for implicit binary collaborative filtering

In this post, we demonstrate Keras implementation of the implicit collaborative filtering. We also introduce some techniques to improve the performance of the current model, including weight initialization, dynamic learning rate, early stopping callback etc. The implicit data For demonstration purposes, we use the dataset generated from negative samples using the technique mentioned in this post...

## Generate data on the fly – Keras data generator

Previously, we train our model using the pre-generated dataset, for example, in the recommender system or recurrent neural network. In this article, we will demonstrate using a generator to produce data on the fly for training a model. Keras Data Generator with Sequence There are a couple of ways to create a data generator. However, Tensorflow Keras provides a base class to fit dataset as a...

## build a simple recommender system with matrix factorization

We will build a recommender system which recommends top n items for a user using the matrix factorization technique- one of the three most popular used recommender systems. matrix factorization Suppose we have a rating matrix of m users and n items. The rating of user \(u_i\) to item \(i_j\) is \(r_{ij}\). Similar to PCA, matrix factorization (MF) technique attempts to decompose a (very) large...

## deep learning: Linear Autoencoder with Keras

This post introduces using linear autoencoder for dimensionality reduction using TensorFlow and Keras. What is a linear autoencoder An autoencoder is a type of artificial neural network used to learn efficient data codings in an unsupervised manner. The aim of an autoencoder is to learn a representation (encoding) for a set of data, typically for dimensionality reduction, by training the network...