1. Homepage
  2. Programming
  3. COMP5328 - Advanced Machine Learning Assignment 1: Non-negative Matrix Factorization

COMP5328 - Advanced Machine Learning Assignment 1: Non-negative Matrix Factorization

Engage in a Conversation
SydneyCOMP5328Advanced Machine LearningNon-negative Matrix FactorizationPython

COMP5328 - Advanced Machine Learning CourseNana.COM

Assignment 1 CourseNana.COM

Due: 08/10/2023, 11:59PM CourseNana.COM

This assignment is to be completed in groups of 2 to 3 students. It is worth 25% of your total mark. CourseNana.COM

1 Objective CourseNana.COM

The objective of this assignment is to implement Non-negative Matrix Factorization (NMF) algorithms and analyze the robustness of NMF algorithms when the dataset is contaminated by large magnitude noise or corruption. More specifically, you should implement at least two NMF algorithms and compare their robustness. CourseNana.COM

2 Instructions
2.1 Dataset description CourseNana.COM

In this assignment, you need to apply NMF algorithms on two real-world face image datasets: (1) ORL dataset1; (2) Extended YaleB dataset2. CourseNana.COM

ORL dataset: it contains 400 images of 40 distinct subjects (i.e., 10 images per subject). For some subjects, the images were taken at different times, varying the lighting, facial expressions, and facial details (glasses / no glasses). All the images were taken against a dark homogeneous background with the subjects in an upright, frontal position. All images are cropped and resized to 92×112 pixels. CourseNana.COM

Extended YaleB dataset: it contains 2414 images of 38 subjects under 9 poses and 64 illumination conditions. All images are manually aligned, cropped, and then resized to 168×192 pixels. CourseNana.COM

1 https://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html 2 http://vision.ucsd.edu/ iskwak/ExtYaleDatabase/ExtYaleB.html CourseNana.COM

1 CourseNana.COM

Figure 1: An example face image and its occluded versions by b × b-blocks with b = 10,12, and 14 pixels. CourseNana.COM

Note: we provide a tutorial for this assignment, which contains example code for loading a dataset to numpy array. Please find more details in assignment1.ipynb. CourseNana.COM

2.2 Assignment tasks
1. You need to implement at least two Non-negative Matrix Factorization (NMF) CourseNana.COM

algorithms: CourseNana.COM

  • You should implement at least two NMF algorithms with at least one not taught in this course (e.g., L1-Norm Based NMF, Hypersurface Cost Based NMF, L1-Norm Regularized Robust NMF, and L2,1-Norm Based NMF). CourseNana.COM

  • For each algorithm, you need to describe the definition of cost function as well as the optimization methods used in your implementation. CourseNana.COM

    2. You need to analyze the robustness of each algorithm on two datasets: CourseNana.COM

  • You are allowed to design your own data pre-processing method (if CourseNana.COM

    necessary). CourseNana.COM

  • Youneedtouseablock-occlusionnoisesimilartothoseshowninFigure1. The noise is generated by setting the pixel values to be 255 in the block. You should design your own value for b (not necessary to be 10,12 or 14). You are also encouraged to design your own noise other than the block-occlusion noise. CourseNana.COM

  • Youneedtodemonstrateeachtypeofnoiseusedinyourexperiment(show the original image as well as the image contaminated by noise). CourseNana.COM

  • You should carefully choose the NMF algorithms and design experiment settings to clearly show the different robustness of the algorithms you have implemented. CourseNana.COM

    2 CourseNana.COM

3. You are only allowed to use the python standard library, numpy and scipy (if necessary) to implement NMF algorithms. CourseNana.COM

2.3 Programming and External Libraries CourseNana.COM

This assignment is required to be finished by Python3. When you implement NMF algorithms, you are not allowed to use external libraries which contains NMF implementations, such as scikit-learn, and Nimfa (i.e., you have to implement the NMF algorithms by yourself). You are allowed to use scikit-learn for evaluation only (please find more details in assignment1.ipynb). If you have any ambiguity whether you can use a particular library or a function, please post on canvas under the Assignment 1 thread. CourseNana.COM

