Skip to content

Latest commit

 

History

History
92 lines (47 loc) · 2.58 KB

README.md

File metadata and controls

92 lines (47 loc) · 2.58 KB

NYCU_ML2023

Instructors:

  • Prof. Hung: focusing on mathematical background, equation derivation
  • Prof. Chiu: focusing on big picture, key ideas

Textbook: Bishop: Pattern Recognition and Machine Learning

Homework: 7 coding homework, once every other week

Notice: Don’t take this class if you know you won’t have enough time (8-16hrs) or > you won’t spend time on learning.


HW1

Description: Write a program for doing regularized linear regression model (polynomail basis) by closed-form LSE approach, Steepest descent and Netwton's method.

Run: python ./HW1/Linear_regression.py

Notice: Hessian Matrix


HW2

Task1 - Naive Bayes classifier

Description: Create a Naive Bayes classifier for each handwritten digit (MNSIT dataset) that support discrete and continuous.

Run: python ./HW2/Naive_Bayes_Classifier.py

Notice: Distribution of pixel in different mode

Task2 - Online learning

Description: Use online learning to the beta distribution of the parameter p of the coin tossing trails in batch.

Run: python ./HW3/Online_Learning.py

Notice: Conjugate prior of beta distribution


HW3

Task1 - Random Data Generator

Description: Create a generator of Univariate gaussian data and polynomial basis linear model data for the following two task.

Run: python ./HW4/Rand_datagen.py

Notice: Approximate normal distribution in computor

Task2 - Sequential Estimator

Description: Sequential estimate the mean and variance of the squentail data generate from N(m, s)

Run: python ./HW4/Sequntial_estimator.py

Notice: Converage condition (assume we don't know the actual mean and variance)

Task3 - Baysian Linear regression

Description: Complete the baysian linear regression and visualize the process.

Run: python ./HW4/Bayesian_Linear_Regression.py

Notice: Different gaussian distribution type of prior, likelihood, posterior, predictive


HW4

Task1 - Logistic regression

Description: Generate two dataset D1, D2 and seperate them using Newton's method and steepest gradient. Visualize the results then show the confusion matrix and sensitivity and specificity.

Run: python ./HW4/Logistic_regression.py

Notice: the meaning of weights and what does it help for logistic regression

Task2 - EM algorithm

Description: Build an unsupervised learning model using EM algorithm for MNIST dataset classification. Show confusion matrix and sensitivity and specificity.

Run: python ./HW4/EM_algorithm.py

Notice: Cluster mapping