## 機器學習是 ?
實現人工智慧 (Artifical Intelligence) 的方法之一,透過設計的演算法來分析數據,並在學習後進行判斷或決策。
> 如同李弘毅老師所說:
機器學習可以簡單分為三階段:
1. 定義資料集所需要的函數集 (Define a set of function)
2. 透過特定方法去定義不同函數之間的好壞(Goodness of function)
3. 依據第二步去選擇最好的函數 (Pick the best function)
舉例來說,我們必須以以下資料去判斷說未知輸入資料的輸出,
其中已知資料包含 $(2, 10), (9, 31)$,依照剛才簡述的三個步驟,
1. 我們可以定義一個一元一次函數 $y = a \cdot x + b$
2. 透過已知資料,我們可以發現當 $a = 3$ 且 $b = 4$ 時,該函數可以符合已知資料的輸出
3. 當有未知資料 $x = 7$,作為輸入時,我們可以透過此函數去預測,其有可能會有 $y = 25$ 的輸出
## 機器學習與...的距離
* 人工智慧: 機器學習並不等於人工智慧,機器學習只是實現人工智慧的方法之一
* 深度學習: 深度學習是機器學習的一種演算法,輸入資料透過已經訓練好的人工神經網路 (Neural Network) 來分析並給予分類
* 資料科學: 在資料科學領域,我們可以使用機器學習對資料進行分析。但資料科學並不只限於此,如何透過資料或的實際效益也是重點,機器學習只是資料科學的應用之一
<center>
<img src = "https://i.imgur.com/7JdQt9o.png">
<a href="https://commons.wikimedia.org/wiki/File:The_relationship_and_main_types_of_artificial_intelligence,_machine_learning_and_deep_learning.webp">From Wikimedia Commons, the free media repository</a>
</center>
## 機器學習包含哪幾類
機器學習可以分為以下幾類:
1. 監督式學習: 主要透過訓練資料並建立模型,透過以建立模型去預測以新資料為來源的輸出。
其中給定資料皆已標記,即已在每筆輸入資料都有相對預期輸出結果,而這在機器學習可以稱為 **Ground truth**,也就是每筆輸入資料的正確答案
2. 半監督式學習: 僅透過少量標記資料訓練並建立模型
3. 非監督式學習: 與監督式學習相反,必須透過無標記過資料來建立模型,而模型會透過輸入資料來分類
4. 強化學習: 根據環境的互動,來得到所期望之最大效益。在大多數情況下,強化學習會看作是一種馬爾可夫決策過程
其中以**監督式學習**較為普遍,常見的演算法可大致分為分類 (classification) 以及遞迴 (regression)
## 機器學習的演算法有...
主要列舉以下演算法,而粗體字為涵蓋內容
### 監督式學習
- Classification
- Regression
- Linear Regression
- **Polynoimal Regression**
- Support Vector Regression
- Decision tree Regression
- Random Forest Regression
- Ridge Regression
- Lasso Regression
- Logistic Regression
- **Neural Network**
- Perceptron
- Feed Forward Neural Network
- **Multilayer Perceptron**
- **Convolutional Neural Network**
- **Recurrent Neural Network**
- Long short-term memory recurrent neural network
- Sequence to Sequence Models
- **Naive Bayes**
- **Support vector machine**
- **K-Nearest Neighbors**
### 半監督式學習
- Transductive Learning
- Inductive Learning
- Generative Adversarial Network
- Self-training
- Co-training
### 非監督式學習
- **K-means**
- **Autoencoder**
- **Gaussian Mixture Model**
### 強化學習
- Q learning
- **Deep Q-Network**
- Actor-Critic
- Policy Gradient
- Proximal Policy Optimization
## Reference
* [什麼是機器學習?](https://aws.amazon.com/tw/what-is/machine-learning/)
* [ML Lecture 0-1: Introduction of Machine Learning](https://youtu.be/CXgbekl66jc)