Post-grad AI & AI programming coursework, neural network training and evaluation. Achieved 88%
Go to file
2021-05-04 15:24:37 +01:00
.vscode adding graphs, some writing 2021-04-28 21:57:13 +01:00
graphs submitted 2021-05-04 15:24:37 +01:00
matlab template MatLab script from nnstart, saved dataset to csv for possible py use 2021-03-02 19:21:47 +00:00
report submitted 2021-05-04 15:24:37 +01:00
results random exp2 and exp3 data 2021-05-04 07:19:07 +01:00
.gitattributes Initial commit 2021-03-02 19:05:45 +00:00
.gitignore adding graphs, some writing 2021-04-28 21:57:13 +01:00
features.csv template MatLab script from nnstart, saved dataset to csv for possible py use 2021-03-02 19:21:47 +00:00
nbgen began writing report, added nbconvert script 2021-04-06 21:15:26 +01:00
nncw.ipynb submitted 2021-05-04 15:24:37 +01:00
nncw.py submitted 2021-05-04 15:24:37 +01:00
pyproject.toml adding data, writing, added LR range for exp2 2021-05-03 17:48:15 +01:00
README.md adding exp1/2 data, writing 2021-04-30 20:51:04 +01:00
scratchpad.ipynb exp2 agreement, individual accuracy 2021-03-26 20:01:05 +00:00
targets.csv template MatLab script from nnstart, saved dataset to csv for possible py use 2021-03-02 19:21:47 +00:00

Shallow Neural Network Training Coursework

Evaluating a neural network using the MatLab cancer_dataset. Development contained in the nncw.ipynb notebook.

  1. Evaluate the network's tendency to overfit by varying the number of epochs and hidden layers being used
  2. Multiple classifier performance using majority vote
  3. Repeat 2 with two different optimisers (trainlm, trainrp)
  4. Extension: Distinguish between two equi-probable classes of overlapping 2D Gaussians

Image

Timing

exp 1

CPU: 2min 36s ± 1.66 s per loop (mean ± std. dev. of 2 runs, 2 loops each)

GPU: 3min 5s ± 2.95 s per loop (mean ± std. dev. of 2 runs, 2 loops each)

exp 2

CPU: 26 s ± 62.9 ms per loop (mean ± std. dev. of 2 runs, 2 loops each)

GPU: 57.6 s ± 46.7 ms per loop (mean ± std. dev. of 2 runs, 2 loops each)

exp 3

CPU: 1min 19s ± 1.6 s per loop (mean ± std. dev. of 2 runs, 2 loops each)

GPU: 3min 25s ± 280 ms per loop (mean ± std. dev. of 2 runs, 2 loops each)