2.4 Evaluate metrics CourseNana.COM

To compare the performance and robustness of different NMF algorithms, we provide three evaluation metrics: (1) Root Means Square Errors; (2) Average Accuracy; (3) Normalized Mutual Information. For all experiments, you need to use at least two metrics, i.e., Root Means Square Errors and Average Accuracy. CourseNana.COM

  • RootMeansSquareErrors(RMSE):letXdenotethecontaminateddataset(by adding noise), and 𝑋 ̂ denote the clean dataset with N is number of rows × number of columns. Let 𝐷 and 𝑅 denote the factorization results on 𝑋 ̂ , the Root Means Square Errors then can be defined as follows: CourseNana.COM

    𝑅𝑀𝑆𝐸 = *! ‖ 𝑋 ̂ − 𝐷𝑅‖$ (1) "# CourseNana.COM

  • Average Accuracy: You need to perform some clustering algorithms (i.e., K- means) with num clusters equal to num classes. Each example is assigned with the cluster label (please find more details in assignment1.ipynb). Lastly, you can evaluate the accuracy of predictions Ypred as follows: CourseNana.COM

    𝐴𝑐𝑐(𝑌,𝑌 )=!) {𝑌 ==𝑌(𝑖)} (2) CourseNana.COM

%&'( ) ,-! (%&'()(,) CourseNana.COM

NormalizedMutualInformation(NMI):
𝑁𝑀𝐼9𝑌, 𝑌 : = $∗/01,1!"#$3 (3) CourseNana.COM

4(1)540 1!"#$3 CourseNana.COM

where I,·) is mutual information and H(·) is entropy.
Note: we expect you to have a rigorous performance evaluation. To provide an estimate CourseNana.COM

of the performance of the algorithms in the report, you can repeat multiple times (e.g., CourseNana.COM

3 CourseNana.COM

5 times) for each experiment by randomly sampling 90% data from the whole dataset and average the metrics on different subset. You are also required to report the standard deviations. CourseNana.COM

3 Report
The report should be organized like research papers, and should contain the following CourseNana.COM

sections: CourseNana.COM

  • Inabstract,youshouldbrieflyintroducethetopicofthisassignmentanddescribe the organization of your report. CourseNana.COM

  • In introduction, you should first introduce the main idea of NMF as well as its applications. You should then give an overview of the methods you want to use. CourseNana.COM

  • In related work, you are expected to review the main idea of related NMF algorithms (including their advantages and disadvantages). CourseNana.COM

  • In methods, you should describe the details of your method (including the definition of cost functions as well as optimization steps). You should also describe your choices of noise and you are encouraged to explain the robustness of each algorithm from theoretical view. CourseNana.COM

  • Inexperiment,firstly,youshouldintroducetheexperimentalsetup(e.g.,datasets, algorithms, and noise used in your experiment for comparison). CourseNana.COM

    Second, you should show the experimental results and give some comments. CourseNana.COM

  • In conclusion, you should summarize your results and discuss your insights for future work. CourseNana.COM

  • In reference, you should list all references cited in your report and formatted all references in a consistent way. CourseNana.COM

    The layout of the report:
    Font:TimesNewRoman;Title:fontsize14;Body:fontsize12 CourseNana.COM

Length: Ideally 10 to 15 pages - maximum 20 pages CourseNana.COM

Note: You are encouraged to use LaTeX. Optionally, a MS-Word template is provided. CourseNana.COM

4 CourseNana.COM

4 Submissions CourseNana.COM

This assignment is a group task, which means it's necessary to of>icially enroll your group on the Canvas platform prior to submitting the assignment. Please go to Canvas->People->Assignment 1-Group to register your group. CourseNana.COM

The submission contains two parts: source code and report. Detailed instructions are as follows: CourseNana.COM

1. Go to Canvas and upload the following files. CourseNana.COM

