This repository will consist of all the programming assessments i had for a Wits University honours course(Adaptive Computation and Machine Learning)
Implement linear regression and see it work on a simple dataset of our choice. Furthermore what was required is:
- Basic implementation of linear regression
- Exploring the effect of different learning rates on convergence
- Implementation of feature scaling, feature standardization and regularization for improved learning
- Data visualization to understand the working of algorithm and other steps (applicable to all the above stages)
Implementing a neural network from first principles and exploring use of different activation functions and different network architectures. Furthermore what was required is:
- Basic implementation of neural network trained using back-propagation
- Provide clear comments for each sections/phases of your code.
- Exploring the effect of different activation functions
- You are required to implement at least two activation functions and provide visualizations to help understand their impact/use.
- Exploring the effect of network size on generalizability (eg. number of hidden layers, number of hidden neurons)
- You are required to explore at least two options (eg. two hidden layers vs one hidden layer, x neurons vs y neurons in the hidden layer/layers)
- Effective use of data visualization and analysis of the results to understand the working of algorithm and other steps
- This is applicable to all the above stages. eg. learning curves, no. of hidden layers/neurons vs convergence, activation functions etc.
Research and implement at least two machine learning algorithms. Furthermore what was required is:
- Explore the different machine learning paradigms, tools, algorithms that can be used to solve the recognised project idea/question
- Finalise on a ML technique/algorithm.Note: You are required to only explore one model/algorithm. However, if you do want to perform a comparative analysis between couple of algorithms you are free to do so.
- Implement the baseline algorithms, run the experiments and understand the first phase of outcomes.
- Employ optimization techniques(for both model parameters, algorithm parameters).
- Analyse the final results.