{"action":"created","issue":{"url":"https://api.github.com/repos/dnouri/nolearn/issues/80","labels_url":"https://api.github.com/repos/dnouri/nolearn/issues/80/labels{/name}","comments_url":"https://api.github.com/repos/dnouri/nolearn/issues/80/comments","events_url":"https://api.github.com/repos/dnouri/nolearn/issues/80/events","html_url":"https://github.com/dnouri/nolearn/issues/80","id":71769461,"number":80,"title":"Non-mutually exclusive outcomes","user":{"login":"BrianMiner","id":8807554,"avatar_url":"https://avatars.githubusercontent.com/u/8807554?v=3","gravatar_id":"","url":"https://api.github.com/users/BrianMiner","html_url":"https://github.com/BrianMiner","followers_url":"https://api.github.com/users/BrianMiner/followers","following_url":"https://api.github.com/users/BrianMiner/following{/other_user}","gists_url":"https://api.github.com/users/BrianMiner/gists{/gist_id}","starred_url":"https://api.github.com/users/BrianMiner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BrianMiner/subscriptions","organizations_url":"https://api.github.com/users/BrianMiner/orgs","repos_url":"https://api.github.com/users/BrianMiner/repos","events_url":"https://api.github.com/users/BrianMiner/events{/privacy}","received_events_url":"https://api.github.com/users/BrianMiner/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-04-29T03:40:17Z","updated_at":"2015-05-10T15:46:35Z","closed_at":null,"body":"Is it possible to have non mutually exclusive outcomes in nolearn / lasagne? Specifically where there is a vector of outcomes for each training observation? Something along these lines? What would be a suitable loss function?\r\n\r\nimport numpy as np\r\n\r\nX=np.random.random((50, 10))\r\ny=np.random.randint(2, size=(50,3))\r\ny=np.cast['int32'](y)\r\n\r\nnum_classes = 3\r\nnum_features = X.shape[1]\r\n\r\nlayers0 = [('input', InputLayer),\r\n           ('dense0', DenseLayer),\r\n           ('output', DenseLayer)]\r\n\r\n\r\nnet0 = NeuralNet(layers=layers0,\r\n                 \r\n                 input_shape=(None, num_features),  \r\n                 dense0_num_units=3, \r\n                 \r\n                 output_num_units=num_classes,\r\n                 output_nonlinearity=sigmoid,\r\n                 \r\n                 objective_loss_function =categorical_crossentropy,\r\n                 \r\n                 update=nesterov_momentum,\r\n                 update_learning_rate=0.5,\r\n                 update_momentum=0.9,\r\n                 \r\n                 eval_size=0,\r\n                 verbose=1,\r\n                 max_epochs=50)\r\n\r\nnet0.fit(X, y)"},"comment":{"url":"https://api.github.com/repos/dnouri/nolearn/issues/comments/100658177","html_url":"https://github.com/dnouri/nolearn/issues/80#issuecomment-100658177","issue_url":"https://api.github.com/repos/dnouri/nolearn/issues/80","id":100658177,"user":{"login":"BrianMiner","id":8807554,"avatar_url":"https://avatars.githubusercontent.com/u/8807554?v=3","gravatar_id":"","url":"https://api.github.com/users/BrianMiner","html_url":"https://github.com/BrianMiner","followers_url":"https://api.github.com/users/BrianMiner/followers","following_url":"https://api.github.com/users/BrianMiner/following{/other_user}","gists_url":"https://api.github.com/users/BrianMiner/gists{/gist_id}","starred_url":"https://api.github.com/users/BrianMiner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BrianMiner/subscriptions","organizations_url":"https://api.github.com/users/BrianMiner/orgs","repos_url":"https://api.github.com/users/BrianMiner/repos","events_url":"https://api.github.com/users/BrianMiner/events{/privacy}","received_events_url":"https://api.github.com/users/BrianMiner/received_events","type":"User","site_admin":false},"created_at":"2015-05-10T15:46:35Z","updated_at":"2015-05-10T15:46:35Z","body":"Can this be done currently - can a vector of the target variable, as shown above, i.e. y=np.random.randint(2, size=(50,3))\r\ny=np.cast'int32'\r\n?"}}