1. report (a pdf file): the report should include each member’s details (student id and name).
2.
code (a folder) as zip file CourseNana.COM

i. algorithm (a sub-folder): your code could be multiple files inside algorithm sub-folder. CourseNana.COM

ii. data (an empty sub-folder): although two datasets should be inside the data folder, please do not include them in the zip file. We will copy two datasets to the data folder when we test the code. CourseNana.COM

  1. Only one student needs to submit the report as pdf file and code as zip file which must be named as student ID numbers of all group members separated by underscores. CourseNana.COM

    E.g., “xxxxx_xxxxx_xxxxx_code.zip and xxxxx_xxxxx_xxxxx_report.pdf”. CourseNana.COM

  2. Your submission should include the report and the code. A plagiarism checker will be used. CourseNana.COM

  3. Youneedtoclearlyprovideinstructionsonhowtorunyourcodeintheappendix of the report. CourseNana.COM

  4. Indicate the contribution of each group member. CourseNana.COM

  5. A penalty of minus 5 (5%) marks per each day after due (email late submissions to TA and confirm late submission dates with TA). Maximum delay is 5 days, Assignments more than 5 days late will get 0. CourseNana.COM

    5 CourseNana.COM

5 Plagiarism CourseNana.COM

  • Please read the University Policy on Academic Honesty carefully: http://sydney.edu.au/elearning/student/EI/academic_honesty.shtml CourseNana.COM

  • All cases of academic dishonesty and plagiarism will be investigated. CourseNana.COM

  • There is a new process and a centralised University system and database. CourseNana.COM

  • Three types of offences: CourseNana.COM

    1. Plagiarism – When you copy from another student, website, or other source. This includes copying the whole assignment or only a part of it. CourseNana.COM

    2. Academic Dishonesty – When you make your work available to another CourseNana.COM

      student to copy (the whole assignment or a part of it). There are other CourseNana.COM

      examples of academic dishonesty. CourseNana.COM

    3. Misconduct - When you engage another person to complete your CourseNana.COM

      assignment (or a part of it), for payment or not. This is a very serious matter, and the Policy requires that your case is forwarded to the University Registrar for investigation. CourseNana.COM

  • The penalties are severe and include: CourseNana.COM

    1. A permanent record of academic dishonesty, plagiarism, and misconduct CourseNana.COM

      in the University database and on your student file. CourseNana.COM

    2. Mark deduction, ranging from 0 for the assignment to Fail for the course. CourseNana.COM

    3. Expulsion from the University and cancelling of your student visa. CourseNana.COM

  • When there is copying between students, note that both students are penalised – the student who copies and the student who makes his/her work available for copying. CourseNana.COM

  • It is noted that only 30% (including references) is acceptable. The high plagiarism will be reported to the school. CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
Sydney代写,COMP5328代写,Advanced Machine Learning代写,Non-negative Matrix Factorization代写,Python代写,Sydney代编,COMP5328代编,Advanced Machine Learning代编,Non-negative Matrix Factorization代编,Python代编,Sydney代考,COMP5328代考,Advanced Machine Learning代考,Non-negative Matrix Factorization代考,Python代考,Sydneyhelp,COMP5328help,Advanced Machine Learninghelp,Non-negative Matrix Factorizationhelp,Pythonhelp,Sydney作业代写,COMP5328作业代写,Advanced Machine Learning作业代写,Non-negative Matrix Factorization作业代写,Python作业代写,Sydney编程代写,COMP5328编程代写,Advanced Machine Learning编程代写,Non-negative Matrix Factorization编程代写,Python编程代写,Sydneyprogramming help,COMP5328programming help,Advanced Machine Learningprogramming help,Non-negative Matrix Factorizationprogramming help,Pythonprogramming help,Sydneyassignment help,COMP5328assignment help,Advanced Machine Learningassignment help,Non-negative Matrix Factorizationassignment help,Pythonassignment help,Sydneysolution,COMP5328solution,Advanced Machine Learningsolution,Non-negative Matrix Factorizationsolution,Pythonsolution,