Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2. 機器學習簡介

1,393 views

Published on

2. 機器學習簡介

Published in: Engineering
  • Be the first to comment

2. 機器學習簡介

  1. 1. 2. 機器學習簡介 17
  2. 2. Machine learning 是達成AI 的一種方法 從資料當中學習出rules (找到一個夠好的function) 能解決特定的問題 什麼是機器學習? 18 ? X Y f () X Yf() Machine Learning Rule-based: Traditional Rule-based:
  3. 3. Machine Learning is a set of the technique used for the processing of large data by developing algorithms and set of parameters to deliver the required results to the user. In Machine Learning data is fed and set of parameters are executed by the algorithm.. Machine Learning 19 資料+演算法=機器學習
  4. 4. Machine Learning 20
  5. 5. 「監督式學習(Supervised learning) 」 : 我們已經知道資料 所對應的預測目標,如有手寫數字圖形可以對應數字。 Training Set 有y (Label) 「非監督式學習」是我們一開始並不知道y,我們想透過 演算法來將y找出來。例如透過購買行為及個人資料來分 類消費族群。Training Set 沒有y Supervised v.s. Unsupervised 21
  6. 6. Image Dataset 22 Dataset = lots of samples Each sample contains: Features X={x1, x2,…, xk} label=2
  7. 7. 機器學習的問題分類 23
  8. 8. 24 分類 細分類 Features Label (預測目標) 監督式學習 Binary Classification 二元分類 濕度、風向、風速、 季節、氣壓… 只有0與1選項(是非題) 0:不會下雨、1:會下雨 Multi-Class Classification 多元分類 有多個選項(選擇題) 1:晴天、2:雨天、3:陰天、4:下雪 Regression 回歸分析 值是數值(計算題) 溫度可能是 -50~50度的範圍 非監督式學習 Clustering 群集 無label Cluster集群分析;目的是將資料分 成幾個相異性最大的群組,而群 組內的相似程度最高 增強式學習 Q-learning、 TD (Temporal Difference) 增強式學習的原理,藉由定義:動 作(Actions)、狀態(States)、獎勵 (Rewards)的方式,不斷訓練機器 循序漸進,學會執行某項任務的 演算法。
  9. 9. 分類問題 25 特徵提取 分類器 Classifier 特徵向量 (x1,x2,…xn) Versicolor? Sentosa? Virginica ? Load the data with datasets.load_iris() There are 150 records and 4 attributes each. There are 3 different classes
  10. 10. Classification v.s. Clustering 26 分類Classification 分群Clustering
  11. 11. Maine Leaning Algorithm 27
  12. 12. 哪些消費者對農產品有相似的品味? 哪些觀眾喜歡同一類電影? 哪些型號的印表機有相似的故障? 這間變電所在每週的哪幾天有相似的電力需求? 用什麼方法可以自然地將這些文件分成五類? 分群問題的常見例子 28
  13. 13. RL演算法可以用來判斷該採取的行動 RL源於老鼠和人類大腦對懲罰和獎勵的反應機制。 這些演算法會傾全力選出獎勵最高的選項,所以 使用者必須提供一組行動選項,並告訴演算法哪 些選項算好、一般、或很差的行動 一般而言, RL很適合用於需要在無人監督情況下、 完成許多簡單決策自動化系統,例如電梯、電熱 器、冷氣和照明系統。由於增強式學習最初被開 發的目的是用來操縱機器人,任何自動物件也能 使用這套演算法,像是偵查用無人機或掃地機器 人。 增強式學習 (Reinforcement Learning) 29
  14. 14. 大多數的RL可以在沒有資料的情況下開始分析, 這些演算法會收集系統所產生的資料,並從試誤 中不斷學習。 • 我該把廣告放在網頁何處,才能讓讀者最有機會 點到它? • 我該把溫度調高或調低一點,還是維持現狀? • 我該再掃一次客廳還是繼續充電? • 我現在該買入多少股? • 看到黃燈時,我該保持當前速度、煞車還是加速? 增強式學習 30
  15. 15. 機器學習的兩大階段 31
  16. 16. 特徵 X和預測目標Y之間存在一種關係,若找得到 此種關係(Model), 之後帶入X就可以預測Y是什麼 • 例如 Y=WX+B. 其中 W,X,B,Y 可以是個矩陣, 每一列代表 一筆資料,而 每一行則代表其特徵 所謂找出關係就是去建立Model, 而建立Model 靠 大量的資料進行訓練 找到最佳的Model 是一種不斷 Optimize 的過程 ML觀念整理 32
  17. 17. Training Data (訓練資料)給機器去學習,然後丟入 Testing Data (測試資料) 請機器判斷或預測結果 資料集分割 33 train_X test_y train_Y pred_y 產生Model 套入Model Training data Testing data f Predictftest_x 20% 80%
  18. 18. Overfitting ? Underfitting ? 如果你的 model 在 training dataset 表現不錯,但是在 testing dataset 表現卻很差,那就是 overfitting • Overfitting 常常發生在 model 很複雜、有很多參數的時候或是 dataset 裡有很多 noise 或 outlier。使得表現在 training set 的準確率很高,但是在 testing set 的準確率卻很低。 • Underfitting 通常發生在 model 太簡單的時候,其表現就算在 training set 上的 錯誤率也很高。 34
  19. 19. 模型要有泛化的能力,不然就是Overfitting 35 過度的配適,常常會落入過擬合的狀態(Overfitting),就是過度最佳化了
  20. 20. 如何只從「訓練資料(Training data)」找到一組最 合適的參數? 1) 交叉驗證法(Cross Validation) 2) 拔靴驗證法(Bootstrap Validation) 模型performance評估時,「測試資料(Testing data)」絕對不能進到模型內訓練或是找參數。 36 testing dataset 是一組 unseen 的資料,所以 testing set 的評估結果才可以視 為 model 上線後對真實資料的預測能力
  21. 21. 從training data再切出一部份(10~20%)作為 Validation dataset。用 training set 來訓練模型, 而用validation set 來評估模型好壞 Cross-validation 概念 37 train_X train_Y Training data val_X val_Y f 以訓練資料 訓練模型 在訓練過程中 驗證模型
  22. 22. 將資料隨機平均分成k個集合,然後將某一個集 合當做「測試資料(Testing data)」,剩下的k-1個 集合做為「訓練資料(Training data)」,如此重複 進行直到每一個集合都被當做「測試資料(Testing data)」為止。 最後的結果(Predication results)在和真實答案 (ground truth)進行成效比對(Performance Comparison)。 這個隨機分k個集合也是要考慮資料的類別,也 就是說K-fold是從每一類都隨機分割成k個集合, K-Cross Validation 38
  23. 23. K-Cross Validation 39 Test Data 不再是固定的 而是輪流做。故切成K份, 將K回合的驗證結果取平均值, 作為此次Validation 驗證的結果 3-fold cross validation:
  24. 24. Bootstrap Validation 40 In brief, the idea of the bootstrap method is to generate new data from a population by repeated sampling from the original dataset with replacement 沒選中的當Test data
  25. 25. 讓機器透過資料學習到”知識”, 但這是要經過訓練 的, 足夠多的資料及資料Feature 完整性是必要的. 這個知識是一種Model (Function), 你可以餵資料 給Model. 機器用學會的知識來 Predict。Predict 一個可能的數值或者是將資料分類(Classification) 或者是資料分群(Clustering) Summary 41
  26. 26. Summary : Overall flow of machine learning 42 1) Gathering data. 2) Cleaning data. 3) Feature engineering. 4) Defining model. 5) Training, test model and predicting the output.

×