# 機器學習 01:機器學習基礎
###### tags: `ML model`, `Unsupervised Learning`, `KMeans`, `DBSCAN`
## 1. 正規化
- 極值正規化(Min-Max Normalization)
<font size=5>**$v' = \frac{v - Min}{Max - Min}\in[0, 1]$**</font>
- 平均值正規化(Mean Normalization)
<font size=5>**$v' = \frac{v - \bar v}{Max - Min}\in[-1, 1]$**</font>
- Z-Score Normalization
**負數代表低於平均,正數代表高於平均**
<font size=5>**$v' = \frac{v - \bar v}{σ}\in[-1, 1]$**</font>
---
## 2. 距離
- **歐幾里得距離**(Euclidean Distance):空間中兩點的**直線距離**
- **曼哈頓距離**(Manhatten Distance):空間中兩點的**直角距離**
---
## 3. 雜訊處理方法
- 尋找離群值
- 平均值法:樣本數太小會測不到
- 四分位數法:較準確
- 離群值處理方法
- 視為空值
- 天花板/地板法
- 函數校正
---
## 4. 評估指標
- **分類指標**
- **混淆矩陣(confusion matrix)**

1. **True Positive (TP)「真陽性」**:真實情況是「有」,模型說「有」的個數。
2. **True Negative (TN)「真陰性」**:真實情況是「沒有」,模型說「沒有」的個數。
3. **False Positive (FP)「偽陽性」**:真實情況是「沒有」,模型說「有」的個數。
4. **False Negative (FN)「偽陰性」**:真實情況是「有」,模型說「沒有」的個數。
<br>
**相關指標**
1. **Recall(靈敏性, Sensitivity)**<font size=3>**$\begin{gather*} = \frac{TP}{TP+FN}\end{gather*}$**</font>
認出有病的比率%
2. **Precision(精度)**<font size=3>**$\begin{gather*} = \frac{TP}{TP+FP}\end{gather*}$**</font>:
診斷為有病時的正確率%
3. **Specificity(特異性)**<font size=3>**$\begin{gather*} = \frac{TN}{FP+TN}\end{gather*}$**</font>
認出沒病的比率%
4. **F1-score **<font size=3>**$\begin{gather*} = \frac{2}{\frac{1}{Precision}+\frac{1}{Recall}}\end{gather*}$**</font>
- 唯有 recall 和 Precision 都很高時,F1 才會高。
- Precision 和 recall 無法兩者兼得,提升 Precision 必會降低 Recall,反之亦然。
5. **ROC曲線**
以 X 軸為 1-Specificity,Y 軸為 Recall 作圖,並利用曲線下面積(AUC)來判別 ROC 的鑑別力:
- AUC = 0.5 (no discrimination 無鑑別力),對角線。
- 0.7 ≦ AUC ≦ 0.8(acceptable discrimination 可接受的鑑別力)
- 0.8 ≦ AUC ≦ 0.9(excellent discrimination 優良的鑑別力)
- 0.9 ≦ AUC ≦ 1.0(outstanding discrimination 極佳的鑑別力)
<br>

- **迴歸指標**
- **平均絕對誤差(L1 loss, MAE, Mean Absolute Error)**
<font size=5>**$MAE = \sum\limits_{i=1}^{n} \frac{\hat Y_i - Y_i}{n}$**</font>
- **平均平方誤差(L2 loss, MSE, Mean Squared Error)**
<font size=5>**$MSE = \sum\limits_{i=1}^{n} \frac{(\hat Y_i - Y_i)^2}{n}$**</font>
- **方均根誤差(RMSE, Root Mean Squared Error)**
<font size=5>**$RMSE = \sqrt{\sum\limits_{i=1}^{n} \frac{(\hat Y_i - Y_i)^2}{n}}$**</font>
範數指數較大,就越重視大的值,故 RMSE 對離群值的敏感程度比 MAE 高,當離群值按指數減少(常態分佈)時,RMSE 通常是首選。
- **$R^2$**
模型評估指標,0~1 之間,越接近 1 代表模型效果越好。
## 5. 檢定
1. **卡方檢定**:驗證**類別型**欄位與目標關聯性
2. **T檢定**:驗證**數值型**欄位與**二元**目標關聯性
3. **Anova檢定**:驗證**數值型**欄位與**多元**目標關聯性
P.S. p-value < 0.05 為高關聯性(95%信心水準)
---
## 6. 偏差 / 變異度
1. 偏差(bias):當模型有高偏差時,有可能為 underfitting。
2. 變異度(variance):自由度高(複雜度高)的模型可能有高變異度,因此 overfitting。
3. 不可還原誤差(irreducible error):可能是由資料本身的雜訊造成,只能藉由清理資料處理。
---
## Reference
1. 數據挖掘應用案例探討(使用 R 語言)-李玉璽
2. 精通機器學習,使用 Scikit-Learn, Keras 與 Tensorflow-Aurelien Greon
3. https://medium.com/@chih.sheng.huang821/%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E7%B5%B1%E8%A8%88%E6%96%B9%E6%B3%95-%E6%A8%A1%E5%9E%8B%E8%A9%95%E4%BC%B0-%E9%A9%97%E8%AD%89%E6%8C%87%E6%A8%99-b03825ff0814