Machine Learning Theory


### ML Theory Notion
|Title|
|:-:|
|[Cross Validation](https://texonom.com/cross-validation-184e7cfc80d6410188922d27ef4ef52c)|
|[Learning Hypothesis](https://texonom.com/learning-hypothesis-a4cc437840df4eb99cb311d1ab836258)|
|[Unknown Target Function](https://texonom.com/unknown-target-function-a71dd16e5b6943f28827e946ace7914b)|
|[Empirical Rule](https://texonom.com/empirical-rule-31cf23b1578c42ab84e160251c3ca38b)|
|[Logistic Multinomial Classification](https://texonom.com/logistic-multinomial-classification-3d7407bc18da4940bdadb5849a8cc3eb)|
|[Maximum Likelihood Estimation](https://texonom.com/maximum-likelihood-estimation-b30e67a4e47b4b7494aa23667adb6acd)|
|[Hyperparameter](https://texonom.com/hyperparameter-ef7e34566add4e98b673d4cef59fca90)|
|[Closed-form Solution](https://texonom.com/closed-form-solution-02dd2781a9334df7ba731da9b9e31ea4)|
|[Automatic Differentiation](https://texonom.com/automatic-differentiation-368d94f0c6d848ff93a2f10f99bd4e01)|
|[Kernel Trick](https://texonom.com/kernel-trick-a3d7cdc0b30d44efbb072a926b0d99aa)|
|[Learning Rate](https://texonom.com/learning-rate-c9a29280131f4f95a6191bde244f6789)|



### Training method


> ![](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff993748a-09c7-4862-a735-c31912d208ba%2FUntitled.png?table=block&id=111475dc-7068-4ed7-b358-eef69b517037&cache=v2)

> # Replay memory
> <details><summary>
> 
> **Why?**</summary>

> Learn each episode only once and throw away => Wasteful (Some episodes are rare or costly to obtain)
> </details>
> 
> <details><summary>
> 
> **Usefulness**</summary>

> 1. the process of credit/blame propagation is sped up 
> 2. an agent would get a chance to refresh what it has learned before
> </details>
> 
> # Self Play
> <details><summary>
> 
> **Why?**</summary>

> 1. Converting compute into data (Data generation!)
> 2. Smooth learning (Always 50% of winning rate)
> </details>
> 





> ### Programming pattern of tranning
> 1. Data Provider – Pre-processing data
> 2. Design model (network) – Define as class 
> 3. Construct loss / optimizer – Using provided APIs 
> 4. Training cycle – Implement for-loop of forward, backward, update

> ![](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F89e9a8a5-1010-4a73-ac6f-06cf1b3bb3e9%2FUntitled.png?table=block&id=2ffed152-4c64-421d-b5ca-dce400fc3101&cache=v2)
> - There are tons of episodes so we multi-processing






