{"action":"created","issue":{"url":"https://api.github.com/repos/accord-net/framework/issues/151","repository_url":"https://api.github.com/repos/accord-net/framework","labels_url":"https://api.github.com/repos/accord-net/framework/issues/151/labels{/name}","comments_url":"https://api.github.com/repos/accord-net/framework/issues/151/comments","events_url":"https://api.github.com/repos/accord-net/framework/issues/151/events","html_url":"https://github.com/accord-net/framework/issues/151","id":109247926,"number":151,"title":"Learning algorithms should create the models by themselves","user":{"login":"cesarsouza","id":528455,"avatar_url":"https://avatars.githubusercontent.com/u/528455?v=3","gravatar_id":"","url":"https://api.github.com/users/cesarsouza","html_url":"https://github.com/cesarsouza","followers_url":"https://api.github.com/users/cesarsouza/followers","following_url":"https://api.github.com/users/cesarsouza/following{/other_user}","gists_url":"https://api.github.com/users/cesarsouza/gists{/gist_id}","starred_url":"https://api.github.com/users/cesarsouza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cesarsouza/subscriptions","organizations_url":"https://api.github.com/users/cesarsouza/orgs","repos_url":"https://api.github.com/users/cesarsouza/repos","events_url":"https://api.github.com/users/cesarsouza/events{/privacy}","received_events_url":"https://api.github.com/users/cesarsouza/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/accord-net/framework/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/accord-net/framework/milestones/1","html_url":"https://github.com/accord-net/framework/milestones/3.2","labels_url":"https://api.github.com/repos/accord-net/framework/milestones/1/labels","id":1332686,"number":1,"title":"3.2","description":null,"creator":{"login":"cesarsouza","id":528455,"avatar_url":"https://avatars.githubusercontent.com/u/528455?v=3","gravatar_id":"","url":"https://api.github.com/users/cesarsouza","html_url":"https://github.com/cesarsouza","followers_url":"https://api.github.com/users/cesarsouza/followers","following_url":"https://api.github.com/users/cesarsouza/following{/other_user}","gists_url":"https://api.github.com/users/cesarsouza/gists{/gist_id}","starred_url":"https://api.github.com/users/cesarsouza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cesarsouza/subscriptions","organizations_url":"https://api.github.com/users/cesarsouza/orgs","repos_url":"https://api.github.com/users/cesarsouza/repos","events_url":"https://api.github.com/users/cesarsouza/events{/privacy}","received_events_url":"https://api.github.com/users/cesarsouza/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":1,"state":"open","created_at":"2015-10-01T07:56:06Z","updated_at":"2016-08-20T14:40:45Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2015-10-01T07:56:10Z","updated_at":"2016-08-20T14:40:45Z","closed_at":"2016-08-20T14:40:45Z","body":"Right now, the standard framework approach for defining and training a new model are completely separated: \r\n\r\n - The user has first to define a model, specifying how many inputs and how many outputs the model should take, how many classes his multi-class/multi-label problem has, as well as select any model-specific options that the model should have. \r\n - Afterwards, the user has to create a new instance of a learning algorithm, passing the model to its constructor, and selecting any options specific to the learning algorithm;\r\n\r\nHowever, as @mathias-brandewinder pointed to me in the beginning of this year, we are complicating things because many of the details required to build the classifier are already available in the dataset that the user is trying to use (i.e. at least the number of inputs and outputs). \r\n\r\nThe solution for this would be to change slightly the current framework approach for defining models and learning problems; instead of defining them in a completely independent way, the learning algorithm should instead create the classifier from the data; **if** it hasn't been specified at its constructor.\r\n\r\nSo following this path, the approach would become:\r\n\r\n - The user defines his data as he wants (i.e. putting the correct number of columns, inputs, classes)\r\n - The user configures _some_ details of the learning algorithm (but not the number of inputs or outputs)\r\n- The user feeds the data to the learning algorithm\r\n- The learning algorithm creates the classifier model (instead of the user)\r\n\r\nThis way we can unite the best of both worlds and maintain a certain degree of compatibility."},"comment":{"url":"https://api.github.com/repos/accord-net/framework/issues/comments/241203749","html_url":"https://github.com/accord-net/framework/issues/151#issuecomment-241203749","issue_url":"https://api.github.com/repos/accord-net/framework/issues/151","id":241203749,"user":{"login":"cesarsouza","id":528455,"avatar_url":"https://avatars.githubusercontent.com/u/528455?v=3","gravatar_id":"","url":"https://api.github.com/users/cesarsouza","html_url":"https://github.com/cesarsouza","followers_url":"https://api.github.com/users/cesarsouza/followers","following_url":"https://api.github.com/users/cesarsouza/following{/other_user}","gists_url":"https://api.github.com/users/cesarsouza/gists{/gist_id}","starred_url":"https://api.github.com/users/cesarsouza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cesarsouza/subscriptions","organizations_url":"https://api.github.com/users/cesarsouza/orgs","repos_url":"https://api.github.com/users/cesarsouza/repos","events_url":"https://api.github.com/users/cesarsouza/events{/privacy}","received_events_url":"https://api.github.com/users/cesarsouza/received_events","type":"User","site_admin":false},"created_at":"2016-08-20T14:40:45Z","updated_at":"2016-08-20T14:40:45Z","body":"A common mechanism for learning/training models that doesn't require the manual specification of data dimensions and other parameters that could be inferred from the data has been added in release 3.2 for most classifier and regression classes."}}
{"actor":{"display_login":"cesarsouza"}}