{"action":"created","issue":{"url":"https://api.github.com/repos/collinhundley/Swift-AI/issues/25","labels_url":"https://api.github.com/repos/collinhundley/Swift-AI/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/collinhundley/Swift-AI/issues/25/comments","events_url":"https://api.github.com/repos/collinhundley/Swift-AI/issues/25/events","html_url":"https://github.com/collinhundley/Swift-AI/issues/25","id":123191089,"number":25,"title":"What needs work on?","user":{"login":"KacheFlowe","id":2131713,"avatar_url":"https://avatars.githubusercontent.com/u/2131713?v=3","gravatar_id":"","url":"https://api.github.com/users/KacheFlowe","html_url":"https://github.com/KacheFlowe","followers_url":"https://api.github.com/users/KacheFlowe/followers","following_url":"https://api.github.com/users/KacheFlowe/following{/other_user}","gists_url":"https://api.github.com/users/KacheFlowe/gists{/gist_id}","starred_url":"https://api.github.com/users/KacheFlowe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KacheFlowe/subscriptions","organizations_url":"https://api.github.com/users/KacheFlowe/orgs","repos_url":"https://api.github.com/users/KacheFlowe/repos","events_url":"https://api.github.com/users/KacheFlowe/events{/privacy}","received_events_url":"https://api.github.com/users/KacheFlowe/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-12-21T00:01:36Z","updated_at":"2015-12-22T06:44:36Z","closed_at":null,"body":"Hi. Since Github eliminated private messaging I find it difficult to comunicate with developers. I'm just wondering if there's a feature I can tackle or code I can take off yoru plate."},"comment":{"url":"https://api.github.com/repos/collinhundley/Swift-AI/issues/comments/166531133","html_url":"https://github.com/collinhundley/Swift-AI/issues/25#issuecomment-166531133","issue_url":"https://api.github.com/repos/collinhundley/Swift-AI/issues/25","id":166531133,"user":{"login":"collinhundley","id":9559558,"avatar_url":"https://avatars.githubusercontent.com/u/9559558?v=3","gravatar_id":"","url":"https://api.github.com/users/collinhundley","html_url":"https://github.com/collinhundley","followers_url":"https://api.github.com/users/collinhundley/followers","following_url":"https://api.github.com/users/collinhundley/following{/other_user}","gists_url":"https://api.github.com/users/collinhundley/gists{/gist_id}","starred_url":"https://api.github.com/users/collinhundley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/collinhundley/subscriptions","organizations_url":"https://api.github.com/users/collinhundley/orgs","repos_url":"https://api.github.com/users/collinhundley/repos","events_url":"https://api.github.com/users/collinhundley/events{/privacy}","received_events_url":"https://api.github.com/users/collinhundley/received_events","type":"User","site_admin":false},"created_at":"2015-12-22T06:44:36Z","updated_at":"2015-12-22T06:44:36Z","body":"I've merged [PR #23](https://github.com/collinhundley/Swift-AI/pull/23). This will allow everybody to continue with @perlfly 's method of handling multiple hidden layers and support for deep learning.\r\n\r\nPlease keep performance in mind when adding any new code.  Although readability is an important characteristic, for this particular library I would like to make performance an even higher priority.  For large neural networks, even microseconds can add up very quickly so it's important that we keep the calculations as efficient as possible.  For this reason, we need **excellent** documentation to keep the code maintainable.  Don't be afraid of excessive comments - make note of anything that might help another developer understand your logic.\r\n\r\nIf anybody is looking for something to tackle, I would love to see Softmax activation working.  I began implementing it, but got a little hung up with applying its derivative during backpropagation.  See the FIXME under 'Calculate output errors' in the `backpropagate` method.  Currently Softmax normalizes the outputs correctly, but it always converges on a wrong answer, which suggests that it's probably a backpropagation issue.  Ultimately it should be used for the 'Handwriting' example (trainer in the OS X app, classifier in the iOS app)."}}