---
# System prepended metadata

title: Machine Learning
tags: [ML, Python]

---

# Machine Learning
###### tags: `ML` `Python`

* Machine Learning -> 首重 Classification分類

* ML演算法
    * Supervised learning 監督式學習
    * Un-supervised learning 非監督式學習
    * Semi-supervised learning 半監督式學習
    * Reinforcement learning 強化學習

![](https://i.imgur.com/rJNEoiX.png =x360)

---
* Supervised => Labeled Data
    * 人工標記 (全部)
    * 大量標記資料庫
    * 準確性高
    * 耗人工&成本

* Semi-supervised
    * 少部分標記 (部分)
    * 比非監督式佳

* Un-supervised
    * 無標註
    * 機器處理標記 (classification 分類、clustering 分群)
    * 分類 Classification:對未知訊息歸納為已知資訊
    * 分群 Clustering:資料中無明確分類，需透過特徵值劃分
---  
* 非監督式學習 (Un-supervised learning)
    * 分群 Clustering
        * Cluster analysis
    * 生成 Generation

* Generative Adversarial Network (GAN)：生成對抗網路
    * Generator Model 生成模型
    * Discriminator Model 判別模型

* K-means clustering (K-平均: ==非監督==)
    * 距離 (畢氏定理)
    * 隨機

![](https://i.imgur.com/CpSFzi2.png =400x)

* Deep Neural Network
    * Input Layer
    * Hidden Layer
    * Output Layer
---
* ==卷積神經網路==(CNN): Convolutional Neural Network
    * 發展主力方法
    * 適合圖形辨識
    * Convolution Layer
        * Feature Map - 滑動、特徵擷取
    * Pooling Layer
        * Pooled Feature Map - 減少資料量、保留重要資訊
---
* 遞迴神經網路(RNN): Recurrent Neural Network
    * 記憶
    * 先前輸入影響後續輸入
    * 適合時間序列資料
        * 動態影像
        * 文章分析
        * 自然語言
        * 聊天機器人

---
* 常見的「運算思維」要素包括：
    * 拆解（Decomposition）
    * 抽象化（Abstraction）
    * 模擬（Simulation）
    * 演算法（Algorithm）
    * 模型化（Modelling）
    * 樣式辨識（Pattern recognition）
    * 模式的一般化（Pattern generalization）

![](https://i.imgur.com/E7pgz6H.png =x300)

---
* 距離算法
    * Manhattan Distance 曼哈頓

        $D = \lvert X_{1}-X_{2} \rvert + \lvert Y_{1}-Y_{2} \rvert$
    
    * Chebysev Distance 切比雪夫
    
        $D = max(\lvert X_{1}-X_{2} \rvert, \lvert Y_{1}-Y_{2} \rvert)$
    
    * Euclidean Distance 歐式幾何平面
        
        $D = \sqrt{(X_{1}-X_{2})^{2} + (Y_{1}-Y_{2})^{2}}$
