Collection of codes related to our Final Year Project of developing AI driven chatbot application for PUCIT
The following topics are studied and implemented under the domain of Machine Learning.
Supervised learning, also known as supervised machine learning, is a subcategory of machine learning and artificial intelligence. It is defined by its use of labeled datasets to train algorithms that to classify data or predict outcomes accurately. Supervised Machine Learning is further divided into Regression and Classification.
Regression is a statistical method used to predict the value of the dependent variable based on the known value of the independent variable assuming the relationship between two or more variables. Regression is implemented in the following ways:
Linear and Mulitlinear Regression implemented using Sklearn's Ordinary Least Squares(OLS) Model
Linear and Mulitlinear Regression implemented using Gradient Descent Algorithm
Batched Gradient Descent is implemented using numpy. The working of BGD is explained step by step using toy dataset and then the implementation is done on real world dataset.
SGD takes a random instance of the training data at each step and computes the gradient. This makes it much faster than BGD as it processes much less data at a time.
This notebook explains the problems we face while implementing Gradient Descent. These problems include saddle point, vanishing gradient problem and exploding gradient problem.
Classification is a predictive modeling problem where the class label is anticipated for a specific example of input data. Classification is implemented in the following ways:
Detecting email text as Spam or Ham using Naive Bayes.
Titanic Survival Probability implemented using Gaussian Naive Bayes.
Detecting whether patient has heart disease or not using Logistic Regression.
Predicting Customer Purchases Based on Gender, Age, and Salary using Support Vector Machine.
Movies Recommendation System implemented using K-Nearest Neigbors.
Determining species of Iris flower using decision trees
Unsupervised learning is a type of algorithm that learns patterns from untagged data. Following topics are covered under it's domain.
Topic Modelling model implemented using Sklearn's Latent Dirichlet Allocation.
K-means Clustering model implemented using Sklearn's K-Means.
Word2Vec model implemented using numpy.
The following topics are studied and implemented under the domain of Deep Learning.
An introduction of topics that are necessary to know about before stepping into the world of deep learning, starting from Artificial Neural Networks.
A detailed explanation of what RNNs are, what are it's applications and the vanishing gradient problem which exists in it. Following topics are covered under RNN.
A detailed explanantion of LSTM, how it works and it's implementation.
Encoder Decoder Architecture with Attention mechanisms implemented in the Seq2Seq model.