pgomez-a / multilayer-perceptron

This project is an introduction to artificial neural networks, with the implementation of a multilayer perceptron.

Home Page:https://www.linkedin.com/in/pgomez-a/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

multilayer-perceptron

multilayer-perceptron

If you want to learn more about IT topics, I invite you to join my Patreon channel and visit my website: IA Notes

With this project we are going to implement a multilayer perceptron, in order to predict whether a cancer is malignant or benign on a dataset of breast cancer diagnosis in the Wisconsin. The goal of this project is to give us a first approach to artificial neural networks, and to made us implement the algorithms at the heart of the training process.

breast cancer

Introduction

Breast cancer is cancer that develops from breast tissue, most commonly in the cells that line the milk ducts of the breast. Breast cancer happens when abnormal cells in the breast begin to grow and divide in an uncontrolled way and eventually form a tumour. It mainly affects women, but men can get it too.

Around 70% of breast cancers have no special features when the cells are looked at under the microscope. They are called invasive breast cancer no special type (NST). Mammography has assisted in reducing breast cancer-related deaths by providing early detection when cancer is still treatable. However, it is less sensitive in women with extremely dense breast tissue than fatty breast tissue. Additionally, women with extremely dense breasts are three to six times more likely to develop breast cancer than women with almost entirely fatty breasts and two times more likely than the average woman.

With Machine Learning, medical professionals can quickly and accurately sort through breast MRIs in patients with dense breast tissue to eliminate those without cancer. Supplemental screening in women with dense breast tissue increased the sensitivity of cancer detection.

Objective

To carry out this project, we are going to train an artificial neural network that will be able to detect breast cancer. The features of the dataset describe the characteristics of a breast mass cell nucleus extracted with fine-needle aspiration. In this way, we are going to go through two major stages to complete our project:

  • Data Analysis
    • Data Cleaning
    • Data Visualization
  • Model Implementation
    • Model Training
    • Model Evaluation

How to use it?

The training program will use backpropagation and gradient descent to learn on the training dataset and will save the model (network topology and weights) at the end of its execution:

python train_network.py <dataset> <split_proportion>

learing_curve

The prediction program will load the weights learned in the previous phase, perform a prediction on a given set (which will also be loaded), then evaluate it using the binary cross-entropy error function:

python evaluate_network.py <dataset> <weights_file>

evaluate_network

About

This project is an introduction to artificial neural networks, with the implementation of a multilayer perceptron.

https://www.linkedin.com/in/pgomez-a/

License:MIT License


Languages

Language:Python 100.0%