联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Python编程Python编程

日期:2023-08-01 09:45

COMP9414 23T2

Artificial Intelligence

Assignment 2 - Multi-layer neural networks

Due: Week 10, Monday, 31 July 2023, 11:55 PM

1 Problem description

We want to model the evolution of biomass in a bioprocess, which is periodically fed with a compound A, resulting in an increase in the mass of living

matter (biomass) and a decrease - as it grows - in the existing substrate

(food). A schematic of the bioprocess can be seen in Figure 1.

When the bioprocess receives compound A, it increases the mass of living

matter and decreases the existing substrate as it grows. The dynamics of the

variables can be observed in Figure 2.

The problem, then, consists of using a multi-layer neural network to approximate the bioprocess, where compound A and substrate are considered

as inputs to the network and biomass as its output. To achieve this, the basic

rules of data preprocessing, neural network design, training, and validation

must be followed.

Three data files representing the inputs and the target are available, as

shown in Table 1.

1

Compound A

- Concentration of biomass

- Substrate

Figure 1: Bioprocess fed with compound A, which affects the concentration

of biomass and the existing substrate.

Compound A

Biomass

Substrate

grams

t

Figure 2: Dynamics of the process among the variables: compound A, substrate, and biomass.

2

Table 1: Files provided with the data.

File Bioprocess’s

meaning

Neural model’s

meaning

compoundA.txt Compound A First input

substrate.txt Substrate Second input

biomass.txt Biomass Output

2 Activities

2.1 Data preprocessing

In this section, it is expected you analyse the provided data and perform

any required preprocessing. Some of the tasks during preprocessing might

include the ones shown below; however, not all of them are necessary and

you should evaluate each of them against the results obtained.

(a) Identify variation range for input and output variables.

(b) Plot each variable to observe the overall behaviour of the bioprocess.

(c) In case outliers are detected correct the data accordingly. For instance,

as we are dealing with variables measured in grams, no value should

be less than zero. A simple correction is to replace such values with a

zero value.

(d) Split the data into two subsets: training and test.

2.2 Design of the neural network

In this section, it is expected you select and design a neural architecture for

biomass estimation. Consider the following steps.

(a) Design the multi-layer neural network. Given the number of training

samples, propose a neural architecture taking into account Ni – number

of inputs, Nh – number of units in the hidden layer, and No – number

of outputs.

(b) Decide the number of layers and their respective activation functions.

3

(c) Remember it’s recommended your network accomplish the maximal

number of parameters Nw < (number of samples)/10.

(d) Create the neural network using Keras and TensorFlow.

2.3 Training

In this section, you have to train your proposed neural network. Consider

the following steps.

(a) Decide the training parameters such as loss function, optimizer, batch

size, learning rate, and episodes.

(b) Train the neural model and verify the loss values during the process.

(c) Verify possible overfitting problems.

2.4 Validating the neural model

(a) Assess your results plotting the network response for the test inputs

against the test targets. For instance, Figure 3 shows the results for

400 points.

(b) Compute error indexes to complement the visual analysis. Use IA,

RMS, and RSD.

Figure 3: Real biomass and estimated biomass with a neural network.

• N: number of data samples.

• om: observations’ mean value.

• o

i = oi − om

• p

i = pi − om

3 Testing and discussing your code

As in the previous assignment, your code will be tested by tutors along with

you in a discussion session carried out in the last tutorial session in week 10.

You are expected to propose and build a multi-layer neural network to

estimate biomass in a bioprocess. The minimal output we expect to see is

a plot showing the real and estimated biomass for your test set (as shown if

Fig. 3) and a plot with the loss of the training and test sets. You will receive

2 marks for each of these plots. Additionally, you should compute the

error indexes for the test set. However, it’s fine if you want to include any

other outcome to highlight particular aspects when testing and discussing

your code with your tutor.

For marking your results, you should be prepared for simulating your

neural model with a generalisation set we have saved apart for that purpose.

Therefore, during the discussion, you should be ready to make some modifications to your code in order to run the test. These modifications to the

5

code might include loading new files, preparing the data as input for your

proposed neural network, plotting the simulation results against targets, and

computing the error indexes for the data provided.

As you need to compute IA, RMS, and RSD as output, we will test these

indexes with the generalisation set. You will receive 2 marks for each

index as follows: IA > 0.9, RMS < 0.1, and RSD < 0.3.

4 Submitting your assignment

You can do the assignment either individually or working in a couple with

a classmate. If you decide to work in a couple with a classmate in another

tutorial section, you need the approval of one of these two tutors, who will

conduct the discussion with you and your classmate. However, the other

tutor still needs to be informed by the student.

Your submission should be done by Moodle and consist of only one .py

file. If you work in a couple, only one person is required to submit the file.

However, the file should indicate on top as a comment the full name and

zID of the students. It is your responsibility to indicate the names, we will

not add people to a work after the deadline if you forget to include the names.

You can submit as many times as you like before the deadline – later

submissions overwrite earlier ones. After submitting your file a good practice

is to take a screenshot of it for future reference.

Late submission penalty: UNSW has a standard late submission

penalty of 5% per day from your mark, capped at five days from the assessment deadline, after that students cannot submit the assignment.

5 Deadline and questions

Deadline: Week 10, Monday 31st of July 2023, 11:55pm. Please use the

forum on Moodle to ask questions related to the project. However, you should

not share your code to avoid making it public and possible plagiarism.

Although we try to answer questions as quickly as possible, we might take

up to 1 or 2 business days to reply, therefore, last-moment questions might

not be answered timely.

6

6 Plagiarism policy

Your program must be entirely your own work. Plagiarism detection software

might be used to compare submissions pairwise (including submissions for

any similar projects from previous years) and serious penalties will be applied,

particularly in the case of repeat offences.

Do not copy from others. Do not allow anyone to see your code.

Please refer to the UNSW Policy on Academic Honesty and Plagiarism if you

require further clarification on this matter.

7


相关文章

版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp