/Machine-Learning-Introduction-and-Classification

Deliverables relating to the Machine Learning Introduction and Classification University Unit

Primary LanguageJupyter NotebookMIT LicenseMIT

Machine Learning: Classification, Search and Optimisation

Author:

Matthias Bartolo 0436103L

Preview (Most Optimal Keyboard):


Description of Task:

This project aimed to develop an improved keyboard layout through the utilization of AI techniques, specifically a genetic algorithm. Drawing inspiration from the "Using AI to Create the Perfect Keyboard" project, a range of modifications and alternative approaches were incorporated. Departing from the arXiv abstract dataset utilized in the original project, an experimental investigation was conducted using books from Project Gutenberg, specifically focusing on the renowned text corpus of "Ben Hur".

Ben Hur Image

To enhance the genetic algorithm, a two-point crossover was introduced as an alternative to the original crossover operation. Furthermore, various mutation operations were designed and integrated into the algorithm to address its absence in the original project. The influence of this mutation operator on the optimization process for the keyboard layout was observed and evaluated.

Another modification under scrutiny was the implementation of elitism within the algorithm. By preserving the best-performing individuals from one generation to the next, this strategy aims to ensure the retention of successful keyboard layouts throughout the evolutionary process.

A thorough and comprehensive evaluation was undertaken to assess the effectiveness of the implemented approaches. This evaluation involved examining the effects of varying population sizes, crossover types and rates, mutation types and rates, and conducting comparisons with existing QWERTY and AZERTY layouts. Furthermore, the impact of incorporating elitism into the algorithm was analyzed.

The report commences by providing an introduction to the project, outlining the research context. The rationale behind selecting the "Ben Hur" text corpus from Project Gutenberg is discussed, and insights into the design decisions concerning the chromosomes employed in the genetic algorithm are provided. Detailed explanations are given regarding the choices made for crossover and mutation operators, as well as the incorporation of elitism into the algorithm.

Significant emphasis is placed on the evaluation phase within the report. This includes a comprehensive description of the experimental setup, encompassing various parameters such as population size, crossover, and mutation rates. Specific comparisons are made between the optimized layouts generated by the algorithm and the established QWERTY and/or AZERTY layouts. The anticipated outcomes are outlined prior to presenting the results, followed by an extensive discussion that delves into the implications and significance of the findings.

The conclusion section summarizes the notable observations and intriguing discoveries made throughout the project. The report offers a comprehensive overview of the work undertaken, encompassing the initial design decisions and culminating in the final evaluation. Through this in-depth analysis, the report demonstrates a well-executed study centered around AI-driven keyboard optimization, showcasing the potential for enhanced layout designs.

Deliverables (Please make sure that the following files, are in the same directory):

  1. dataset.txt - contains dataset file, which will be used by jupyter notebook
  2. dataset2.txt - contains dataset file, which will be used by jupyter notebook
  3. KeyboardImage.png - contains Keyboard Image file, which will be used by jupyter notebook
  4. Matthias Bartolo Machine Learning Assignment.ipnyb - jupyter notebook, which will hold the project code
  5. Matthias Bartolo Machine Learning Report.pdf - contains the assignment documentation
  6. Roboto-Black.ttf - contains font file, which will be used by jupyter notebook