前言
什麼是機器學習
- 機器學習(Machine Learning),就是利用機器的力量幫忙找出函式。
- Input 可以是
- vector
- matrix
- sequence
- Output 可以是
- Regression
- Classification
- Structed Learning(令機器產生有結構的東西 eg. text, image)
{{< togb “示意圖” >}}

- Input 可以是
什麼是深度學習
- 深度學習(Deep Learning),就是利用神經網路(neural network)的方式來產生函數。
機器如何學習
1. 基本原理(訓練三步驟)

Step 1: 使用合適的 Model
-
- Function with unknown parameters
- Model:
Step 2: 定義 Loss function
- Define loss from training data
- 以 Model 的參數 來計算 Loss
- 物理意義:Loss 愈大代表參數愈不好,Loss 愈小代表參數愈好。
- 計算方法:求估計的值與實際的值(label)之間的差距
- Loss function:
- MAE (mean absolute error):
- MSE (mean square error):
- Cross-entropy: 計算機率分布之間的差距
- Error Surface: 根據不同的參數,計算出 loss 所畫出來的等高線圖。

Step 3: Optimization
- 找到 loss 最小的參數組合
- 方法:Gradient Descent
- : 學習率 learning rate, 決定 gradient descent 的一步有多大步

3. Piecewise Linear Curves(Sigmoid)
- 將 替換成
- 特徵為1時,
- 特徵>1時,
- 意義:一條曲線可以由多個鋸齒狀的線段(hard sigmoid)的總合,我們可以用 sigmoid 函數來逼近 hard sigmoid。事實上,sigmoid 的個數就是神經網路中一層 neuron 的 node 數,至於使用幾個 sigmoid 是 hyper parameter。

可將公式轉成矩陣計算+激勵函數的形式:

batch training

4. ReLU
- 用 hard sigmoid 的方式來表示。
- 其每一個 hard sigmoid 由兩個 Rectified Linear Unit(ReLU) 組成,
- 每一個 ReLU 寫成:
- 故 Model 可以寫成:
- 其中我們選用來逼近的函式,稱為 Activation function。
深度學習
- Neural Network
- Multiple hidden layers -> Deep learning
