class_docstr: WideDeep is a context-based recommendation model.
  It jointly trains wide linear models and deep neural networks to combine the benefits
  of memorization and generalization for recommender systems. The wide component is a generalized linear model
  of the form :math:`y = w^Tx + b`. The deep component is a feed-forward neural network. The wide component
  and deep component are combined using a weighted sum of their output log odds as the prediction,
  which is then fed to one common logistic loss function for joint training.
class_docstr_tok: ["WideDeep","is","a","context-based","recommendation","model",".","It","jointly","trains","wide","linear","models","and","deep","neural","networks","to","combine","the","benefits","of","memorization","and","generalization","for","recommender","systems",".","The","wide","component","is","a","generalized","linear","model","of","the","form",":","math",":","`","y","=","w^Tx","+","b","`",".","The","deep","component","is","a","feed-forward","neural","network",".","The","wide","component","and","deep","component","are","combined","using","a","weighted","sum","of","their","output","log","odds","as","the","prediction",",","which","is","then","fed","to","one","common","logistic","loss","function","for","joint","training","."]
code: def __init__(self, config, dataset):
      super(WideDeep, self).__init__(config, dataset)
  
      # load parameters info
      self.mlp_hidden_size = config["mlp_hidden_size"]
      self.dropout_prob = config["dropout_prob"]
  
      # define layers and loss
      size_list = [
          self.embedding_size * self.num_feature_field
      ] + self.mlp_hidden_size
      self.mlp_layers = MLPLayers(size_list, self.dropout_prob)
      self.deep_predict_layer = nn.Linear(self.mlp_hidden_size[-1], 1)
      self.sigmoid = nn.Sigmoid()
      self.loss = nn.BCEWithLogitsLoss()
  
      # parameters initialization
      self.apply(self._init_weights)
  
file_path: RecBole/recbole/model/context_aware_recommender/widedeep.py
imports: import torch.nn
  from torch.nn.init import xavier_normal_, constant_
  from recbole.model.abstract_recommender import ContextRecommender
  from recbole.model.layers import MLPLayers
label_desc: Use image node_id 1 to create a new WideDeep object from inherited base classes: ContextRecommender with example: obj = WideDeep(config, dataset)