Guest User

Untitled

a guest
Mar 24th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. ### Matrix Factorization + Bias ###
  2. # Input variables
  3. mfb_user_inp = Input(shape=(1,), dtype='int32', name = 'user_inp')
  4. mfb_prod_inp= Input(shape=(1,), dtype='int32', name = 'prod_inp')
  5.  
  6. mfb_User_Embedding = Embedding(input_dim = n_users, output_dim = latent_dim, name = 'user_embedding', input_length=1,embeddings_regularizer = regularizers.l2(1e-5))(mfb_user_inp)
  7. mfb_Prod_Embedding = Embedding(input_dim = n_prods, output_dim = latent_dim, name = 'item_embedding', input_length=1,embeddings_regularizer = regularizers.l2(1e-5))(mfb_prod_inp)
  8.  
  9. # Crucial to flatten an embedding vector!
  10. mfb_user_bias = Flatten()(Embedding(n_users, 1, input_length = 1)(mfb_user_inp))
  11. mfb_prod_bias = Flatten()(Embedding(n_prods, 1, input_length = 1)(mfb_prod_inp))
  12.  
  13. # Element-wise product of user and item embeddings
  14. mfb_predict_vector = merge([mfb_User_Embedding, mfb_Prod_Embedding], mode='mul')
  15. mfb_predict_vector = Flatten()(mfb_predict_vector)
  16. mfb_predict_vector = keras.layers.Add()([mfb_predict_vector, mfb_user_bias])
  17. #mfb_predict_vector = merge([mfb_predict_vector, mfb_user_bias], mode = 'sum')
  18. mfb_predict_vector = keras.layers.Add()([mfb_predict_vector, mfb_prod_bias])
  19. #mfb_predict_vector = merge([mfb_predict_vector, mfb_prod_bias], mode = 'sum')
  20.  
  21. # Final prediction layer
  22. mfb_prediction = Dense(1, activation='sigmoid', init='lecun_uniform', name = 'prediction')(mfb_predict_vector)
  23.  
  24. MF_model_bias = Model(input=[mfb_user_inp, mfb_prod_inp],output=mfb_prediction)
Add Comment
Please, Sign In to add comment