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.