# 下學期第一堂社課 : <br>機器學習(1)----Intro
---
## 點名表單

---
# What is machine learning?
當我們有這樣一筆數據時

我們可能會想找出土地面積(左)與房價(右)的關係,
以此**預測**給定面積的房屋價格。
首先,我們將數據描繪在以price為y,
以living area為x的圖表上。
我們可以觀察出x與y之間呈現了某種關係,
可能有條方程式能夠描述。

所以我們現在要做的就是找出這條方程式。
大家高一時應該會學到求這條方程式的方法(二維數據分析那章),
那就是**最小平方法**。
機器學習同理,
一樣是要用統計方法運算,
最後**擬合**出這條直線。

### 機器學習的目標就是**希望推論出一種方法能夠正確地將$X\mapsto Y$**
---
# 學習方法

## Training Set

像上面的土地面積與房價的關係就是訓練集,
通常我們把$x$(土地面積)稱為**feature**,
$y$(房價)稱為**label**。
我們通常將$(x^{(i)}, y^{(i)})$稱作**training example**,
也就是模型用來學習的資料,
$\{(x^{(i)}, y^{(i)}) ; i=1,...,n\}$指的是整個**訓練集**,
上標$(i)$指的是資料的**索引值(index)**。
## Hypothesis
$h$是指**hypothesis**,
也就是機器要算出來(優化)的方程式,
通常我們將$h$表示為:
:::success
$$h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+...\theta_dx_d$$
:::

:::info
紅色那條線就是$h_\theta(x)$
機器學習的目標就是**希望找出$h(x)$能夠正確地將$X\mapsto Y$**。
:::
>
>$\theta$指的是**參數(parameters)**,又叫做**權重(weights)**,
>是在訓練模型時會被調整的係數。
>而$d$是指dimention,即特徵的**維度**。
>特別注意,我們一律**令$x_0=1$**。
以下面數據做為例子,
現在這個訓練集的特徵變成了兩個(土地面積和房間數量),
也就是說特徵的$d=2$,

所以假設要用這筆資料做模型的訓練,
就可以設
$$h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2$$
:::info
$x_1$是放入Living area這個特徵,
而$x_2$是放入bedrooms這個特徵。
:::
接著就是開始訓練、調整$\theta$,
直到$h(x)$可以很好的以$X$預測$Y$。
我們還可以將此式表示為:
$$h(x)=\sum^d_{i=0}\theta_ix_i=\theta^Tx$$
>$\theta^T:$ $\theta$的**轉置矩陣**
>
>:::spoiler What is 轉置矩陣(動畫)
>
>就是把矩陣沿45度角線翻轉
>:::
後面那條等式是把$\theta_ix_i$這樣表示:
$$h(x)=\sum^d_{i=0}\theta_ix_i=\theta^Tx=\begin{bmatrix}
\theta_1\\\theta_2\ \\...\\ \theta_d\end{bmatrix}^T\times\begin{bmatrix}x_1\\x_2\\...\\x_d\end{bmatrix}$$
## Learning Algorithm
learning algorithm是**擬合(優化)方程式的方法**,
我們可以依照任務需求選擇適合的演算法來訓練model,
這會很大程度的影響效率和準確度。

整體而言分成
* Supervised Learning
* Unsupervised Learning
* Semi-supervised Learning
* Reinforcement Learning
細項:

---
### 總之,<br>其實機器學習根本就不是什麼玄奇的科技魔法,<br>只是一台大型的統計計算機罷了。
---
部分圖片來源: Stanford CS229、網路