Task – Feedforward Neural Networks
You will implement a feedforward artificial neural network (ANN) within Python(using Keras) for the purposes of solving a binary classification task as a mini-research project. For this network, you will be provided a dataset from the finance sector. A description of the dataset is provided in the Data Fields sectionof this document below.
You are expected to appropriately read in the training data, construct an ANN, train the network, and then evaluateit on the testing data.
For this you should consider aspects of the network architecture, such as how many hidden layers and nodes are required,for an ‘optimal’ solution. When constructing your network you should only consider changing this parameter, leaving others stationary, and the solver as ‘SGD’. Largely the data has already been transformed ready for the task; however, you should consider how many inputs you wish to provide to the network, both feature-wise, and number of examples.
Alongside the Python code, you will write a small report (1500 words maximum) with references (Harvard style) outlining your solution, the architecture chosen, any processing of the dataset, as well as evaluative results. For the purposes of this report, you should carefully consider experimental design, showing comparisons between various different architectures you’ve tried,using evaluative metricsto demonstrate an overall good solution to the task.
You are provided a single CSV file for the purposes of this assignment. These data are heavilymodified from the Bank MarketingDataset available at the UCI Machine LearningRepository (Moro et al., 2014)
You can view the Data Description at the UCI Repository page. Where data originally had 3 or more attribute types for a categorical variable, these have been changed to numeric for you.
Moro, S., Laureano, R. and Cortez, P. (2014) Bank Marketing Data Set, UCI Machine Learning Repository. Available at: https://archive.ics.uci.edu/ml/datasets/bank+marketing.
A report outliningthe steps taken, on a high level, towards solving the classification task. This should include any data reading and data pre-processing, the construction of your ANN, training, as well as evaluations using the testingdata.
This report should include comparisons of various ANN architectures (hidden layers / nodes). Therefore, it’s important to present the various experiments (what is the architecture), provide some rationale behind the hypothesis (why you selected thatarchitecture to try), and an evaluative methodology to compare them (how will you select which architecture is best). If you found any ‘interesting’ results through your experiments, you should also present these.
The evaluation section of your report should evaluate the neural networks themselves towardsthe task, as well as form a conclusion on which architecture is best with appropriate justification. Commentary may be included in this sectionon the success of any
pre-processing or data manipulation steps you’ve taken. For example, this could be the impact that featureselection had on the overallsolution. This may be something to consider when setting out your variousexperiments.
Deliverable A PDF submission is required via Canvas with a maximum of 1500 words with references (Harvard style).