/Machine_Learning_2021

This repo is for ML homework in the spring semester studying in NCTU.

Primary LanguagePythonMIT LicenseMIT

NCTU-ML_2021

This repo is for ML homework in the spring semester studying in NCTU.

Regularized Linear Model Regression (link)

  • Apply LSE and Newton method to do regularized linear model regression.

Naive Bayes Classifier and Online Learning (link)

  • Apply naive Bayes classifier to classify MNIST handwritten digit.
  • Apply online learning to learn the beta distribution of the parameter p of the coin tossing trials

Bayesian Linear Regression (link)

  • Generate data from normal distribution
  • Sequentially estimating the mean and variance using online learning algorithm.
  • Applying Bayesian linear regression to update the posterior and predictive distribution.

Logistic Regression and EM Algorithm (link)

  • Apply logistic regression to classify two groups of data.
  • Use EM algorithm to classify MNIST handwritten digits.

Gaussian Process and SVM (link)

  • Apply Gaussian process to predict the distribution of the data points.
  • SVM accuracy:
    • linear kernel: 95.08%
    • rbf kernel: 98.28%
    • linear + rbs kernel: 95.68%

Kernel K-means and Spectral Clustering (link)

  • Apply kernal k-means with different intialization method.
  • Apply spectral clustering (both ratio cut and normalize cut).

Kernel Eigenface and t-SNE (link)

  • face recognition accuracy:
    • K-means: 86.67%
    • PCA: 90%
    • LDA: 76.67%
  • t-sne error: 0.8715
  • s-sne error: 1.6821