---
# System prepended metadata

title: Machine Learning 101

---

# Machine Learning 101

# Part 1 [Thoracic Surgery Data Data Set](https://archive.ics.uci.edu/ml/datasets/Thoracic+Surgery+Data)
reference dataset [Iris dataset](https://www.kaggle.com/arshid/iris-flower-dataset)

## Linear Regression V.S. Logitsic Regression (numpy)

* optimization methods: least square, gradient decent, stochastic gradient decent
* Learning Rate: different rate 1e-3, 1e-5, 1e-09, 1e-11, 1e-13
    * plot graph compare the loss (Objective/Loss function)
* Epoch: how many epochs for training
* Try to add regulization parameter L1/L2
* Tell me the difference of Linear Regression and Logitsic Regression, why Logitsic Regression is more suitable for classification

### Recommend Structure
* Class
    * Data Reader
        * read train
        * parition train dataset e.g. 80%train, 20validation (for evaluate the performance of the model)
        * read test
        * Faeture Engineering like one-hot encoding, feature selection (determine the importance of the feature) in order to avoid overfitting
    * Model Class
        * init(hyperparamter)
        * fit(x, y)
        * predict(x)
        * save_weigth(filename)
        * load_weigth(filename)

# Part 2 Digit Recognizer [MNIST](https://www.kaggle.com/c/digit-recognizer/data)

## Logitsic Regression V.S. Convolutional Neural Network (pytorch/tensorflow/numpy)

* comparing different parameter/hyperparamter of CNN:
    * filter size
    * number filter
    * number of unit in last layer
    * learning rate
    * number of epochs

# Part 3 [CIFAR 10](https://www.cs.toronto.edu/~kriz/cifar.html)

## Convolutional Neural Network (pytorch/tensorflow/numpy)

* comparing different parameter/hyperparamter of CNN:
    * filter size
    * number filter
    * number of unit in last layer
    * learning rate
    * number of epochs

* Try to use some pretrained model (optional)
    * e.g. [pytorch](https://pytorch.org/hub/pytorch_vision_inception_v3/)
