A follow-up on the collaborative filter, it occurs to me that it should be possible to add a logistic regression layer in Keras. Â The following is a regularized multinomial logistic regression model:
from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.regularizers import l2
model = Sequential()
model.add(Dense(numClasses, input_shape=(numFeatures, ), \
init='zero', W_regularizer=l2(0.01)))
model.add(Activation('softmax'))
model.compile(loss='binary_crossentropy', optimizer='sgd')
As with the collaborative filter, you can easily modify the code to use multiple regularizers and different learning algorithms, say Adamax or adam instead of SGD.
Neat.
