{"id":21158348,"url":"https://github.com/ksalekk/mlp-nn","last_synced_at":"2026-04-24T18:35:24.485Z","repository":{"id":242428450,"uuid":"804362817","full_name":"ksalekk/mlp-nn","owner":"ksalekk","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-30T23:34:30.000Z","size":162,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T09:09:26.296Z","etag":null,"topics":["classification","multilayer-perceptron","neural-networks","numpy","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ksalekk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-22T13:01:33.000Z","updated_at":"2024-06-02T22:04:58.000Z","dependencies_parsed_at":"2024-06-03T00:51:35.032Z","dependency_job_id":"f5a71a5e-975f-4438-a39d-ff37faf93ebd","html_url":"https://github.com/ksalekk/mlp-nn","commit_stats":null,"previous_names":["ksalekk/mlp-nn"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksalekk%2Fmlp-nn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksalekk%2Fmlp-nn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksalekk%2Fmlp-nn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksalekk%2Fmlp-nn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ksalekk","download_url":"https://codeload.github.com/ksalekk/mlp-nn/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243599854,"owners_count":20317181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classification","multilayer-perceptron","neural-networks","numpy","python"],"created_at":"2024-11-20T12:21:28.676Z","updated_at":"2025-12-28T18:56:22.100Z","avatar_url":"https://github.com/ksalekk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Multilayer Perceptron Neural Network\n\n## Disclaimer\nThis app provides only information for educational purposes. This app is not medical or treatment advice, professional diagnosis, opinion, or services – and may not be treated as such by the user. As such, this app may not be relied upon for the purposes of medical diagnosis or as a recommendation for medical care or treatment. The information provided by this app is not a substitute for professional medical advice, diagnosis or treatment.\n\n## General\nMultilayer perceptron with backpropagation algorithm, implemented from stratch. Project developed for Neural Networks in Biomedicine course at the WUT.\n\n## Architecture\nNeural network is represented by *NeuralNetwork* object and it allows to maniupalate nn, e.g. set structure, learning params, start learning/testing process based on the specified dataset. *Layer* object represents the neural network layer (hidden or output) and allows to set layer params (inputs count, neurons/outputs count, activation function, bias). Every *Layer* object has weights matrix with *m x n* with weights for each input connection in the layer (*m-th* row contains *m-th* neuron inputs and *n-th* column contains *n-th* input in the layer). \n\n```\n                                               BIAS         IN_1       IN_2     ...     IN_n\n                                         ---                                                     ---\n                        NEURON_1        |      w_1_0        w_1_1      w_1_2    ...     w_1_n       |\n                                        |                                                           |\n                        NEURON_2        |      w_2_0        w_2_1      w_2_2    ...     w_2_n       |\n                                        |                                                           |\n                          ...           |       ...         ...        ...      ...      ...        |\n                                        |                                                           |\n                        NEURON_m        |      w_3_0        w_m_1      w_m_2    ...     w_m_n       |\n                                         ---                                                     ---\n```\n\n## Dataset\nThe source of the data to train and test the network is [Elter,Matthias. (2007). Mammographic Mass. UCI Machine Learning Repository](https://doi.org/10.24432/C53K6Z). Missing cell values were filled with the median of the column in which the cell is missing. The dataset was divided in a proportion ~70:30 for traning and testing data.\n\n## Results\nFor the structure given below and the learning rate of 0.4 the accuracy is ~0.75, the specificity ~0.71 and the sensitivity ~0.82.\nExample error functions in the learning process are given below.\n\n### Network scheme\n![nn-scheme](./images/nn-scheme.png)\n\n\n### Example error functions\n![err1](./images/err1.png)\n\n![err2](./images/err2.png)\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksalekk%2Fmlp-nn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fksalekk%2Fmlp-nn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksalekk%2Fmlp-nn/lists"}