{"action":"created","issue":{"url":"https://api.github.com/repos/Evizero/LearnBase.jl/issues/10","repository_url":"https://api.github.com/repos/Evizero/LearnBase.jl","labels_url":"https://api.github.com/repos/Evizero/LearnBase.jl/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/Evizero/LearnBase.jl/issues/10/comments","events_url":"https://api.github.com/repos/Evizero/LearnBase.jl/issues/10/events","html_url":"https://github.com/Evizero/LearnBase.jl/pull/10","id":136811891,"number":10,"title":"WIP/RFC: first draft of reorg","user":{"login":"tbreloff","id":933338,"avatar_url":"https://avatars.githubusercontent.com/u/933338?v=3","gravatar_id":"","url":"https://api.github.com/users/tbreloff","html_url":"https://github.com/tbreloff","followers_url":"https://api.github.com/users/tbreloff/followers","following_url":"https://api.github.com/users/tbreloff/following{/other_user}","gists_url":"https://api.github.com/users/tbreloff/gists{/gist_id}","starred_url":"https://api.github.com/users/tbreloff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbreloff/subscriptions","organizations_url":"https://api.github.com/users/tbreloff/orgs","repos_url":"https://api.github.com/users/tbreloff/repos","events_url":"https://api.github.com/users/tbreloff/events{/privacy}","received_events_url":"https://api.github.com/users/tbreloff/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-26T20:52:09Z","updated_at":"2016-02-29T22:52:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Evizero/LearnBase.jl/pulls/10","html_url":"https://github.com/Evizero/LearnBase.jl/pull/10","diff_url":"https://github.com/Evizero/LearnBase.jl/pull/10.diff","patch_url":"https://github.com/Evizero/LearnBase.jl/pull/10.patch"},"body":"Don't merge yet.\r\n\r\nMany of the changes here are naming-related.  See #8 for a discussion.  Summary:\r\n\r\n- [x] New loss type tree: \r\n```\r\nLoss,\r\n    PredictionLoss,\r\n        MarginBasedLoss,\r\n        DistanceBasedLoss,\r\n    ParameterLoss\r\n```\r\n- [x] Penalty renamed to ParameterLoss\r\n- [x] removed dependence on UnicodePlots, added dependence on Requires\r\n- [x] first draft of `ParamUpdater`s (copied and updated from https://github.com/tbreloff/OnlineAI.jl/blob/dev/src/nnet/gradient.jl)\r\n- [x] Remove submodules (replace with `@autocomplete`... see below)\r\n- [x] Add concrete `Activation`: tanh, softsign, relu, etc (copy/update from OnlineAI)\r\n\r\nTODO:\r\n\r\n- [ ] Remove `AbstractOptimizer` in favor of `ParamUpdater`\r\n- [ ] Rename `Predictor` to `PredictionFunction`\r\n- [ ] Decide on best interface for param updates\r\n- [ ] Rename/redesign/remove `EmpiricalRisk`\r\n- [ ] Decide on `Transformation` design\r\n- [ ] Rename `yt` to `agreement`\r\n- [ ] Change Real to Number, 1 to ones, etc in several places\r\n\r\n\r\n### Autocomplete macro:\r\n\r\nAlternative pattern to submodules:\r\n```\r\njulia> module A\r\n       type L2DistLoss end\r\n       export L2DistLoss, LossFunctions\r\n       type Losses\r\n           L2DistLoss::DataType\r\n       end\r\n       const LossFunctions = Losses(L2DistLoss)\r\n       end\r\nWARNING: replacing module A\r\nA\r\n\r\njulia> using A\r\n\r\njulia> LossFunctions.T\r\nA.T\r\n\r\njulia> T\r\nA.T\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/Evizero/LearnBase.jl/issues/comments/190435856","html_url":"https://github.com/Evizero/LearnBase.jl/pull/10#issuecomment-190435856","issue_url":"https://api.github.com/repos/Evizero/LearnBase.jl/issues/10","id":190435856,"user":{"login":"tbreloff","id":933338,"avatar_url":"https://avatars.githubusercontent.com/u/933338?v=3","gravatar_id":"","url":"https://api.github.com/users/tbreloff","html_url":"https://github.com/tbreloff","followers_url":"https://api.github.com/users/tbreloff/followers","following_url":"https://api.github.com/users/tbreloff/following{/other_user}","gists_url":"https://api.github.com/users/tbreloff/gists{/gist_id}","starred_url":"https://api.github.com/users/tbreloff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbreloff/subscriptions","organizations_url":"https://api.github.com/users/tbreloff/orgs","repos_url":"https://api.github.com/users/tbreloff/repos","events_url":"https://api.github.com/users/tbreloff/events{/privacy}","received_events_url":"https://api.github.com/users/tbreloff/received_events","type":"User","site_admin":false},"created_at":"2016-02-29T22:52:28Z","updated_at":"2016-02-29T22:52:28Z","body":"These are all good notes... thanks.  (and I'm glad to see you're looking at my code in detail ;)  "}}