{
  "fetched_at": "2026-10-19T22:33:05Z",
  "source_url": "https://www.kaggle.com/competitions/docum-classif/data",
  "pages": [
    {
      "name": "data-description",
      "content": "This file contains, in matlab format, \n\n- A matrix Xts of dimension 43586x13960 where each row corresponds to a word and each column to a document. \n\n- A vector yts of dimension 13960x1 that provides the class into which each column of Xts belongs to. There are 20 classes so that yts(i) in {1,2,...20} for all i. \n\n- A matrix Xvr of dimension 43586x5989 which is the validation test for which you have to provide predictions. \n\nI have also attached an example of a submission file where all 5989 documents are predicted to belong to the first topic. \n\n**IMPORTANT: Due an issue in Matlab, I have replaced all categories from 1,2,...20 to 101,201,...2001 (*100+1).**",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "**Goals of the project and Report**\n\nThe first goal of this project is to provide a classifier for documents using a neural network with one layer a.k.a. a perceptron, which is a classifier based on a non-linear activation applied to a linear model. \nThe second goal is to compare two methods to achieve the first goal: standard gradient descent (GD) and stochastic gradient descent (SGD) on this problem. You should discuss the effectiveness of these methods: which one would you recommend in which situation? \nYou report should briefly present the problem, describe these three methods, show the results and discuss them. It should contain three main sections: 1. Introduction, 2. Methods, 3. Comparison and Discussion. \n\n\n**Problem description**\n\nFor each document x{i} (i=1,2,...,n), you are given its class f(i) in {1,2,...,r} where the function f : {1,...,n} --&gt; {1,...,r} : i --&gt; f(i) gives the topic of document i. \n\nYou want to find the parameters (W,b) that minmize \n\nsum__i  L( phi(W^T x{i} + b) , y{i} ) [+ lambda ||W||_F^2]\n\nwhere \n\n* y_{i}=e_{f(i)}, where e{j} is the jth unit vector (1 in position j, 0 otherwise), \n\n* L(a,b) is the loss; for example, \n  L(a,b) = ||a-b||^2 (least squares), \n\t    \n* phi(.) is the non-linear activation of the neural network; for example, \n  phi(x) = max(0, x) (rectified linear unit ReLU), or \n         phi(x)  = 1 / (1 + exp(-a*x) ), where a is a constant \t\t\t\t\t(logistic function). \n\n\nYou will be evaluated on the proportion of properly estimated topics for documents for which you do not know the topic. \n\nIn this project, we focus on L(a,b) = ||a-b||^2 (least squares) and phi(x)  = 1 / (1 + exp(-a*x) ) (logistic function). \n\n\n**Going further**\n\nIf you have time, there are numerous avenues to explore this problem further; in particular analyzing the effect of the different parameters on the performance of the method: \n- the learning rate, \n- the parameter in the sigmoid a, \n- the non-linear activation, \n- the objective function, \n- the number of layers, \n- the initial point chosen for the start the algorithm. \nThe use of regularizers (to avoid overfitting) could also be considered. ",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "The quality is evaluated using the percentage of correctly classified documents within the 20 categories. ",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": " - Don't cheat!\n - Apply yourself!\n - Have fun!",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}